aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/panel/panel-simple.c
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@linaro.org>2018-10-26 07:13:34 -0400
committerLinus Walleij <linus.walleij@linaro.org>2018-11-02 04:11:20 -0400
commitfcec4163afa5f32a4aa31245a699c743fa33e2e7 (patch)
treee0b2710874dccb9457a580ab7f93af139843542a /drivers/gpu/drm/panel/panel-simple.c
parentbbc97f9501d1a397401172c5f3802709dc0f8fd6 (diff)
drm/panel: Add simple panel mode for the ARM RTSM
Having failed any attempts at a more generic solution, I fall back to the very specific solution: define a simple panel for the ARM RTSM emulated platforms. I am doing this so we can convert all old users from the previous fbdev driver to the PL111 DRM driver. This works fine as far as I can test, provided the device tree for RTSM AEMv8 is augmented accordingly. Cc: Sudeep Holla <sudeep.holla@arm.com> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> Cc: Mali DP Maintainers <malidp@foss.arm.com> Cc: Robin Murphy <robin.murphy@arm.com> Reviewed-by: Liviu Dudau <liviu.dudau@arm.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Link: https://patchwork.freedesktop.org/patch/msgid/20181026111334.3365-1-linus.walleij@linaro.org
Diffstat (limited to 'drivers/gpu/drm/panel/panel-simple.c')
-rw-r--r--drivers/gpu/drm/panel/panel-simple.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
index 90296090340e..07d576d99475 100644
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -2424,6 +2424,33 @@ static const struct panel_desc winstar_wf35ltiacd = {
2424 .bus_format = MEDIA_BUS_FMT_RGB888_1X24, 2424 .bus_format = MEDIA_BUS_FMT_RGB888_1X24,
2425}; 2425};
2426 2426
2427static const struct drm_display_mode arm_rtsm_mode[] = {
2428 {
2429 .clock = 65000,
2430 .hdisplay = 1024,
2431 .hsync_start = 1024 + 24,
2432 .hsync_end = 1024 + 24 + 136,
2433 .htotal = 1024 + 24 + 136 + 160,
2434 .vdisplay = 768,
2435 .vsync_start = 768 + 3,
2436 .vsync_end = 768 + 3 + 6,
2437 .vtotal = 768 + 3 + 6 + 29,
2438 .vrefresh = 60,
2439 .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
2440 },
2441};
2442
2443static const struct panel_desc arm_rtsm = {
2444 .modes = arm_rtsm_mode,
2445 .num_modes = 1,
2446 .bpc = 8,
2447 .size = {
2448 .width = 400,
2449 .height = 300,
2450 },
2451 .bus_format = MEDIA_BUS_FMT_RGB888_1X24,
2452};
2453
2427static const struct of_device_id platform_of_match[] = { 2454static const struct of_device_id platform_of_match[] = {
2428 { 2455 {
2429 .compatible = "ampire,am-480272h3tmqw-t01h", 2456 .compatible = "ampire,am-480272h3tmqw-t01h",
@@ -2432,6 +2459,9 @@ static const struct of_device_id platform_of_match[] = {
2432 .compatible = "ampire,am800480r3tmqwa1h", 2459 .compatible = "ampire,am800480r3tmqwa1h",
2433 .data = &ampire_am800480r3tmqwa1h, 2460 .data = &ampire_am800480r3tmqwa1h,
2434 }, { 2461 }, {
2462 .compatible = "arm,rtsm-display",
2463 .data = &arm_rtsm,
2464 }, {
2435 .compatible = "auo,b101aw03", 2465 .compatible = "auo,b101aw03",
2436 .data = &auo_b101aw03, 2466 .data = &auo_b101aw03,
2437 }, { 2467 }, {