mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-10 12:57:06 +09:00
drm/rockchip: vop: add bt656 and bt1120
Change-Id: Ic1d8f613a3dbeeefa77815693d450d5d10011526 Signed-off-by: Sandy Huang <hjc@rock-chips.com>
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user