2020-03-10 20:42:43

by Prabhakar Mahadev Lad

[permalink] [raw]
Subject: [PATCH v3 0/2] Add LVDS panel support to HiHope RZ/G2M

Dear All,

The HiHope RZ/G2M is advertised as supporting panel idk-1110wr from
Advantech, but the panel doesn't come with the board, it has to purchased
separatey, therefore this series adds panel support to a new DT.

The v2 version somehow missed being merged.

v2->v3
* Included Reviewed-by from Rob and Laurent
* Switched to dual license
* Added myself as the maintainer
* Updated copyright year
* Rebased the patches

v1->v2
* fixed a space according to Geert's feedback.

Thanks,
Prabhakar

Fabrizio Castro (2):
dt-bindings: display: Add idk-1110wr binding
arm64: dts: renesas: Add HiHope RZ/G2M board with idk-1110wr display

.../display/panel/advantech,idk-1110wr.yaml | 69 +++++++++++++++++
arch/arm64/boot/dts/renesas/Makefile | 1 +
.../r8a774a1-hihope-rzg2m-ex-idk-1110wr.dts | 86 ++++++++++++++++++++++
3 files changed, 156 insertions(+)
create mode 100644 Documentation/devicetree/bindings/display/panel/advantech,idk-1110wr.yaml
create mode 100644 arch/arm64/boot/dts/renesas/r8a774a1-hihope-rzg2m-ex-idk-1110wr.dts

--
2.7.4


2020-03-10 20:42:46

by Prabhakar Mahadev Lad

[permalink] [raw]
Subject: [PATCH v3 1/2] dt-bindings: display: Add idk-1110wr binding

From: Fabrizio Castro <[email protected]>

Add binding for the idk-1110wr LVDS panel from Advantech.

Some panel-specific documentation can be found here:
https://buy.advantech.eu/Displays/Embedded-LCD-Kits-LCD-Kit-Modules/model-IDK-1110WR-55WSA1E.htm

Signed-off-by: Fabrizio Castro <[email protected]>
Reviewed-by: Rob Herring <[email protected]>
Reviewed-by: Laurent Pinchart <[email protected]>
Signed-off-by: Lad Prabhakar <[email protected]>
---
.../display/panel/advantech,idk-1110wr.yaml | 69 ++++++++++++++++++++++
1 file changed, 69 insertions(+)
create mode 100644 Documentation/devicetree/bindings/display/panel/advantech,idk-1110wr.yaml

diff --git a/Documentation/devicetree/bindings/display/panel/advantech,idk-1110wr.yaml b/Documentation/devicetree/bindings/display/panel/advantech,idk-1110wr.yaml
new file mode 100644
index 0000000..93878c2
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/panel/advantech,idk-1110wr.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/advantech,idk-1110wr.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Advantech IDK-1110WR 10.1" WSVGA LVDS Display Panel
+
+maintainers:
+ - Lad Prabhakar <[email protected]>
+ - Thierry Reding <[email protected]>
+
+allOf:
+ - $ref: lvds.yaml#
+
+properties:
+ compatible:
+ items:
+ - const: advantech,idk-1110wr
+ - {} # panel-lvds, but not listed here to avoid false select
+
+ data-mapping:
+ const: jeida-24
+
+ width-mm:
+ const: 223
+
+ height-mm:
+ const: 125
+
+ panel-timing: true
+ port: true
+
+additionalProperties: false
+
+required:
+ - compatible
+
+examples:
+ - |+
+ panel {
+ compatible = "advantech,idk-1110wr", "panel-lvds";
+
+ width-mm = <223>;
+ height-mm = <125>;
+
+ data-mapping = "jeida-24";
+
+ panel-timing {
+ /* 1024x600 @60Hz */
+ clock-frequency = <51200000>;
+ hactive = <1024>;
+ vactive = <600>;
+ hsync-len = <240>;
+ hfront-porch = <40>;
+ hback-porch = <40>;
+ vsync-len = <10>;
+ vfront-porch = <15>;
+ vback-porch = <10>;
+ };
+
+ port {
+ panel_in: endpoint {
+ remote-endpoint = <&lvds_encoder>;
+ };
+ };
+ };
+
+...
--
2.7.4

2020-03-10 20:42:58

by Prabhakar Mahadev Lad

[permalink] [raw]
Subject: [PATCH v3 2/2] arm64: dts: renesas: Add HiHope RZ/G2M board with idk-1110wr display

From: Fabrizio Castro <[email protected]>

