diff options
Diffstat (limited to 'drivers/gpu/drm/panel/panel-simple.c')
| -rw-r--r-- | drivers/gpu/drm/panel/panel-simple.c | 82 | 
1 files changed, 67 insertions, 15 deletions
diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c index 5591984a392b..cbf1ab404ee7 100644 --- a/drivers/gpu/drm/panel/panel-simple.c +++ b/drivers/gpu/drm/panel/panel-simple.c @@ -581,6 +581,29 @@ static const struct panel_desc auo_b133htn01 = {  	},  }; +static const struct drm_display_mode auo_g104sn02_mode = { +	.clock = 40000, +	.hdisplay = 800, +	.hsync_start = 800 + 40, +	.hsync_end = 800 + 40 + 216, +	.htotal = 800 + 40 + 216 + 128, +	.vdisplay = 600, +	.vsync_start = 600 + 10, +	.vsync_end = 600 + 10 + 35, +	.vtotal = 600 + 10 + 35 + 2, +	.vrefresh = 60, +}; + +static const struct panel_desc auo_g104sn02 = { +	.modes = &auo_g104sn02_mode, +	.num_modes = 1, +	.bpc = 8, +	.size = { +		.width = 211, +		.height = 158, +	}, +}; +  static const struct display_timing auo_g133han01_timings = {  	.pixelclock = { 134000000, 141200000, 149000000 },  	.hactive = { 1920, 1920, 1920 }, @@ -1217,6 +1240,30 @@ static const struct panel_desc innolux_zj070na_01p = {  	},  }; +static const struct display_timing koe_tx31d200vm0baa_timing = { +	.pixelclock = { 39600000, 43200000, 48000000 }, +	.hactive = { 1280, 1280, 1280 }, +	.hfront_porch = { 16, 36, 56 }, +	.hback_porch = { 16, 36, 56 }, +	.hsync_len = { 8, 8, 8 }, +	.vactive = { 480, 480, 480 }, +	.vfront_porch = { 6, 21, 33.5 }, +	.vback_porch = { 6, 21, 33.5 }, +	.vsync_len = { 8, 8, 8 }, +	.flags = DISPLAY_FLAGS_DE_HIGH, +}; + +static const struct panel_desc koe_tx31d200vm0baa = { +	.timings = &koe_tx31d200vm0baa_timing, +	.num_timings = 1, +	.bpc = 6, +	.size = { +		.width = 292, +		.height = 109, +	}, +	.bus_format = MEDIA_BUS_FMT_RGB666_1X7X3_SPWG, +}; +  static const struct display_timing kyo_tcg121xglp_timing = {  	.pixelclock = { 52000000, 65000000, 71000000 },  	.hactive = { 1024, 1024, 1024 }, @@ -1597,7 +1644,7 @@ static const struct panel_desc ontat_yx700wv03 = {  		.width = 154,  		.height = 83,  	}, -	.bus_format = MEDIA_BUS_FMT_RGB888_1X24, +	.bus_format = MEDIA_BUS_FMT_RGB666_1X18,  };  static const struct drm_display_mode ortustech_com43h4m85ulc_mode  = { @@ -1741,23 +1788,22 @@ static const struct panel_desc sharp_lq101k1ly04 = {  	.bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA,  }; -static const struct drm_display_mode sharp_lq123p1jx31_mode = { -	.clock = 252750, -	.hdisplay = 2400, -	.hsync_start = 2400 + 48, -	.hsync_end = 2400 + 48 + 32, -	.htotal = 2400 + 48 + 32 + 80, -	.vdisplay = 1600, -	.vsync_start = 1600 + 3, -	.vsync_end = 1600 + 3 + 10, -	.vtotal = 1600 + 3 + 10 + 33, -	.vrefresh = 60, -	.flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC, +static const struct display_timing sharp_lq123p1jx31_timing = { +	.pixelclock = { 252750000, 252750000, 266604720 }, +	.hactive = { 2400, 2400, 2400 }, +	.hfront_porch = { 48, 48, 48 }, +	.hback_porch = { 80, 80, 84 }, +	.hsync_len = { 32, 32, 32 }, +	.vactive = { 1600, 1600, 1600 }, +	.vfront_porch = { 3, 3, 3 }, +	.vback_porch = { 33, 33, 120 }, +	.vsync_len = { 10, 10, 10 }, +	.flags = DISPLAY_FLAGS_VSYNC_LOW | DISPLAY_FLAGS_HSYNC_LOW,  };  static const struct panel_desc sharp_lq123p1jx31 = { -	.modes = &sharp_lq123p1jx31_mode, -	.num_modes = 1, +	.timings = &sharp_lq123p1jx31_timing, +	.num_timings = 1,  	.bpc = 8,  	.size = {  		.width = 259, @@ -2049,6 +2095,9 @@ static const struct of_device_id platform_of_match[] = {  		.compatible = "auo,b133xtn01",  		.data = &auo_b133xtn01,  	}, { +		.compatible = "auo,g104sn02", +		.data = &auo_g104sn02, +	}, {  		.compatible = "auo,g133han01",  		.data = &auo_g133han01,  	}, { @@ -2124,6 +2173,9 @@ static const struct of_device_id platform_of_match[] = {  		.compatible = "innolux,zj070na-01p",  		.data = &innolux_zj070na_01p,  	}, { +		.compatible = "koe,tx31d200vm0baa", +		.data = &koe_tx31d200vm0baa, +	}, {  		.compatible = "kyo,tcg121xglp",  		.data = &kyo_tcg121xglp,  	}, {  |