drm/panel: Add simple panel mode for the ARM RTSM
authorLinus Walleij <linus.walleij@linaro.org>
Fri, 26 Oct 2018 11:13:34 +0000 (13:13 +0200)
committerLinus Walleij <linus.walleij@linaro.org>
Fri, 2 Nov 2018 08:11:20 +0000 (09:11 +0100)
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
drivers/gpu/drm/panel/panel-simple.c

index 90296090340ed9b5a5098d46fb44075bd824c238..07d576d99475d9b47a6bf16b906062ca14b0a809 100644 (file)
@@ -2424,6 +2424,33 @@ static const struct panel_desc winstar_wf35ltiacd = {
        .bus_format = MEDIA_BUS_FMT_RGB888_1X24,
 };
 
+static const struct drm_display_mode arm_rtsm_mode[] = {
+       {
+               .clock = 65000,
+               .hdisplay = 1024,
+               .hsync_start = 1024 + 24,
+               .hsync_end = 1024 + 24 + 136,
+               .htotal = 1024 + 24 + 136 + 160,
+               .vdisplay = 768,
+               .vsync_start = 768 + 3,
+               .vsync_end = 768 + 3 + 6,
+               .vtotal = 768 + 3 + 6 + 29,
+               .vrefresh = 60,
+               .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
+       },
+};
+
+static const struct panel_desc arm_rtsm = {
+       .modes = arm_rtsm_mode,
+       .num_modes = 1,
+       .bpc = 8,
+       .size = {
+               .width = 400,
+               .height = 300,
+       },
+       .bus_format = MEDIA_BUS_FMT_RGB888_1X24,
+};
+
 static const struct of_device_id platform_of_match[] = {
        {
                .compatible = "ampire,am-480272h3tmqw-t01h",
@@ -2431,6 +2458,9 @@ static const struct of_device_id platform_of_match[] = {
        }, {
                .compatible = "ampire,am800480r3tmqwa1h",
                .data = &ampire_am800480r3tmqwa1h,
+       }, {
+               .compatible = "arm,rtsm-display",
+               .data = &arm_rtsm,
        }, {
                .compatible = "auo,b101aw03",
                .data = &auo_b101aw03,