The HiHope RZ/G2M is advertised as compatible with panel idk-1110wr
from Advantech, however the panel isn't sold alongside the board.
A new dts, adding everything that's required to get the panel to
work the HiHope RZ/G2M, is the most convenient way to support the
HiHope RZ/G2M when it's connected to the idk-1110wr.

Signed-off-by: Fabrizio Castro <[email protected]>
Acked-by: Laurent Pinchart <[email protected]>
Signed-off-by: Lad Prabhakar <[email protected]>
---
arch/arm64/boot/dts/renesas/Makefile | 1 +
.../r8a774a1-hihope-rzg2m-ex-idk-1110wr.dts | 86 ++++++++++++++++++++++
2 files changed, 87 insertions(+)
create mode 100644 arch/arm64/boot/dts/renesas/r8a774a1-hihope-rzg2m-ex-idk-1110wr.dts

diff --git a/arch/arm64/boot/dts/renesas/Makefile b/arch/arm64/boot/dts/renesas/Makefile
index 2153842..82dd245 100644
--- a/arch/arm64/boot/dts/renesas/Makefile
+++ b/arch/arm64/boot/dts/renesas/Makefile
@@ -1,6 +1,7 @@
# SPDX-License-Identifier: GPL-2.0
dtb-$(CONFIG_ARCH_R8A774A1) += r8a774a1-hihope-rzg2m.dtb
dtb-$(CONFIG_ARCH_R8A774A1) += r8a774a1-hihope-rzg2m-ex.dtb
+dtb-$(CONFIG_ARCH_R8A774A1) += r8a774a1-hihope-rzg2m-ex-idk-1110wr.dtb
dtb-$(CONFIG_ARCH_R8A774B1) += r8a774b1-hihope-rzg2n.dtb
dtb-$(CONFIG_ARCH_R8A774B1) += r8a774b1-hihope-rzg2n-ex.dtb
dtb-$(CONFIG_ARCH_R8A774C0) += r8a774c0-cat874.dtb r8a774c0-ek874.dtb \
diff --git a/arch/arm64/boot/dts/renesas/r8a774a1-hihope-rzg2m-ex-idk-1110wr.dts b/arch/arm64/boot/dts/renesas/r8a774a1-hihope-rzg2m-ex-idk-1110wr.dts
new file mode 100644
index 0000000..6033cae
--- /dev/null
+++ b/arch/arm64/boot/dts/renesas/r8a774a1-hihope-rzg2m-ex-idk-1110wr.dts
@@ -0,0 +1,86 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Device Tree Source for the HiHope RZ/G2M sub board connected to an
+ * Advantech IDK-1110WR 10.1" LVDS panel
+ *
+ * Copyright (C) 2020 Renesas Electronics Corp.
+ */
+
+#include "r8a774a1-hihope-rzg2m-ex.dts"
+
+/ {
+ backlight {
+ compatible = "pwm-backlight";
+ pwms = <&pwm0 0 50000>;
+
+ brightness-levels = <0 2 8 16 32 64 128 255>;
+ default-brightness-level = <6>;
+ };
+
+ panel-lvds {
+ compatible = "advantech,idk-1110wr", "panel-lvds";
+
+ width-mm = <223>;
+ height-mm = <125>;
+
+ data-mapping = "jeida-24";
+
+ panel-timing {
+ /* 1024x600 @60Hz */
+ clock-frequency = <51200000>;
+ hactive = <1024>;
+ vactive = <600>;
+ hsync-len = <240>;
+ hfront-porch = <40>;
+ hback-porch = <40>;
+ vfront-porch = <15>;
+ vback-porch = <10>;
+ vsync-len = <10>;
+ };
+
+ port {
+ panel_in: endpoint {
+ remote-endpoint = <&lvds0_out>;
+ };
+ };
+ };
+};
+
+&gpio1 {
+ /*
+ * When GP1_20 is LOW LVDS0 is connected to the LVDS connector
+ * When GP1_20 is HIGH LVDS0 is connected to the LT8918L
+ */
+ lvds-connector-en-gpio {
+ gpio-hog;
+ gpios = <20 GPIO_ACTIVE_HIGH>;
+ output-low;
+ line-name = "lvds-connector-en-gpio";
+ };
+};
+
+&lvds0 {
+ status = "okay";
+
+ ports {
+ port@1 {
+ lvds0_out: endpoint {
+ remote-endpoint = <&panel_in>;
+ };
+ };
+ };
+};
+
+&pfc {
+ pwm0_pins: pwm0 {
+ groups = "pwm0";
+ function = "pwm0";
+ };
+};
+
+&pwm0 {
+ pinctrl-0 = <&pwm0_pins>;
+ pinctrl-names = "default";
+
+ status = "okay";
+};
--
2.7.4

2020-03-11 10:09:51

by Geert Uytterhoeven

[permalink] [raw]
Subject: Re: [PATCH v3 2/2] arm64: dts: renesas: Add HiHope RZ/G2M board with idk-1110wr display

Hi Lad,

On Tue, Mar 10, 2020 at 9:42 PM Lad Prabhakar
<[email protected]> wrote:
> From: Fabrizio Castro <[email protected]>
>
> The HiHope RZ/G2M is advertised as compatible with panel idk-1110wr
> from Advantech, however the panel isn't sold alongside the board.
> A new dts, adding everything that's required to get the panel to
> work the HiHope RZ/G2M, is the most convenient way to support the
> HiHope RZ/G2M when it's connected to the idk-1110wr.
>
> Signed-off-by: Fabrizio Castro <[email protected]>
> Acked-by: Laurent Pinchart <[email protected]>
> Signed-off-by: Lad Prabhakar <[email protected]>

Thanks for picking up this patch!

> --- /dev/null
> +++ b/arch/arm64/boot/dts/renesas/r8a774a1-hihope-rzg2m-ex-idk-1110wr.dts
> @@ -0,0 +1,86 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Device Tree Source for the HiHope RZ/G2M sub board connected to an
> + * Advantech IDK-1110WR 10.1" LVDS panel
> + *
> + * Copyright (C) 2020 Renesas Electronics Corp.
> + */
> +
> +#include "r8a774a1-hihope-rzg2m-ex.dts"
> +
> +/ {
> + backlight {
> + compatible = "pwm-backlight";
> + pwms = <&pwm0 0 50000>;
> +
> + brightness-levels = <0 2 8 16 32 64 128 255>;
> + default-brightness-level = <6>;
> + };
> +
> + panel-lvds {
> + compatible = "advantech,idk-1110wr", "panel-lvds";
> +
> + width-mm = <223>;
> + height-mm = <125>;
> +
> + data-mapping = "jeida-24";
> +
> + panel-timing {
> + /* 1024x600 @60Hz */
> + clock-frequency = <51200000>;
> + hactive = <1024>;
> + vactive = <600>;
> + hsync-len = <240>;
> + hfront-porch = <40>;
> + hback-porch = <40>;
> + vfront-porch = <15>;
> + vback-porch = <10>;
> + vsync-len = <10>;
> + };
> +
> + port {
> + panel_in: endpoint {
> + remote-endpoint = <&lvds0_out>;
> + };
> + };
> + };

I believe the plan was to include the existing
rzg2-advantech-idk-1110wr-panel.dtsi instead, to provide the
panel-lvds node...

> +};
> +
> +&gpio1 {
> + /*
> + * When GP1_20 is LOW LVDS0 is connected to the LVDS connector
> + * When GP1_20 is HIGH LVDS0 is connected to the LT8918L
> + */
> + lvds-connector-en-gpio {
> + gpio-hog;
> + gpios = <20 GPIO_ACTIVE_HIGH>;
> + output-low;
> + line-name = "lvds-connector-en-gpio";
> + };
> +};
> +
> +&lvds0 {
> + status = "okay";
> +
> + ports {
> + port@1 {
> + lvds0_out: endpoint {
> + remote-endpoint = <&panel_in>;
> + };
> + };
> + };
> +};

... and the lvds_connector endpoint configuration.

The rest looks good to me.

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

2020-03-11 10:49:40

by Prabhakar Mahadev Lad

[permalink] [raw]
Subject: RE: [PATCH v3 2/2] arm64: dts: renesas: Add HiHope RZ/G2M board with idk-1110wr display

Hi Geert,

Thank you for the review.

