diff mbox series

[v2] ARM: dts: iwg22d-sodimm: enable LCD panel

Message ID 1583239490-8837-1-git-send-email-marian-cristian.rotariu.rb@bp.renesas.com (mailing list archive)
State Accepted
Delegated to: Geert Uytterhoeven
Headers show
Series [v2] ARM: dts: iwg22d-sodimm: enable LCD panel | expand

Commit Message

Marian-Cristian Rotariu March 3, 2020, 12:44 p.m. UTC
On the Generic SODIMM Development Platform there is an RGB LCD panel
directly connected to the DU output. It uses the TPU0 as backlight, one
GPIO pull-up configuration for power enable, R[2:7], G[2:7], B[2:7],
VSYNC, HSYNC, DU0_DISP and, DU0_CLK as inputs.

There is no encoder between the DU and the panel, therefore the default
connector driver is used.

The two variants of the iW-G22D should be mutually exclusive, therefore
this patch also disables the RGB LCD display when the HDMI extension board
is used.

Changes for v2:
- fix the backlight of the panel
- remove "simple-panel" compatible as it is not needed
- use only one port for the endpoint connection of the panel

Signed-off-by: Marian-Cristian Rotariu <marian-cristian.rotariu.rb@bp.renesas.com>
---
 .../arm/boot/dts/r8a7745-iwg22d-sodimm-dbhd-ca.dts |  6 +++
 arch/arm/boot/dts/r8a7745-iwg22d-sodimm.dts        | 60 ++++++++++++++++++++++
 2 files changed, 66 insertions(+)

Comments

Geert Uytterhoeven March 6, 2020, 1:03 p.m. UTC | #1
Hi Marian,

On Tue, Mar 3, 2020 at 2:06 PM Marian-Cristian Rotariu
<marian-cristian.rotariu.rb@bp.renesas.com> wrote:
> On the Generic SODIMM Development Platform there is an RGB LCD panel
> directly connected to the DU output. It uses the TPU0 as backlight, one
> GPIO pull-up configuration for power enable, R[2:7], G[2:7], B[2:7],
> VSYNC, HSYNC, DU0_DISP and, DU0_CLK as inputs.
>
> There is no encoder between the DU and the panel, therefore the default
> connector driver is used.
>
> The two variants of the iW-G22D should be mutually exclusive, therefore
> this patch also disables the RGB LCD display when the HDMI extension board
> is used.
>
> Changes for v2:
> - fix the backlight of the panel
> - remove "simple-panel" compatible as it is not needed
> - use only one port for the endpoint connection of the panel

Thanks for the update!

> Signed-off-by: Marian-Cristian Rotariu <marian-cristian.rotariu.rb@bp.renesas.com>

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
i.e. will queue in renesas-devel for v5.7.

Gr{oetje,eeting}s,

                        Geert
Geert Uytterhoeven March 11, 2020, 8:10 a.m. UTC | #2
Hi Marian,

On Tue, Mar 3, 2020 at 2:06 PM Marian-Cristian Rotariu
<marian-cristian.rotariu.rb@bp.renesas.com> wrote:
> On the Generic SODIMM Development Platform there is an RGB LCD panel
> directly connected to the DU output. It uses the TPU0 as backlight, one
> GPIO pull-up configuration for power enable, R[2:7], G[2:7], B[2:7],
> VSYNC, HSYNC, DU0_DISP and, DU0_CLK as inputs.
>
> There is no encoder between the DU and the panel, therefore the default
> connector driver is used.
>
> The two variants of the iW-G22D should be mutually exclusive, therefore
> this patch also disables the RGB LCD display when the HDMI extension board
> is used.
>
> Changes for v2:
> - fix the backlight of the panel
> - remove "simple-panel" compatible as it is not needed
> - use only one port for the endpoint connection of the panel
>
> Signed-off-by: Marian-Cristian Rotariu <marian-cristian.rotariu.rb@bp.renesas.com>

> --- a/arch/arm/boot/dts/r8a7745-iwg22d-sodimm.dts
> +++ b/arch/arm/boot/dts/r8a7745-iwg22d-sodimm.dts

> @@ -150,11 +194,21 @@
>                 function = "avb";
>         };
>
> +       backlight_pins: backlight {
> +               renesas,groups = "tpu_to3_c";
> +               renesas,function = "tpu";
> +       };
> +
>         can0_pins: can0 {
>                 groups = "can0_data";
>                 function = "can0";
>         };
>
> +       du0_pins: du0 {
> +               renesas,groups = "du0_rgb666", "du0_sync", "du0_disp", "du0_clk0_out";
> +               renesas,function = "du0";
> +       };
> +
>         hscif1_pins: hscif1 {
>                 groups = "hscif1_data", "hscif1_ctrl";
>                 function = "hscif1";

As discussed on IRC, I've removed the bogus "renesas," prefixes, and
updated my branches for v5.7.

Thanks for reporting!

Gr{oetje,eeting}s,

                        Geert
Marian-Cristian Rotariu March 11, 2020, 9 a.m. UTC | #3
> As discussed on IRC, I've removed the bogus "renesas," prefixes, and
> updated my branches for v5.7.
> 
> Thanks for reporting!

Thank you for fixing it!

Best regards,
Marian
diff mbox series

Patch

diff --git a/arch/arm/boot/dts/r8a7745-iwg22d-sodimm-dbhd-ca.dts b/arch/arm/boot/dts/r8a7745-iwg22d-sodimm-dbhd-ca.dts
index 2aeebfc..92aa26b 100644
--- a/arch/arm/boot/dts/r8a7745-iwg22d-sodimm-dbhd-ca.dts
+++ b/arch/arm/boot/dts/r8a7745-iwg22d-sodimm-dbhd-ca.dts
@@ -108,6 +108,12 @@ 
 	};
 };
 
+&lcd_panel {
+	status = "disabled";
+
+	/delete-node/ port;
+};
+
 &pfc {
 	can1_pins: can1 {
 		groups = "can1_data_b";
diff --git a/arch/arm/boot/dts/r8a7745-iwg22d-sodimm.dts b/arch/arm/boot/dts/r8a7745-iwg22d-sodimm.dts
index ce6603b..872f8a6 100644
--- a/arch/arm/boot/dts/r8a7745-iwg22d-sodimm.dts
+++ b/arch/arm/boot/dts/r8a7745-iwg22d-sodimm.dts
@@ -30,6 +30,7 @@ 
 
 /dts-v1/;
 #include "r8a7745-iwg22m.dtsi"
+#include <dt-bindings/pwm/pwm.h>
 
 / {
 	model = "iWave Systems RainboW-G22D-SODIMM board based on RZ/G1E";
@@ -79,6 +80,49 @@ 
 		states = <3300000 1
 			  1800000 0>;
 	};
+
+	vccq_panel: regulator-vccq-panel {
+		compatible = "regulator-fixed";
+		regulator-name = "Panel VccQ";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+		gpio = <&gpio1 13 GPIO_ACTIVE_LOW>;
+		enable-active-high;
+	};
+
+	backlight_lcd: backlight {
+		compatible = "pwm-backlight";
+		pwms = <&tpu 3 5000000 PWM_POLARITY_INVERTED>;
+		brightness-levels = <0 4 8 16 32 64 128 255>;
+		default-brightness-level = <7>;
+	};
+
+	lcd_panel: lcd {
+		compatible = "edt,etm043080dh6gp";
+		power-supply = <&vccq_panel>;
+		backlight = <&backlight_lcd>;
+
+		port {
+			lcd_in: endpoint {
+				remote-endpoint = <&du_out_rgb0>;
+			};
+		};
+	};
+};
+
+&du {
+	pinctrl-0 = <&du0_pins>;
+	pinctrl-names = "default";
+
+	status = "okay";
+
+	ports {
+		port@0 {
+			endpoint {
+				remote-endpoint = <&lcd_in>;
+			};
+		};
+	};
 };
 
 &avb {
@@ -150,11 +194,21 @@ 
 		function = "avb";
 	};
 
+	backlight_pins: backlight {
+		renesas,groups = "tpu_to3_c";
+		renesas,function = "tpu";
+	};
+
 	can0_pins: can0 {
 		groups = "can0_data";
 		function = "can0";
 	};
 
+	du0_pins: du0 {
+		renesas,groups = "du0_rgb666", "du0_sync", "du0_disp", "du0_clk0_out";
+		renesas,function = "du0";
+	};
+
 	hscif1_pins: hscif1 {
 		groups = "hscif1_data", "hscif1_ctrl";
 		function = "hscif1";
@@ -230,6 +284,12 @@ 
 	shared-pin;
 };
 
+&tpu {
+	pinctrl-0 = <&backlight_pins>;
+	pinctrl-names = "default";
+	status = "okay";
+};
+
 &usbphy {
 	status = "okay";
 };