Add bindings for LCD panels based on the ILITEK ILI9806E RGB controller
connected over SPI and the "ShenZhen New Display Co NDS040480800-V3"
480x800 panel based on it.
Signed-off-by: Luca Ceresoli <[email protected]>
---
.../display/panel/ilitek,ili9806e.yaml | 69 +++++++++++++++++++
MAINTAINERS | 6 ++
2 files changed, 75 insertions(+)
create mode 100644 Documentation/devicetree/bindings/display/panel/ilitek,ili9806e.yaml
diff --git a/Documentation/devicetree/bindings/display/panel/ilitek,ili9806e.yaml b/Documentation/devicetree/bindings/display/panel/ilitek,ili9806e.yaml
new file mode 100644
index 000000000000..42abc6923065
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/panel/ilitek,ili9806e.yaml
@@ -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,ili9806e.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Ilitek ILI9806E display panels
+
+maintainers:
+ - Luca Ceresoli <[email protected]>
+
+description:
+ This binding is for display panels using an Ilitek ILI9806E controller in
+ SPI mode.
+
+allOf:
+ - $ref: panel-common.yaml#
+
+properties:
+ compatible:
+ items:
+ - enum:
+ # ShenZhen New Display Co 3.97" 480x800 RGB a-SI TFT LCD
+ - newdisplay,nds040480800-v3
+ - const: ilitek,ili9806e
+
+ reg: true
+ spi-max-frequency: true
+ reset-gpios: true
+ backlight: true
+ port: true
+
+required:
+ - compatible
+ - reg
+ - port
+
+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 = "newdisplay,nds040480800-v3", "ilitek,ili9806e";
+ reg = <0>;
+ spi-max-frequency = <1000000>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_lcdgpios>;
+ reset-gpios = <&gpio 26 GPIO_ACTIVE_LOW>;
+ backlight = <&backlight>;
+
+ port {
+ ili9806e_in: endpoint {
+ remote-endpoint = <&lcdif_out>;
+ };
+ };
+ };
+ };
+
+...
diff --git a/MAINTAINERS b/MAINTAINERS
index aee340630eca..3c38699ee821 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -6515,6 +6515,12 @@ T: git git://anongit.freedesktop.org/drm/drm-misc
F: Documentation/devicetree/bindings/display/ilitek,ili9486.yaml
F: drivers/gpu/drm/tiny/ili9486.c
+DRM DRIVER FOR ILITEK ILI9806E PANELS
+M: Luca Ceresoli <[email protected]>
+S: Maintained
+T: git git://anongit.freedesktop.org/drm/drm-misc
+F: Documentation/devicetree/bindings/display/panel/ilitek,ili9806e.yaml
+
DRM DRIVER FOR JADARD JD9365DA-H3 MIPI-DSI LCD PANELS
M: Jagan Teki <[email protected]>
S: Maintained
--
2.34.1
Hey Luca,
On Wed, Jul 19, 2023 at 05:21:46PM +0200, Luca Ceresoli wrote:
> Add bindings for LCD panels based on the ILITEK ILI9806E RGB controller
> connected over SPI and the "ShenZhen New Display Co NDS040480800-V3"
> 480x800 panel based on it.
>
> Signed-off-by: Luca Ceresoli <[email protected]>
> ---
> .../display/panel/ilitek,ili9806e.yaml | 69 +++++++++++++++++++
> MAINTAINERS | 6 ++
> 2 files changed, 75 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/display/panel/ilitek,ili9806e.yaml
>
> diff --git a/Documentation/devicetree/bindings/display/panel/ilitek,ili9806e.yaml b/Documentation/devicetree/bindings/display/panel/ilitek,ili9806e.yaml
> new file mode 100644
> index 000000000000..42abc6923065
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/panel/ilitek,ili9806e.yaml
> @@ -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,ili9806e.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Ilitek ILI9806E display panels
> +
> +maintainers:
> + - Luca Ceresoli <[email protected]>
> +
> +description:
> + This binding is for display panels using an Ilitek ILI9806E controller in
> + SPI mode.
I figure you explicitly mention SPI mode here because it also supports
D{P,S}I?
> +
> +allOf:
> + - $ref: panel-common.yaml#
> +
> +properties:
> + compatible:
> + items:
> + - enum:
> + # ShenZhen New Display Co 3.97" 480x800 RGB a-SI TFT LCD
> + - newdisplay,nds040480800-v3
> + - const: ilitek,ili9806e
> +
> + reg: true
> + spi-max-frequency: true
> + reset-gpios: true
> + backlight: true
> + port: true
> +
> +required:
> + - compatible
> + - reg
> + - port
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/gpio/gpio.h>
> +
> + backlight: backlight {
> + compatible = "gpio-backlight";
> + gpios = <&gpio 22 GPIO_ACTIVE_HIGH>;
> + };
> + spi {
Just a nit, a blank line between properties please. Clearly no
respinning needed for that...
Otherwise,
Reviewed-by: Conor Dooley <[email protected]>
Thanks,
Conor.
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + display@0 {
> + compatible = "newdisplay,nds040480800-v3", "ilitek,ili9806e";
> + reg = <0>;
> + spi-max-frequency = <1000000>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_lcdgpios>;
> + reset-gpios = <&gpio 26 GPIO_ACTIVE_LOW>;
> + backlight = <&backlight>;
> +
> + port {
> + ili9806e_in: endpoint {
> + remote-endpoint = <&lcdif_out>;
> + };
> + };
> + };
> + };
> +
> +...
> diff --git a/MAINTAINERS b/MAINTAINERS
> index aee340630eca..3c38699ee821 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -6515,6 +6515,12 @@ T: git git://anongit.freedesktop.org/drm/drm-misc
> F: Documentation/devicetree/bindings/display/ilitek,ili9486.yaml
> F: drivers/gpu/drm/tiny/ili9486.c
>
> +DRM DRIVER FOR ILITEK ILI9806E PANELS
> +M: Luca Ceresoli <[email protected]>
> +S: Maintained
> +T: git git://anongit.freedesktop.org/drm/drm-misc
> +F: Documentation/devicetree/bindings/display/panel/ilitek,ili9806e.yaml
> +
> DRM DRIVER FOR JADARD JD9365DA-H3 MIPI-DSI LCD PANELS
> M: Jagan Teki <[email protected]>
> S: Maintained
> --
> 2.34.1
>
On Wed, Jul 19, 2023 at 05:21:46PM +0200, Luca Ceresoli wrote:
> Add bindings for LCD panels based on the ILITEK ILI9806E RGB controller
> connected over SPI and the "ShenZhen New Display Co NDS040480800-V3"
> 480x800 panel based on it.
>
> Signed-off-by: Luca Ceresoli <[email protected]>
> ---
> .../display/panel/ilitek,ili9806e.yaml | 69 +++++++++++++++++++
> MAINTAINERS | 6 ++
> 2 files changed, 75 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/display/panel/ilitek,ili9806e.yaml
>
> diff --git a/Documentation/devicetree/bindings/display/panel/ilitek,ili9806e.yaml b/Documentation/devicetree/bindings/display/panel/ilitek,ili9806e.yaml
> new file mode 100644
> index 000000000000..42abc6923065
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/panel/ilitek,ili9806e.yaml
> @@ -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,ili9806e.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Ilitek ILI9806E display panels
> +
> +maintainers:
> + - Luca Ceresoli <[email protected]>
> +
> +description:
> + This binding is for display panels using an Ilitek ILI9806E controller in
> + SPI mode.
> +
> +allOf:
> + - $ref: panel-common.yaml#
A SPI device should reference spi-peripheral-props.yaml as well.
> +
> +properties:
> + compatible:
> + items:
> + - enum:
> + # ShenZhen New Display Co 3.97" 480x800 RGB a-SI TFT LCD
> + - newdisplay,nds040480800-v3
> + - const: ilitek,ili9806e
> +
> + reg: true
maxItems: 1
> + spi-max-frequency: true
> + reset-gpios: true
> + backlight: true
> + port: true
Drop all these and ...
> +
> +required:
> + - compatible
> + - reg
> + - port
> +
> +additionalProperties: false
... use "unevaluatedProperties" instead.
> +
> +examples:
> + - |
> + #include <dt-bindings/gpio/gpio.h>
> +
> + backlight: backlight {
> + compatible = "gpio-backlight";
> + gpios = <&gpio 22 GPIO_ACTIVE_HIGH>;
> + };
The exact backlight is outside the scope of this binding and should be
dropped from the example.
> + spi {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + display@0 {
> + compatible = "newdisplay,nds040480800-v3", "ilitek,ili9806e";
> + reg = <0>;
> + spi-max-frequency = <1000000>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_lcdgpios>;
> + reset-gpios = <&gpio 26 GPIO_ACTIVE_LOW>;
> + backlight = <&backlight>;
> +
> + port {
> + ili9806e_in: endpoint {
> + remote-endpoint = <&lcdif_out>;
> + };
> + };
> + };
> + };
> +
> +...
On 19/07/2023 17:21, Luca Ceresoli wrote:
> Add bindings for LCD panels based on the ILITEK ILI9806E RGB controller
> connected over SPI and the "ShenZhen New Display Co NDS040480800-V3"
> 480x800 panel based on it.
> diff --git a/MAINTAINERS b/MAINTAINERS
> index aee340630eca..3c38699ee821 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -6515,6 +6515,12 @@ T: git git://anongit.freedesktop.org/drm/drm-misc
> F: Documentation/devicetree/bindings/display/ilitek,ili9486.yaml
> F: drivers/gpu/drm/tiny/ili9486.c
>
> +DRM DRIVER FOR ILITEK ILI9806E PANELS
> +M: Luca Ceresoli <[email protected]>
> +S: Maintained
> +T: git git://anongit.freedesktop.org/drm/drm-misc
Nope, same for recent one-driver-subsystem. It's like a second try...
You do not have git tree for one driver. The git tree is for subsystem,
not driver.
Best regards,
Krzysztof
Hello Krzysztof,
thanks for reviewing.
On Wed, 19 Jul 2023 21:12:14 +0200
Krzysztof Kozlowski <[email protected]> wrote:
> On 19/07/2023 17:21, Luca Ceresoli wrote:
> > Add bindings for LCD panels based on the ILITEK ILI9806E RGB controller
> > connected over SPI and the "ShenZhen New Display Co NDS040480800-V3"
> > 480x800 panel based on it.
>
>
> > diff --git a/MAINTAINERS b/MAINTAINERS
> > index aee340630eca..3c38699ee821 100644
> > --- a/MAINTAINERS
> > +++ b/MAINTAINERS
> > @@ -6515,6 +6515,12 @@ T: git git://anongit.freedesktop.org/drm/drm-misc
> > F: Documentation/devicetree/bindings/display/ilitek,ili9486.yaml
> > F: drivers/gpu/drm/tiny/ili9486.c
> >
> > +DRM DRIVER FOR ILITEK ILI9806E PANELS
> > +M: Luca Ceresoli <[email protected]>
> > +S: Maintained
> > +T: git git://anongit.freedesktop.org/drm/drm-misc
>
> Nope, same for recent one-driver-subsystem. It's like a second try...
> You do not have git tree for one driver. The git tree is for subsystem,
> not driver.
I see, no problem, I'm removing the T: line in v2.
As this came from copy-pasting another panel driver, should the T: line
be removed from every "DRM DRIVER FOR * PANELS" entry? I could send a
patch to do that, if that makes sense.
Luca
--
Luca Ceresoli, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
Hello Conor,
thanks for reviewing.
On Wed, 19 Jul 2023 17:44:45 +0100
Conor Dooley <[email protected]> wrote:
> Hey Luca,
>
> On Wed, Jul 19, 2023 at 05:21:46PM +0200, Luca Ceresoli wrote:
> > Add bindings for LCD panels based on the ILITEK ILI9806E RGB controller
> > connected over SPI and the "ShenZhen New Display Co NDS040480800-V3"
> > 480x800 panel based on it.
> >
> > Signed-off-by: Luca Ceresoli <[email protected]>
> > ---
> > .../display/panel/ilitek,ili9806e.yaml | 69 +++++++++++++++++++
> > MAINTAINERS | 6 ++
> > 2 files changed, 75 insertions(+)
> > create mode 100644 Documentation/devicetree/bindings/display/panel/ilitek,ili9806e.yaml
> >
> > diff --git a/Documentation/devicetree/bindings/display/panel/ilitek,ili9806e.yaml b/Documentation/devicetree/bindings/display/panel/ilitek,ili9806e.yaml
> > new file mode 100644
> > index 000000000000..42abc6923065
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/display/panel/ilitek,ili9806e.yaml
> > @@ -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,ili9806e.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Ilitek ILI9806E display panels
> > +
> > +maintainers:
> > + - Luca Ceresoli <[email protected]>
> > +
> > +description:
> > + This binding is for display panels using an Ilitek ILI9806E controller in
> > + SPI mode.
>
> I figure you explicitly mention SPI mode here because it also supports
> D{P,S}I?
Exactly, DSI is supported as well by the chip.
> > +allOf:
> > + - $ref: panel-common.yaml#
> > +
> > +properties:
> > + compatible:
> > + items:
> > + - enum:
> > + # ShenZhen New Display Co 3.97" 480x800 RGB a-SI TFT LCD
> > + - newdisplay,nds040480800-v3
> > + - const: ilitek,ili9806e
> > +
> > + reg: true
> > + spi-max-frequency: true
> > + reset-gpios: true
> > + backlight: true
> > + port: true
> > +
> > +required:
> > + - compatible
> > + - reg
> > + - port
> > +
> > +additionalProperties: false
> > +
> > +examples:
> > + - |
> > + #include <dt-bindings/gpio/gpio.h>
> > +
> > + backlight: backlight {
> > + compatible = "gpio-backlight";
> > + gpios = <&gpio 22 GPIO_ACTIVE_HIGH>;
> > + };
> > + spi {
>
> Just a nit, a blank line between properties please. Clearly no
> respinning needed for that...
I agree. This comes from copy-paste from another bindings file so I'm
probably sending a separate series to fix it and avoid the same issue
in the future.
Luca
--
Luca Ceresoli, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
Hello Rob,
thanks for reviewing.
On Wed, 19 Jul 2023 13:02:54 -0600
Rob Herring <[email protected]> wrote:
> On Wed, Jul 19, 2023 at 05:21:46PM +0200, Luca Ceresoli wrote:
> > Add bindings for LCD panels based on the ILITEK ILI9806E RGB controller
> > connected over SPI and the "ShenZhen New Display Co NDS040480800-V3"
> > 480x800 panel based on it.
> >
> > Signed-off-by: Luca Ceresoli <[email protected]>
> > ---
> > .../display/panel/ilitek,ili9806e.yaml | 69 +++++++++++++++++++
> > MAINTAINERS | 6 ++
> > 2 files changed, 75 insertions(+)
> > create mode 100644 Documentation/devicetree/bindings/display/panel/ilitek,ili9806e.yaml
> >
> > diff --git a/Documentation/devicetree/bindings/display/panel/ilitek,ili9806e.yaml b/Documentation/devicetree/bindings/display/panel/ilitek,ili9806e.yaml
> > new file mode 100644
> > index 000000000000..42abc6923065
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/display/panel/ilitek,ili9806e.yaml
> > @@ -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,ili9806e.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Ilitek ILI9806E display panels
> > +
> > +maintainers:
> > + - Luca Ceresoli <[email protected]>
> > +
> > +description:
> > + This binding is for display panels using an Ilitek ILI9806E controller in
> > + SPI mode.
> > +
> > +allOf:
> > + - $ref: panel-common.yaml#
>
> A SPI device should reference spi-peripheral-props.yaml as well.
>
> > +
> > +properties:
> > + compatible:
> > + items:
> > + - enum:
> > + # ShenZhen New Display Co 3.97" 480x800 RGB a-SI TFT LCD
> > + - newdisplay,nds040480800-v3
> > + - const: ilitek,ili9806e
> > +
> > + reg: true
>
> maxItems: 1
>
> > + spi-max-frequency: true
> > + reset-gpios: true
> > + backlight: true
> > + port: true
>
> Drop all these and ...
>
> > +
> > +required:
> > + - compatible
> > + - reg
> > + - port
> > +
> > +additionalProperties: false
>
> ... use "unevaluatedProperties" instead.
>
> > +
> > +examples:
> > + - |
> > + #include <dt-bindings/gpio/gpio.h>
> > +
> > + backlight: backlight {
> > + compatible = "gpio-backlight";
> > + gpios = <&gpio 22 GPIO_ACTIVE_HIGH>;
> > + };
>
> The exact backlight is outside the scope of this binding and should be
> dropped from the example.
As this comes from copy-pasting from the bindings yaml for another
panel, would it be useful if I send a patch to remove it?
Requested changes queued for v2.
Luca
--
Luca Ceresoli, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
On Thu, Jul 20, 2023 at 03:52:38PM +0200, Luca Ceresoli wrote:
> Hello Rob,
>
> thanks for reviewing.
>
> On Wed, 19 Jul 2023 13:02:54 -0600
> Rob Herring <[email protected]> wrote:
>
> > On Wed, Jul 19, 2023 at 05:21:46PM +0200, Luca Ceresoli wrote:
> > > Add bindings for LCD panels based on the ILITEK ILI9806E RGB controller
> > > connected over SPI and the "ShenZhen New Display Co NDS040480800-V3"
> > > 480x800 panel based on it.
> > >
> > > Signed-off-by: Luca Ceresoli <[email protected]>
> > > ---
> > > .../display/panel/ilitek,ili9806e.yaml | 69 +++++++++++++++++++
> > > MAINTAINERS | 6 ++
> > > 2 files changed, 75 insertions(+)
> > > create mode 100644 Documentation/devicetree/bindings/display/panel/ilitek,ili9806e.yaml
> > >
> > > diff --git a/Documentation/devicetree/bindings/display/panel/ilitek,ili9806e.yaml b/Documentation/devicetree/bindings/display/panel/ilitek,ili9806e.yaml
> > > new file mode 100644
> > > index 000000000000..42abc6923065
> > > --- /dev/null
> > > +++ b/Documentation/devicetree/bindings/display/panel/ilitek,ili9806e.yaml
> > > @@ -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,ili9806e.yaml#
> > > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > > +
> > > +title: Ilitek ILI9806E display panels
> > > +
> > > +maintainers:
> > > + - Luca Ceresoli <[email protected]>
> > > +
> > > +description:
> > > + This binding is for display panels using an Ilitek ILI9806E controller in
> > > + SPI mode.
> > > +
> > > +allOf:
> > > + - $ref: panel-common.yaml#
> >
> > A SPI device should reference spi-peripheral-props.yaml as well.
> >
> > > +
> > > +properties:
> > > + compatible:
> > > + items:
> > > + - enum:
> > > + # ShenZhen New Display Co 3.97" 480x800 RGB a-SI TFT LCD
> > > + - newdisplay,nds040480800-v3
> > > + - const: ilitek,ili9806e
> > > +
> > > + reg: true
> >
> > maxItems: 1
> >
> > > + spi-max-frequency: true
> > > + reset-gpios: true
> > > + backlight: true
> > > + port: true
> >
> > Drop all these and ...
> >
> > > +
> > > +required:
> > > + - compatible
> > > + - reg
> > > + - port
> > > +
> > > +additionalProperties: false
> >
> > ... use "unevaluatedProperties" instead.
> >
> > > +
> > > +examples:
> > > + - |
> > > + #include <dt-bindings/gpio/gpio.h>
> > > +
> > > + backlight: backlight {
> > > + compatible = "gpio-backlight";
> > > + gpios = <&gpio 22 GPIO_ACTIVE_HIGH>;
> > > + };
> >
> > The exact backlight is outside the scope of this binding and should be
> > dropped from the example.
>
> As this comes from copy-pasting from the bindings yaml for another
> panel, would it be useful if I send a patch to remove it?
Yes.
Rob