Skip to contentSkip to conversation

gpu: drm: add driver for ili9361 panel

PATCH RESEND In review Daniel Mack 2 participants 4 messages Oct 15, 2021

Subsystems (4)
lore
Share & tools
lore
#0 lore raw

v10 cover gpu: drm: add driver for ili9361 panel

This is v10 of the series.

Resending without changes.

Changelog:

v2 -> v3:
* Turn Documentation into yaml format

v3 -> v4:
* Fix reference error in yaml file

v4 -> v5:
* More yaml file documentation fixes

v5 -> v6:
* More yaml file documentation fixes

v6 -> v7:
* Fix ordering of patches

v7 -> v8:
* More yaml file documentation fixes

v8 -> v9:
* Addressed some minor issues pointed out by Thomas Zimmermann
* Rebased

v9 -> v10:
* Re-apply the yaml file in favour of the txt file

Daniel Mack (2):
dt-bindings: display: add bindings for newhaven,1.8-128160EF drm/tiny: add driver for newhaven,1.8-128160EF

 .../display/panel/ilitek,ili9163.yaml         |  69 ++++++
 drivers/gpu/drm/tiny/Kconfig                  |  13 +
 drivers/gpu/drm/tiny/Makefile                 |   1 +
 drivers/gpu/drm/tiny/ili9163.c                | 224 ++++++++++++++++++
 4 files changed, 307 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/display/panel/ilitek,ili9163.yaml
 create mode 100644 drivers/gpu/drm/tiny/ili9163.c
Signature · 1 line
2.31.1
#1 lore raw

PATCH RESEND v10 1/2 dt-bindings: display: add bindings for newhaven, 1.8-128160EF

This adds documentation for a new ILI9163 based, SPI connected display.

---
 .../display/panel/ilitek,ili9163.yaml         | 69 +++++++++++++++++++
 1 file changed, 69 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/display/panel/ilitek,ili9163.yaml
Documentation/devicetree/bindings/display/panel/ilitek,ili9163.yaml new file +69 -0
new file mode 100644
index 000000000000..7e7a8362b951
@@ -0,0 +1,69 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/display/panel/ilitek,ili9163.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Ilitek ILI9163 display panels device tree bindings
+
+maintainers:
+  - Daniel Mack <[email protected]>
+
+description:
+  This binding is for display panels using an Ilitek ILI9163 controller in SPI
+  mode.
+
+allOf:
+  - $ref: panel-common.yaml#
+
+properties:
+  compatible:
+    items:
+      - enum:
+          - newhaven,1.8-128160EF
+      - const: ilitek,ili9163
+
+  spi-max-frequency:
+    maximum: 32000000
+
+  dc-gpios:
+    maxItems: 1
+    description: Display data/command selection (D/CX)
+
+  backlight: true
+  reg: true
+  reset-gpios: true
+  rotation: true
+
+required:
+  - compatible
+  - reg
+  - dc-gpios
+  - reset-gpios
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/gpio/gpio.h>
+
+    backlight: backlight {
+            compatible = "gpio-backlight";
+            gpios = <&gpio 22 GPIO_ACTIVE_HIGH>;
+    };
+    spi {
+            #address-cells = <1>;
+            #size-cells = <0>;
+
+            display@0 {
+                    compatible = "newhaven,1.8-128160EF", "ilitek,ili9163";
+                    reg = <0>;
+                    spi-max-frequency = <32000000>;
+                    dc-gpios = <&gpio0 24 GPIO_ACTIVE_HIGH>;
+                    reset-gpios = <&gpio0 25 GPIO_ACTIVE_HIGH>;
+                    rotation = <180>;
+                    backlight = <&backlight>;
+            };
+    };
+
+...
Signature · 1 line
2.31.1
#2 lore raw

PATCH RESEND v10 2/2 drm/tiny: add driver for newhaven, 1.8-128160EF

In reply to Daniel Mack

This patch adds support for Newhaven's NHD-1.8-128160EF display, featuring an Ilitek ILI9163 controller.

---
 drivers/gpu/drm/tiny/Kconfig   |  13 ++
 drivers/gpu/drm/tiny/Makefile  |   1 +
 drivers/gpu/drm/tiny/ili9163.c | 224 +++++++++++++++++++++++++++++++++
 3 files changed, 238 insertions(+)
 create mode 100644 drivers/gpu/drm/tiny/ili9163.c
drivers/gpu/drm/tiny/Kconfig +13 -0
index d46f95d9196d..ca2d9255548b 100644
@@ -67,6 +67,19 @@ config TINYDRM_HX8357D
 
 	  If M is selected the module will be called hx8357d.
 
+config TINYDRM_ILI9163
+	tristate "DRM support for ILI9163 display panels"
+	depends on DRM && SPI
+	select BACKLIGHT_CLASS_DEVICE
+	select DRM_KMS_CMA_HELPER
+	select DRM_KMS_HELPER
+	select DRM_MIPI_DBI
+	help
+	  DRM driver for the following Ilitek ILI9163 panels:
+	  * NHD-1.8-128160EF 128x160 TFT
+
+	  If M is selected the module will be called ili9163.
+
 config TINYDRM_ILI9225
 	tristate "DRM support for ILI9225 display panels"
 	depends on DRM && SPI
drivers/gpu/drm/tiny/Makefile +1 -0
index 9cc847e756da..c96c663c3499 100644
@@ -5,6 +5,7 @@ obj-$(CONFIG_DRM_CIRRUS_QEMU)		+= cirrus.o
 obj-$(CONFIG_DRM_GM12U320)		+= gm12u320.o
 obj-$(CONFIG_DRM_SIMPLEDRM)		+= simpledrm.o
 obj-$(CONFIG_TINYDRM_HX8357D)		+= hx8357d.o
+obj-$(CONFIG_TINYDRM_ILI9163)		+= ili9163.o
 obj-$(CONFIG_TINYDRM_ILI9225)		+= ili9225.o
 obj-$(CONFIG_TINYDRM_ILI9341)		+= ili9341.o
 obj-$(CONFIG_TINYDRM_ILI9486)		+= ili9486.o
drivers/gpu/drm/tiny/ili9163.c new file +224 -0

224 lines not on this page · raw message

Signature · 1 line
2.31.1
#3 lore raw
In reply to Daniel Mack

Hi Daniel,

Quoted 3 lines · Daniel Mack

This is v10 of the series.

Resending without changes.

Hmm...

Quoted 21 lines

Changelog:

v2 -> v3:
* Turn Documentation into yaml format

v3 -> v4:
* Fix reference error in yaml file

v4 -> v5:
* More yaml file documentation fixes

v5 -> v6:
* More yaml file documentation fixes

v6 -> v7:
* Fix ordering of patches

v7 -> v8:
* More yaml file documentation fixes

Quoted 6 lines

v8 -> v9:
* Addressed some minor issues pointed out by Thomas Zimmermann
* Rebased

v9 -> v10:
* Re-apply the yaml file in favour of the txt file

Applied to drm-misc-next. I fixed the build doing a change similar to:
https://lore.kernel.org/dri-devel/[email protected]/

And while writing this mail I realised I forgot to amend the changes.

This is the second time this week I push patches that does not build :-( I will stop applying patches for today...

Sam