drm/rockchip: Add support for vop2
Signed-off-by: Andy Yan <andy.yan@rock-chips.com> Signed-off-by: Sandy Huang <hjc@rock-chips.com> Change-Id: I52af209b3a9b85692d0589e1653160d284f4ba9c
This commit is contained in:
parent
cdb300bd81
commit
d040854345
|
|
@ -5,7 +5,7 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
obj-y += rockchip_display.o rockchip_crtc.o rockchip_phy.o rockchip_bridge.o \
|
obj-y += rockchip_display.o rockchip_crtc.o rockchip_phy.o rockchip_bridge.o \
|
||||||
rockchip_vop.o rockchip_vop_reg.o bmp_helper.o
|
rockchip_vop.o rockchip_vop_reg.o rockchip_vop2.o bmp_helper.o
|
||||||
|
|
||||||
obj-$(CONFIG_DRM_MIPI_DSI) += drm_mipi_dsi.o
|
obj-$(CONFIG_DRM_MIPI_DSI) += drm_mipi_dsi.o
|
||||||
obj-$(CONFIG_DRM_ROCKCHIP_DW_MIPI_DSI) += dw_mipi_dsi.o
|
obj-$(CONFIG_DRM_ROCKCHIP_DW_MIPI_DSI) += dw_mipi_dsi.o
|
||||||
|
|
|
||||||
|
|
@ -92,6 +92,11 @@ static const struct rockchip_crtc rk3328_vop_data = {
|
||||||
.data = &rk3328_vop,
|
.data = &rk3328_vop,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static const struct rockchip_crtc rk3568_vop_data = {
|
||||||
|
.funcs = &rockchip_vop2_funcs,
|
||||||
|
.data = &rk3568_vop,
|
||||||
|
};
|
||||||
|
|
||||||
static const struct udevice_id rockchip_vop_ids[] = {
|
static const struct udevice_id rockchip_vop_ids[] = {
|
||||||
{
|
{
|
||||||
.compatible = "rockchip,rk3036-vop",
|
.compatible = "rockchip,rk3036-vop",
|
||||||
|
|
@ -141,6 +146,9 @@ static const struct udevice_id rockchip_vop_ids[] = {
|
||||||
}, {
|
}, {
|
||||||
.compatible = "rockchip,rk3328-vop",
|
.compatible = "rockchip,rk3328-vop",
|
||||||
.data = (ulong)&rk3328_vop_data,
|
.data = (ulong)&rk3328_vop_data,
|
||||||
|
}, {
|
||||||
|
.compatible = "rockchip,rk3568-vop",
|
||||||
|
.data = (ulong)&rk3568_vop_data,
|
||||||
}, { }
|
}, { }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,9 @@ struct rockchip_crtc_funcs {
|
||||||
};
|
};
|
||||||
|
|
||||||
struct vop_data;
|
struct vop_data;
|
||||||
|
struct vop2_data;
|
||||||
extern const struct rockchip_crtc_funcs rockchip_vop_funcs;
|
extern const struct rockchip_crtc_funcs rockchip_vop_funcs;
|
||||||
|
extern const struct rockchip_crtc_funcs rockchip_vop2_funcs;
|
||||||
extern const struct vop_data rk3036_vop;
|
extern const struct vop_data rk3036_vop;
|
||||||
extern const struct vop_data px30_vop_lit;
|
extern const struct vop_data px30_vop_lit;
|
||||||
extern const struct vop_data px30_vop_big;
|
extern const struct vop_data px30_vop_big;
|
||||||
|
|
@ -45,4 +47,5 @@ extern const struct vop_data rk322x_vop;
|
||||||
extern const struct vop_data rk3328_vop;
|
extern const struct vop_data rk3328_vop;
|
||||||
extern const struct vop_data rv1108_vop;
|
extern const struct vop_data rv1108_vop;
|
||||||
extern const struct vop_data rv1126_vop;
|
extern const struct vop_data rv1126_vop;
|
||||||
|
extern const struct vop2_data rk3568_vop;
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,10 @@
|
||||||
#define ROCKCHIP_OUTPUT_DSI_DUAL_CHANNEL BIT(0)
|
#define ROCKCHIP_OUTPUT_DSI_DUAL_CHANNEL BIT(0)
|
||||||
#define ROCKCHIP_OUTPUT_DSI_DUAL_LINK BIT(1)
|
#define ROCKCHIP_OUTPUT_DSI_DUAL_LINK BIT(1)
|
||||||
|
|
||||||
|
#define ROCKCHIP_OUTPUT_DUAL_CHANNEL_LEFT_RIGHT_MODE BIT(0)
|
||||||
|
#define ROCKCHIP_OUTPUT_DUAL_CHANNEL_ODD_EVEN_MODE BIT(1)
|
||||||
|
#define ROCKCHIP_OUTPUT_DATA_SWAP BIT(2)
|
||||||
|
|
||||||
enum data_format {
|
enum data_format {
|
||||||
ROCKCHIP_FMT_ARGB8888 = 0,
|
ROCKCHIP_FMT_ARGB8888 = 0,
|
||||||
ROCKCHIP_FMT_RGB888,
|
ROCKCHIP_FMT_RGB888,
|
||||||
|
|
@ -53,6 +57,20 @@ enum rockchip_mcu_cmd {
|
||||||
/* for use special outface */
|
/* for use special outface */
|
||||||
#define ROCKCHIP_OUT_MODE_AAAA 15
|
#define ROCKCHIP_OUT_MODE_AAAA 15
|
||||||
|
|
||||||
|
#define VOP_OUTPUT_IF_RGB BIT(0)
|
||||||
|
#define VOP_OUTPUT_IF_BT1120 BIT(1)
|
||||||
|
#define VOP_OUTPUT_IF_BT656 BIT(2)
|
||||||
|
#define VOP_OUTPUT_IF_LVDS0 BIT(3)
|
||||||
|
#define VOP_OUTPUT_IF_LVDS1 BIT(4)
|
||||||
|
#define VOP_OUTPUT_IF_MIPI0 BIT(5)
|
||||||
|
#define VOP_OUTPUT_IF_MIPI1 BIT(6)
|
||||||
|
#define VOP_OUTPUT_IF_eDP0 BIT(7)
|
||||||
|
#define VOP_OUTPUT_IF_eDP1 BIT(8)
|
||||||
|
#define VOP_OUTPUT_IF_DP0 BIT(9)
|
||||||
|
#define VOP_OUTPUT_IF_DP1 BIT(10)
|
||||||
|
#define VOP_OUTPUT_IF_HDMI0 BIT(11)
|
||||||
|
#define VOP_OUTPUT_IF_HDMI1 BIT(12)
|
||||||
|
|
||||||
struct rockchip_mcu_timing {
|
struct rockchip_mcu_timing {
|
||||||
int mcu_pix_total;
|
int mcu_pix_total;
|
||||||
int mcu_cs_pst;
|
int mcu_cs_pst;
|
||||||
|
|
@ -122,6 +140,8 @@ struct connector_state {
|
||||||
int output_mode;
|
int output_mode;
|
||||||
int type;
|
int type;
|
||||||
int output_type;
|
int output_type;
|
||||||
|
int output_if;
|
||||||
|
int output_flags;
|
||||||
int color_space;
|
int color_space;
|
||||||
unsigned int bpc;
|
unsigned int bpc;
|
||||||
|
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue