drm/rockchip: vop: add bt656 and bt1120

Change-Id: Ic1d8f613a3dbeeefa77815693d450d5d10011526
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
This commit is contained in:
Sandy Huang
2020-04-01 16:19:35 +08:00
parent 4492caa259
commit 53f64c98a7
2 changed files with 16 additions and 3 deletions

View File

@@ -628,6 +628,8 @@ static bool is_yuv_output(uint32_t bus_format)
case MEDIA_BUS_FMT_YUV10_1X30:
case MEDIA_BUS_FMT_UYYVYY8_0_5X24:
case MEDIA_BUS_FMT_UYYVYY10_0_5X30:
case MEDIA_BUS_FMT_YUYV8_2X8:
case MEDIA_BUS_FMT_YUYV8_1X16:
return true;
default:
return false;
@@ -2861,7 +2863,7 @@ static void vop_crtc_atomic_enable(struct drm_crtc *crtc,
*/
if (vop->lut_active)
vop_crtc_load_lut(crtc);
dclk_inv = (adjusted_mode->flags & DRM_MODE_FLAG_CLKDIV2) ? 0 : 1;
dclk_inv = (adjusted_mode->flags & DRM_MODE_FLAG_PPIXDATA) ? 0 : 1;
VOP_CTRL_SET(vop, dclk_pol, dclk_inv);
val = (adjusted_mode->flags & DRM_MODE_FLAG_NHSYNC) ?
@@ -2885,8 +2887,12 @@ static void vop_crtc_atomic_enable(struct drm_crtc *crtc,
VOP_CTRL_SET(vop, lvds_en, 1);
VOP_CTRL_SET(vop, lvds_pin_pol, val);
VOP_CTRL_SET(vop, lvds_dclk_pol, dclk_inv);
VOP_GRF_SET(vop, grf_dclk_inv, dclk_inv);
VOP_GRF_SET(vop, grf_dclk_inv, !dclk_inv);
if (s->bus_format == MEDIA_BUS_FMT_YUYV8_1X16) {
VOP_CTRL_SET(vop, bt1120_en, 1);
VOP_CTRL_SET(vop, bt1120_yc_swap, 1);
}
break;
case DRM_MODE_CONNECTOR_eDP:
VOP_CTRL_SET(vop, edp_en, 1);

View File

@@ -81,10 +81,11 @@ struct vop_reg_data {
struct vop_reg {
uint32_t mask;
uint32_t offset:12;
uint32_t offset:17;
uint32_t shift:5;
uint32_t begin_minor:4;
uint32_t end_minor:4;
uint32_t reserved:2;
uint32_t major:3;
uint32_t write_mask:1;
};
@@ -239,6 +240,10 @@ struct vop_ctrl {
struct vop_reg mcu_type;
struct vop_reg mcu_rw_bypass_port;
/* bt1120 */
struct vop_reg bt1120_yc_swap;
struct vop_reg bt1120_en;
struct vop_reg reg_done_frm;
struct vop_reg cfg_done;
};
@@ -511,8 +516,10 @@ struct vop_data {
* display output interface supported by rockchip lcdc
*/
#define ROCKCHIP_OUT_MODE_P888 0
#define ROCKCHIP_OUT_MODE_BT1120 0
#define ROCKCHIP_OUT_MODE_P666 1
#define ROCKCHIP_OUT_MODE_P565 2
#define ROCKCHIP_OUT_MODE_BT656 5
#define ROCKCHIP_OUT_MODE_S888 8
#define ROCKCHIP_OUT_MODE_S888_DUMMY 12
#define ROCKCHIP_OUT_MODE_YUV420 14