diff mbox series

arm64: dts: renesas: rzg2l-smarc: Enable ADV7535 on carrier board

Message ID 20221122185802.1853648-1-biju.das.jz@bp.renesas.com
State New
Headers show
Series arm64: dts: renesas: rzg2l-smarc: Enable ADV7535 on carrier board | expand

Commit Message

Biju Das Nov. 22, 2022, 6:58 p.m. UTC
Enable ADV7535 (MIPI DSI Receiver with HDMI Transmitter) on RZ/G2L
SMARC EVK.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
---
 arch/arm64/boot/dts/renesas/rzg2l-smarc.dtsi | 44 ++++++++++++++++++++
 1 file changed, 44 insertions(+)

Comments

Biju Das Dec. 1, 2022, 9:20 a.m. UTC | #1
Hi Geert,

Thanks for the feedback.

> Subject: Re: [PATCH] arm64: dts: renesas: rzg2l-smarc: Enable ADV7535 on
> carrier board
> 
> Hi Biju,
> 
> Thanks for your patch!
> 
> On Tue, Nov 22, 2022 at 8:55 PM Laurent Pinchart
> <laurent.pinchart@ideasonboard.com> wrote:
> > On Tue, Nov 22, 2022 at 07:41:13PM +0000, Biju Das wrote:
> > > > Subject: Re: [PATCH] arm64: dts: renesas: rzg2l-smarc: Enable
> > > > ADV7535 on carrier board On Tue, Nov 22, 2022 at 06:58:02PM +0000,
> > > > Biju Das wrote:
> > > > > Enable ADV7535 (MIPI DSI Receiver with HDMI Transmitter) on
> > > > > RZ/G2L SMARC EVK.
> > > > >
> > > > > Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
> 
> > > > > --- a/arch/arm64/boot/dts/renesas/rzg2l-smarc.dtsi
> > > > > +++ b/arch/arm64/boot/dts/renesas/rzg2l-smarc.dtsi
> 
> > > > > +&i2c1 {
> > > > > + pinctrl-0 = <&i2c1_pins>;
> > > > > + pinctrl-names = "default";
> > > > > +
> > > > > + status = "okay";
> 
> pinctrl and status are already set by rz-smarc-common.dtsi?

OK , will take out this.

> 
> > > > > +
> > > > > + adv7535: hdmi@3d {
> > > > > +         compatible = "adi,adv7535";
> > > > > +         reg = <0x3d>;
> > > > > +
> > > > > +         avdd-supply = <&reg_1p8v>;
> > > > > +         dvdd-supply = <&reg_1p8v>;
> > > > > +         pvdd-supply = <&reg_1p8v>;
> > > > > +         a2vdd-supply = <&reg_1p8v>;
> > > > > +         v3p3-supply = <&reg_3p3v>;
> > > > > +         v1p2-supply = <&reg_1p8v>;
> > > > > +
> > > > > +         adi,dsi-lanes = <4>;
> 
> Missing clocks/clock-names (OSC1, 12 MHz).
OK, will add this.
> Missing interrupts (P2_1).

So far, I am testing with polling mode. OK will add interrupts and test.

> 
> > > > > +
> > > > > +         ports {
> > > > > +                 #address-cells = <1>;
> > > > > +                 #size-cells = <0>;
> > > > > +
> > > >
> > > > How about port@0 ? That's the DSI input, I expect it should be
> > > > connected to the DSI encoder output.
> > >
> > > Yes, I will enable DSI node and link with port@0.  Since both RZ/G2L
> > > and RZ/V2L uses same Carrier board, I need to send binding patch for
> RZ/V2L.
> > >
> > > dts Patches for enabling DSI for RZ/G2L ready. But V2L there is
> dependency on bindings.
> 
> That's just a matter of days, right?

Yes, I have already posted the patch [1]
[1] https://patchwork.kernel.org/project/linux-renesas-soc/patch/20221122195413.1882486-1-biju.das.jz@bp.renesas.com/

> 
> > > If you prefer both ports together, then I can defer this later.
> >
> > It could be easier to review (not to mention testing). I'll let Geert
> > decide.
> 
> Is there any advantage in applying this patch now, i.e. does it enable
> any working functionality?

Currently all display/graphics functionality tested with [3]

The advantage is, 

1) I would like to backport graphics and display functionality to cip kernel [2]
   as most of our customers are using this kernel.

2) we can test ADV driver using i2c read/write command

3) We can test ADV interrupts

4) This will reduce integration effort as we can test full display and graphics
  functionality with [3]

[2] https://git.kernel.org/pub/scm/linux/kernel/git/cip/linux-cip.git/log/?h=linux-5.10.y-cip
[3] https://patchwork.kernel.org/project/linux-renesas-soc/list/?series=698606

Please share your views.

Cheers,
Biju
Geert Uytterhoeven Dec. 1, 2022, 9:51 a.m. UTC | #2
Hi Biju,

