diff --git a/drivers/video/drm/rockchip_lvds.c b/drivers/video/drm/rockchip_lvds.c index 698a017158..b5ddb184d2 100644 --- a/drivers/video/drm/rockchip_lvds.c +++ b/drivers/video/drm/rockchip_lvds.c @@ -63,6 +63,8 @@ enum lvds_format { LVDS_8BIT_MODE_FORMAT_2, LVDS_8BIT_MODE_FORMAT_3, LVDS_6BIT_MODE, + LVDS_10BIT_MODE_FORMAT_1, + LVDS_10BIT_MODE_FORMAT_2, }; struct rockchip_lvds; @@ -106,9 +108,14 @@ static int rockchip_lvds_connector_init(struct display_state *state) case MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA: /* jeida-24 */ lvds->format = LVDS_8BIT_MODE_FORMAT_2; break; + case MEDIA_BUS_FMT_RGB101010_1X7X5_JEIDA: /* jeida-30 */ + lvds->format = LVDS_10BIT_MODE_FORMAT_1; case MEDIA_BUS_FMT_RGB666_1X7X3_SPWG: /* vesa-18 */ lvds->format = LVDS_8BIT_MODE_FORMAT_3; break; + case MEDIA_BUS_FMT_RGB101010_1X7X5_SPWG: /* vesa-30 */ + lvds->format = LVDS_10BIT_MODE_FORMAT_2; + break; case MEDIA_BUS_FMT_RGB888_1X7X4_SPWG: /* vesa-24 */ default: lvds->format = LVDS_8BIT_MODE_FORMAT_1; @@ -117,6 +124,11 @@ static int rockchip_lvds_connector_init(struct display_state *state) conn_state->type = DRM_MODE_CONNECTOR_LVDS; conn_state->output_mode = ROCKCHIP_OUT_MODE_P888; + + if ((lvds->format == LVDS_10BIT_MODE_FORMAT_1) || + (lvds->format == LVDS_10BIT_MODE_FORMAT_2)) + conn_state->output_mode = ROCKCHIP_OUT_MODE_AAAA; + conn_state->color_space = V4L2_COLORSPACE_DEFAULT; return 0; diff --git a/include/linux/media-bus-format.h b/include/linux/media-bus-format.h index a5ce8dc74b..bb63436578 100644 --- a/include/linux/media-bus-format.h +++ b/include/linux/media-bus-format.h @@ -34,7 +34,7 @@ #define MEDIA_BUS_FMT_FIXED 0x0001 -/* RGB - next is 0x101c */ +/* RGB - next is 0x1024 */ #define MEDIA_BUS_FMT_RGB444_1X12 0x1016 #define MEDIA_BUS_FMT_RGB444_2X8_PADHI_BE 0x1001 #define MEDIA_BUS_FMT_RGB444_2X8_PADHI_LE 0x1002 @@ -68,6 +68,8 @@ #define MEDIA_BUS_FMT_SRGB888_DUMMY_4X8 0x101f #define MEDIA_BUS_FMT_SBGR888_DUMMY_4X8 0x1020 #define MEDIA_BUS_FMT_SRBG888_DUMMY_4X8 0x1021 +#define MEDIA_BUS_FMT_RGB101010_1X7X5_SPWG 0x1022 +#define MEDIA_BUS_FMT_RGB101010_1X7X5_JEIDA 0x1023 /* YUV (including grey) - next is 0x2026 */ #define MEDIA_BUS_FMT_Y8_1X8 0x2001