diff mbox series

[v4,4/4] arm64: dts: renesas: r9a07g043u11-smarc: Enable DU

Message ID 20240822162320.5084-5-biju.das.jz@bp.renesas.com (mailing list archive)
State Accepted
Delegated to: Geert Uytterhoeven
Headers show
Series Add support for RZ/G2UL Display Unit | expand

Commit Message

Biju Das Aug. 22, 2024, 4:23 p.m. UTC
Enable DU and link with the HDMI add-on board connected with
the parallel connector on RZ/G2UL SMARC EVK.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
---
v3->v4:
 * Restored ports property in du node and port@0 for DPI interface.
v2->v3:
 * Replaced ports->port in du node as it support only DPI output.
v1->v2:
 * No change.
---
 .../boot/dts/renesas/r9a07g043u11-smarc.dts   | 111 ++++++++++++++++++
 1 file changed, 111 insertions(+)

Comments

Geert Uytterhoeven Aug. 23, 2024, 12:32 p.m. UTC | #1
Hi Biju,

On Thu, Aug 22, 2024 at 6:23 PM Biju Das <biju.das.jz@bp.renesas.com> wrote:
> Enable DU and link with the HDMI add-on board connected with
> the parallel connector on RZ/G2UL SMARC EVK.
>
> Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
> ---
> v3->v4:
>  * Restored ports property in du node and port@0 for DPI interface.

Thanks for the update!

> --- a/arch/arm64/boot/dts/renesas/r9a07g043u11-smarc.dts
> +++ b/arch/arm64/boot/dts/renesas/r9a07g043u11-smarc.dts
> @@ -35,4 +35,115 @@
>  / {
>         model = "Renesas SMARC EVK based on r9a07g043u11";
>         compatible = "renesas,smarc-evk", "renesas,r9a07g043u11", "renesas,r9a07g043";
> +
> +       hdmi-out {
> +               compatible = "hdmi-connector";

[...]

> +&i2c1 {
> +       adv7513: adv7513@39 {
> +               compatible = "adi,adv7513";

The HDMI connector and ADV7513 bridge are not present on the SMARC
Carrier board, but on a separate board.  Hence I think this should be
moved to a separate DT overlay .dtso, with a suitable Makefile rule
to build a DTS for SMARC Carrier + HDMI add-on board.

The actual DT description LGTM.

Gr{oetje,eeting}s,

                        Geert
Biju Das Aug. 23, 2024, 12:39 p.m. UTC | #2
Hi Geert,

> -----Original Message-----
> From: Geert Uytterhoeven <geert@linux-m68k.org>
> Sent: Friday, August 23, 2024 1:33 PM
> Subject: Re: [PATCH v4 4/4] arm64: dts: renesas: r9a07g043u11-smarc: Enable DU
> 
> Hi Biju,
> 
> On Thu, Aug 22, 2024 at 6:23 PM Biju Das <biju.das.jz@bp.renesas.com> wrote:
> > Enable DU and link with the HDMI add-on board connected with the
> > parallel connector on RZ/G2UL SMARC EVK.
> >
> > Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
> > ---
> > v3->v4:
> >  * Restored ports property in du node and port@0 for DPI interface.
> 
> Thanks for the update!
> 
> > --- a/arch/arm64/boot/dts/renesas/r9a07g043u11-smarc.dts
> > +++ b/arch/arm64/boot/dts/renesas/r9a07g043u11-smarc.dts
> > @@ -35,4 +35,115 @@
> >  / {
> >         model = "Renesas SMARC EVK based on r9a07g043u11";
> >         compatible = "renesas,smarc-evk", "renesas,r9a07g043u11",
> > "renesas,r9a07g043";
> > +
> > +       hdmi-out {
> > +               compatible = "hdmi-connector";
> 
> [...]
> 
> > +&i2c1 {
> > +       adv7513: adv7513@39 {
> > +               compatible = "adi,adv7513";
> 
> The HDMI connector and ADV7513 bridge are not present on the SMARC Carrier board, but on a separate
> board.  Hence I think this should be moved to a separate DT overlay .dtso, with a suitable Makefile
> rule to build a DTS for SMARC Carrier + HDMI add-on board.

OK, will send DT overlay in the next version. The only reason for sending like this is VLP package using cip kernel
still don't use DT overlay. So, the backporting will be straight forward for the users of VLP package.

Cheers,
Biju

> 
> The actual DT description LGTM.
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/renesas/r9a07g043u11-smarc.dts b/arch/arm64/boot/dts/renesas/r9a07g043u11-smarc.dts
index 8e0107df2d46..233f0c1074d2 100644
--- a/arch/arm64/boot/dts/renesas/r9a07g043u11-smarc.dts
+++ b/arch/arm64/boot/dts/renesas/r9a07g043u11-smarc.dts
@@ -35,4 +35,115 @@ 
 / {
 	model = "Renesas SMARC EVK based on r9a07g043u11";
 	compatible = "renesas,smarc-evk", "renesas,r9a07g043u11", "renesas,r9a07g043";
+
+	hdmi-out {
+		compatible = "hdmi-connector";
+		type = "d";
+
+		port {
+			hdmi_con_out: endpoint {
+				remote-endpoint = <&adv7513_out>;
+			};
+		};
+	};
+};
+
+&du {
+	pinctrl-0 = <&du_pins>;
+	pinctrl-names = "default";
+
+	status = "okay";
+
+	ports {
+		port@0 {
+			du_out_rgb: endpoint {
+				remote-endpoint = <&adv7513_in>;
+			};
+		};
+	};
+};
+
+&i2c1 {
+	adv7513: adv7513@39 {
+		compatible = "adi,adv7513";
+		reg = <0x39>;
+
+		adi,input-depth = <8>;
+		adi,input-colorspace = "rgb";
+		adi,input-clock = "1x";
+
+		avdd-supply = <&reg_1p8v>;
+		dvdd-supply = <&reg_1p8v>;
+		pvdd-supply = <&reg_1p8v>;
+		dvdd-3v-supply = <&reg_3p3v>;
+		bgvdd-supply = <&reg_1p8v>;
+
+		ports {
+			#address-cells = <1>;
+			#size-cells = <0>;
+
+			port@0 {
+				reg = <0>;
+
+				adv7513_in: endpoint {
+					remote-endpoint = <&du_out_rgb>;
+				};
+			};
+
+			port@1 {
+				reg = <1>;
+
+				adv7513_out: endpoint {
+					remote-endpoint = <&hdmi_con_out>;
+				};
+			};
+		};
+	};
+};
+
+&pinctrl {
+	du_pins: du {
+		data {
+			pinmux = <RZG2L_PORT_PINMUX(11, 2, 6)>,
+				 <RZG2L_PORT_PINMUX(13, 1, 6)>,
+				 <RZG2L_PORT_PINMUX(13, 0, 6)>,
+				 <RZG2L_PORT_PINMUX(13, 4, 6)>,
+				 <RZG2L_PORT_PINMUX(13, 3, 6)>,
+				 <RZG2L_PORT_PINMUX(12, 1, 6)>,
+				 <RZG2L_PORT_PINMUX(13, 2, 6)>,
+				 <RZG2L_PORT_PINMUX(14, 0, 6)>,
+				 <RZG2L_PORT_PINMUX(14, 2, 6)>,
+				 <RZG2L_PORT_PINMUX(14, 1, 6)>,
+				 <RZG2L_PORT_PINMUX(16, 0, 6)>,
+				 <RZG2L_PORT_PINMUX(15, 0, 6)>,
+				 <RZG2L_PORT_PINMUX(16, 1, 6)>,
+				 <RZG2L_PORT_PINMUX(15, 1, 6)>,
+				 <RZG2L_PORT_PINMUX(15, 3, 6)>,
+				 <RZG2L_PORT_PINMUX(18, 0, 6)>,
+				 <RZG2L_PORT_PINMUX(15, 2, 6)>,
+				 <RZG2L_PORT_PINMUX(17, 0, 6)>,
+				 <RZG2L_PORT_PINMUX(17, 2, 6)>,
+				 <RZG2L_PORT_PINMUX(17, 1, 6)>,
+				 <RZG2L_PORT_PINMUX(18, 1, 6)>,
+				 <RZG2L_PORT_PINMUX(18, 2, 6)>,
+				 <RZG2L_PORT_PINMUX(17, 3, 6)>,
+				 <RZG2L_PORT_PINMUX(18, 3, 6)>;
+			drive-strength = <2>;
+		};
+
+		sync {
+			pinmux = <RZG2L_PORT_PINMUX(11, 0, 6)>, /* HSYNC */
+				 <RZG2L_PORT_PINMUX(12, 0, 6)>; /* VSYNC */
+			drive-strength = <2>;
+		};
+
+		de {
+			pinmux = <RZG2L_PORT_PINMUX(11, 1, 6)>; /* DE */
+			drive-strength = <2>;
+		};
+
+		clk {
+			pinmux = <RZG2L_PORT_PINMUX(11, 3, 6)>; /* CLK */
+		};
+	};
 };