> -----Original Message-----
> From: Geert Uytterhoeven <[email protected]>
> Sent: 11 March 2020 10:08
> To: Prabhakar Mahadev Lad <[email protected]>
> Cc: Thierry Reding <[email protected]>; Sam Ravnborg
> <[email protected]>; David Airlie <[email protected]>; Daniel Vetter
> <[email protected]>; Rob Herring <[email protected]>; Mark Rutland
> <[email protected]>; Magnus Damm <[email protected]>;
> DRI Development <[email protected]>; open list:OPEN
> FIRMWARE AND FLATTENED DEVICE TREE BINDINGS
> <[email protected]>; Linux Kernel Mailing List <linux-
> [email protected]>; Linux-Renesas <linux-renesas-
> [email protected]>
> Subject: Re: [PATCH v3 2/2] arm64: dts: renesas: Add HiHope RZ/G2M board
> with idk-1110wr display
>
> Hi Lad,
>
> On Tue, Mar 10, 2020 at 9:42 PM Lad Prabhakar <prabhakar.mahadev-
> [email protected]> wrote:
> > From: Fabrizio Castro <[email protected]>
> >
> > The HiHope RZ/G2M is advertised as compatible with panel idk-1110wr
> > from Advantech, however the panel isn't sold alongside the board.
> > A new dts, adding everything that's required to get the panel to work
> > the HiHope RZ/G2M, is the most convenient way to support the HiHope
> > RZ/G2M when it's connected to the idk-1110wr.
> >
> > Signed-off-by: Fabrizio Castro <[email protected]>
> > Acked-by: Laurent Pinchart <[email protected]>
> > Signed-off-by: Lad Prabhakar <prabhakar.mahadev-
> [email protected]>
>
> Thanks for picking up this patch!
>
> > --- /dev/null
> > +++ b/arch/arm64/boot/dts/renesas/r8a774a1-hihope-rzg2m-ex-idk-
> 1110wr.
> > +++ dts
> > @@ -0,0 +1,86 @@
> > +// SPDX-License-Identifier: GPL-2.0
> > +/*
> > + * Device Tree Source for the HiHope RZ/G2M sub board connected to an
> > + * Advantech IDK-1110WR 10.1" LVDS panel
> > + *
> > + * Copyright (C) 2020 Renesas Electronics Corp.
> > + */
> > +
> > +#include "r8a774a1-hihope-rzg2m-ex.dts"
> > +
> > +/ {
> > + backlight {
> > + compatible = "pwm-backlight";
> > + pwms = <&pwm0 0 50000>;
> > +
> > + brightness-levels = <0 2 8 16 32 64 128 255>;
> > + default-brightness-level = <6>;
> > + };
> > +
> > + panel-lvds {
> > + compatible = "advantech,idk-1110wr", "panel-lvds";
> > +
> > + width-mm = <223>;
> > + height-mm = <125>;
> > +
> > + data-mapping = "jeida-24";
> > +
> > + panel-timing {
> > + /* 1024x600 @60Hz */
> > + clock-frequency = <51200000>;
> > + hactive = <1024>;
> > + vactive = <600>;
> > + hsync-len = <240>;
> > + hfront-porch = <40>;
> > + hback-porch = <40>;
> > + vfront-porch = <15>;
> > + vback-porch = <10>;
> > + vsync-len = <10>;
> > + };
> > +
> > + port {
> > + panel_in: endpoint {
> > + remote-endpoint = <&lvds0_out>;
> > + };
> > + };
> > + };
>
> I believe the plan was to include the existing rzg2-advantech-idk-1110wr-
> panel.dtsi instead, to provide the panel-lvds node...
>
Ahha missed it, I'll quickly respin the series fixing it.

> > +};
> > +
> > +&gpio1 {
> > + /*
> > + * When GP1_20 is LOW LVDS0 is connected to the LVDS connector
> > + * When GP1_20 is HIGH LVDS0 is connected to the LT8918L
> > + */
> > + lvds-connector-en-gpio {
> > + gpio-hog;
> > + gpios = <20 GPIO_ACTIVE_HIGH>;
> > + output-low;
> > + line-name = "lvds-connector-en-gpio";
> > + };
> > +};
> > +
> > +&lvds0 {
> > + status = "okay";
> > +
> > + ports {
> > + port@1 {
> > + lvds0_out: endpoint {
> > + remote-endpoint = <&panel_in>;
> > + };
> > + };
> > + };
> > +};
>
> ... and the lvds_connector endpoint configuration.
>
Agreed.

Cheers,
--Prabhakar

> The rest looks good to me.
>
> Gr{oetje,eeting}s,
>
> Geert
>
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-
> m68k.org
>
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
> -- Linus Torvalds


Renesas Electronics Europe GmbH, Geschaeftsfuehrer/President: Carsten Jauch, Sitz der Gesellschaft/Registered office: Duesseldorf, Arcadiastrasse 10, 40472 Duesseldorf, Germany, Handelsregister/Commercial Register: Duesseldorf, HRB 3708 USt-IDNr./Tax identification no.: DE 119353406 WEEE-Reg.-Nr./WEEE reg. no.: DE 14978647