On Thu, Dec 1, 2022 at 10:45 AM Biju Das <biju.das.jz@bp.renesas.com> wrote:
> > Subject: Re: [PATCH] arm64: dts: renesas: rzg2l-smarc: Enable ADV7535 on
> > carrier board
> > On Thu, Dec 1, 2022 at 10:20 AM Biju Das <biju.das.jz@bp.renesas.com>
> > wrote:
> > > > Subject: Re: [PATCH] arm64: dts: renesas: rzg2l-smarc: Enable
> > > > ADV7535 on carrier board On Tue, Nov 22, 2022 at 8:55 PM Laurent
> > > > Pinchart <laurent.pinchart@ideasonboard.com> wrote:
> > > > > On Tue, Nov 22, 2022 at 07:41:13PM +0000, Biju Das wrote:
> > > > > > > Subject: Re: [PATCH] arm64: dts: renesas: rzg2l-smarc: Enable
> > > > > > > ADV7535 on carrier board On Tue, Nov 22, 2022 at 06:58:02PM
> > > > > > > +0000, Biju Das wrote:
> > > > > > > > Enable ADV7535 (MIPI DSI Receiver with HDMI Transmitter) on
> > > > > > > > RZ/G2L SMARC EVK.
> > > > > > > >
> > > > > > > > Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
> > > >
> > > > > > > > --- a/arch/arm64/boot/dts/renesas/rzg2l-smarc.dtsi
> > > > > > > > +++ b/arch/arm64/boot/dts/renesas/rzg2l-smarc.dtsi
> >
> > > > > > > > +
> > > > > > > > +         ports {
> > > > > > > > +                 #address-cells = <1>;
> > > > > > > > +                 #size-cells = <0>;
> > > > > > > > +
> > > > > > >
> > > > > > > How about port@0 ? That's the DSI input, I expect it should be
> > > > > > > connected to the DSI encoder output.
> > > > > >
> > > > > > Yes, I will enable DSI node and link with port@0.  Since both
> > > > > > RZ/G2L and RZ/V2L uses same Carrier board, I need to send
> > > > > > binding patch for
> > > > RZ/V2L.
> > > > > >
> > > > > > dts Patches for enabling DSI for RZ/G2L ready. But V2L there is
> > > > dependency on bindings.
> > > >
> > > > That's just a matter of days, right?
> > >
> > >
> > > >
> > > > > > If you prefer both ports together, then I can defer this later.
> > > > >
> > > > > It could be easier to review (not to mention testing). I'll let
> > > > > Geert decide.
> > > >
> > > > Is there any advantage in applying this patch now, i.e. does it
> > > > enable any working functionality?
> > >
> > > Currently all display/graphics functionality tested with [3]
> > >
> > > The advantage is,
> > >
> > > 1) I would like to backport graphics and display functionality to cip
> > kernel [2]
> > >    as most of our customers are using this kernel.
> > >
> > > 2) we can test ADV driver using i2c read/write command
> > >
> > > 3) We can test ADV interrupts
> > >
> > > 4) This will reduce integration effort as we can test full display and
> > graphics
> > >   functionality with [3]
> > >
> > > [2]
> > >
> > > Please share your views.
> >
> > And all of that is working without port@0?
>
> Without port@0, we can only test read/write from ADV 7535 device using i2c commands.

Which you can do without this patch, too, right?

> For full display functionality.
>
> 1) we need port@0 for linking to dsi
>
> and
>
> 2) We need to link dsi with du.

Then please combine this with the dsi.
Thanks!

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
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/renesas/rzg2l-smarc.dtsi b/arch/arm64/boot/dts/renesas/rzg2l-smarc.dtsi
index e180a955b6ac..01ea8759c192 100644
--- a/arch/arm64/boot/dts/renesas/rzg2l-smarc.dtsi
+++ b/arch/arm64/boot/dts/renesas/rzg2l-smarc.dtsi
@@ -16,12 +16,56 @@  aliases {
 		serial1 = &scif2;
 		i2c3 = &i2c3;
 	};
+
+	hdmi-out {
+		compatible = "hdmi-connector";
+		type = "d";
+
+		port {
+			hdmi_con_out: endpoint {
+				remote-endpoint = <&adv7535_out>;
+			};
+		};
+	};
 };
 
 &cpu_dai {
 	sound-dai = <&ssi0>;
 };
 
+&i2c1 {
+	pinctrl-0 = <&i2c1_pins>;
+	pinctrl-names = "default";
+
+	status = "okay";
+
+	adv7535: hdmi@3d {
+		compatible = "adi,adv7535";
+		reg = <0x3d>;
+
+		avdd-supply = <&reg_1p8v>;
+		dvdd-supply = <&reg_1p8v>;
+		pvdd-supply = <&reg_1p8v>;
+		a2vdd-supply = <&reg_1p8v>;
+		v3p3-supply = <&reg_3p3v>;
+		v1p2-supply = <&reg_1p8v>;
+
+		adi,dsi-lanes = <4>;
+
+		ports {
+			#address-cells = <1>;
+			#size-cells = <0>;
+
+			port@1 {
+				reg = <1>;
+				adv7535_out: endpoint {
+					remote-endpoint = <&hdmi_con_out>;
+				};
+			};
+		};
+	};
+};
+
 &i2c3 {
 	pinctrl-0 = <&i2c3_pins>;
 	pinctrl-names = "default";