mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-10 12:57:06 +09:00
drm/rockchip: vop: add dual-channel dsi support
Change-Id: Ibddc064c6c588d0733a238b08b7ba4c5bd4518a2 Signed-off-by: WeiYong Bi <bivvy.bi@rock-chips.com>
This commit is contained in:
@@ -94,6 +94,7 @@ struct rockchip_crtc_state {
|
||||
int dsp_layer_sel;
|
||||
int output_type;
|
||||
int output_mode;
|
||||
int output_flags;
|
||||
int bus_format;
|
||||
};
|
||||
|
||||
|
||||
@@ -1733,6 +1733,10 @@ static void vop_crtc_enable(struct drm_crtc *crtc)
|
||||
VOP_CTRL_SET(vop, mipi_en, 1);
|
||||
VOP_CTRL_SET(vop, mipi_pin_pol, val);
|
||||
VOP_CTRL_SET(vop, mipi_dclk_pol, 1);
|
||||
if (s->output_flags & ROCKCHIP_OUTPUT_DSI_DUAL_CHANNEL)
|
||||
VOP_CTRL_SET(vop, mipi_dual_channel_en, 1);
|
||||
else
|
||||
VOP_CTRL_SET(vop, mipi_dual_channel_en, 0);
|
||||
break;
|
||||
case DRM_MODE_CONNECTOR_DisplayPort:
|
||||
VOP_CTRL_SET(vop, dp_dclk_pol, 0);
|
||||
|
||||
@@ -23,6 +23,8 @@
|
||||
#define VOP_MAJOR(version) ((version) >> 8)
|
||||
#define VOP_MINOR(version) ((version) & 0xff)
|
||||
|
||||
#define ROCKCHIP_OUTPUT_DSI_DUAL_CHANNEL BIT(0)
|
||||
|
||||
#define AFBDC_FMT_RGB565 0x0
|
||||
#define AFBDC_FMT_U8U8U8U8 0x5
|
||||
#define AFBDC_FMT_U8U8U8 0x4
|
||||
@@ -110,6 +112,7 @@ struct vop_ctrl {
|
||||
struct vop_reg edp_en;
|
||||
struct vop_reg hdmi_en;
|
||||
struct vop_reg mipi_en;
|
||||
struct vop_reg mipi_dual_channel_en;
|
||||
struct vop_reg dp_en;
|
||||
struct vop_reg dclk_pol;
|
||||
struct vop_reg pin_pol;
|
||||
|
||||
@@ -196,6 +196,7 @@ static const struct vop_ctrl rk3288_ctrl_data = {
|
||||
.hdmi_en = VOP_REG(RK3288_SYS_CTRL, 0x1, 13),
|
||||
.edp_en = VOP_REG(RK3288_SYS_CTRL, 0x1, 14),
|
||||
.mipi_en = VOP_REG(RK3288_SYS_CTRL, 0x1, 15),
|
||||
.mipi_dual_channel_en = VOP_REG(RK3288_SYS_CTRL, 0x1, 3),
|
||||
.dclk_pol = VOP_REG_VER(RK3288_DSP_CTRL0, 0x1, 7, 3, 0, 1),
|
||||
.pin_pol = VOP_REG_VER(RK3288_DSP_CTRL0, 0x7, 4, 3, 0, 1),
|
||||
.dp_dclk_pol = VOP_REG_VER(RK3368_DSP_CTRL0, 0x1, 19, 3, 0, 1),
|
||||
|
||||
Reference in New Issue
Block a user