OSDN Git Service

drm: tiny: st7735r: Add support for Okaya RH128128T
authorGeert Uytterhoeven <geert+renesas@glider.be>
Wed, 15 Jan 2020 12:45:48 +0000 (13:45 +0100)
committerSam Ravnborg <sam@ravnborg.org>
Sun, 19 Jan 2020 17:07:40 +0000 (18:07 +0100)
Add support for the Okaya RH128128T display to the st7735r driver on
DT-enabled systems.

The RH128128T is a 128x128 1.44" TFT display driven by a Sitronix
ST7715R TFT Controller/Driver.  The latter is very similar to the
ST7735R, and can be handled by the existing st7735r driver.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20200115124548.3951-6-geert+renesas@glider.be
drivers/gpu/drm/tiny/Kconfig
drivers/gpu/drm/tiny/st7735r.c

index a46ac28..a866421 100644 (file)
@@ -85,14 +85,16 @@ config TINYDRM_ST7586
          If M is selected the module will be called st7586.
 
 config TINYDRM_ST7735R
-       tristate "DRM support for Sitronix ST7735R display panels"
+       tristate "DRM support for Sitronix ST7715R/ST7735R display panels"
        depends on DRM && SPI
        select DRM_KMS_HELPER
        select DRM_KMS_CMA_HELPER
        select DRM_MIPI_DBI
        select BACKLIGHT_CLASS_DEVICE
        help
-         DRM driver Sitronix ST7735R with one of the following LCDs:
-         * JD-T18003-T01 1.8" 128x160 TFT
+         DRM driver for Sitronix ST7715R/ST7735R with one of the following
+         LCDs:
+         * Jianda JD-T18003-T01 1.8" 128x160 TFT
+         * Okaya RH128128T 1.44" 128x128 TFT
 
          If M is selected the module will be called st7735r.
index a838f23..32574f1 100644 (file)
@@ -1,6 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0+
 /*
- * DRM driver for Sitronix ST7735R panels
+ * DRM driver for display panels connected to a Sitronix ST7715R or ST7735R
+ * display controller in SPI mode.
  *
  * Copyright 2017 David Lechner <david@lechnology.com>
  * Copyright (C) 2019 Glider bvba
@@ -144,6 +145,11 @@ static const struct st7735r_cfg jd_t18003_t01_cfg = {
        .write_only     = true,
 };
 
+static const struct st7735r_cfg rh128128t_cfg = {
+       .mode           = { DRM_SIMPLE_MODE(128, 128, 25, 26) },
+       .left_offset    = 2,
+       .top_offset     = 3,
+       .rgb            = true,
 };
 
 DEFINE_DRM_GEM_CMA_FOPS(st7735r_fops);
@@ -163,6 +169,7 @@ static struct drm_driver st7735r_driver = {
 
 static const struct of_device_id st7735r_of_match[] = {
        { .compatible = "jianda,jd-t18003-t01", .data = &jd_t18003_t01_cfg },
+       { .compatible = "okaya,rh128128t", .data = &rh128128t_cfg },
        { },
 };
 MODULE_DEVICE_TABLE(of, st7735r_of_match);