diff mbox series

[3/3] arm64: dts: renesas: rzg2lc-smarc: Enable HDMI audio

Message ID 20240725084559.13127-4-biju.das.jz@bp.renesas.com (mailing list archive)
State New, archived
Headers show
Series Add HDMI Audio support | expand

Commit Message

Biju Das July 25, 2024, 8:45 a.m. UTC
Enable HDMI audio on RZ/G2LC SMARC EVK. Set SW 1.5 to OFF
position on the SoM module to turn on HDMI audio.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
---
 .../boot/dts/renesas/r9a07g044c2-smarc.dts    |  3 ++
 arch/arm64/boot/dts/renesas/rzg2lc-smarc.dtsi | 37 +++++++++++++++++++
 2 files changed, 40 insertions(+)

Comments

Geert Uytterhoeven Aug. 23, 2024, 10:02 a.m. UTC | #1
Hi Biju,

On Thu, Jul 25, 2024 at 10:46 AM Biju Das <biju.das.jz@bp.renesas.com> wrote:
> Enable HDMI audio on RZ/G2LC SMARC EVK. Set SW 1.5 to OFF
> position on the SoM module to turn on HDMI audio.
>
> Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>

Thanks for your patch!

> --- a/arch/arm64/boot/dts/renesas/rzg2lc-smarc.dtsi
> +++ b/arch/arm64/boot/dts/renesas/rzg2lc-smarc.dtsi
> @@ -48,10 +58,16 @@ &canfd {
>  };
>  #endif
>
> +#if (!SW_I2S0_I2S1)
>  &cpu_dai {
>         sound-dai = <&ssi0>;
>  };
>
> +&ssi0 {
> +       /delete-node/ port;

Which submode does this delete?
The conditional one below which is only added when SW_I2S0_I2S1==1?

> +};
> +#endif
> +
>  &dsi {
>         status = "okay";
>

> @@ -177,6 +202,18 @@ &ssi0 {
>         pinctrl-names = "default";
>
>         status = "okay";
> +
> +#if (SW_I2S0_I2S1)
> +       i2s2_port: port {
> +               i2s2_cpu_endpoint: endpoint {
> +                       remote-endpoint = <&codec_endpoint>;
> +                       dai-format = "i2s";
> +
> +                       bitclock-master = <&i2s2_cpu_endpoint>;
> +                       frame-master = <&i2s2_cpu_endpoint>;
> +               };
> +       };
> +#endif
>  };
>
>  #if (SW_RSPI_CAN)

The rest LGTM.

Gr{oetje,eeting}s,

                        Geert
Biju Das Aug. 23, 2024, 10:42 a.m. UTC | #2
Hi Geert,

Thanks for the feedback.

> -----Original Message-----
> From: Geert Uytterhoeven <geert@linux-m68k.org>
> Sent: Friday, August 23, 2024 11:02 AM
> Subject: Re: [PATCH 3/3] arm64: dts: renesas: rzg2lc-smarc: Enable HDMI audio
> 
> Hi Biju,
> 
> On Thu, Jul 25, 2024 at 10:46 AM Biju Das <biju.das.jz@bp.renesas.com> wrote:
> > Enable HDMI audio on RZ/G2LC SMARC EVK. Set SW 1.5 to OFF position on
> > the SoM module to turn on HDMI audio.
> >
> > Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
> 
> Thanks for your patch!
> 
> > --- a/arch/arm64/boot/dts/renesas/rzg2lc-smarc.dtsi
> > +++ b/arch/arm64/boot/dts/renesas/rzg2lc-smarc.dtsi
> > @@ -48,10 +58,16 @@ &canfd {
> >  };
> >  #endif
> >
> > +#if (!SW_I2S0_I2S1)
> >  &cpu_dai {
> >         sound-dai = <&ssi0>;
> >  };
> >
> > +&ssi0 {
> > +       /delete-node/ port;
> 
> Which submode does this delete?
> The conditional one below which is only added when SW_I2S0_I2S1==1?

It is not needed. SSIx signal is routed either to Codec
Or HDMI audio based on switch position.

I will send a patch fixing this.

Cheers,
Biju

> 
> > +};
> > +#endif
> > +
> >  &dsi {
> >         status = "okay";
> >
> 
> > @@ -177,6 +202,18 @@ &ssi0 {
> >         pinctrl-names = "default";
> >
> >         status = "okay";
> > +
> > +#if (SW_I2S0_I2S1)
> > +       i2s2_port: port {
> > +               i2s2_cpu_endpoint: endpoint {
> > +                       remote-endpoint = <&codec_endpoint>;
> > +                       dai-format = "i2s";
> > +
> > +                       bitclock-master = <&i2s2_cpu_endpoint>;
> > +                       frame-master = <&i2s2_cpu_endpoint>;
> > +               };
> > +       };
> > +#endif
> >  };
> >
> >  #if (SW_RSPI_CAN)
> 
> The rest LGTM.
> 
> 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/r9a07g044c2-smarc.dts b/arch/arm64/boot/dts/renesas/r9a07g044c2-smarc.dts
index 0b90367b6d1e..ee5bf2c58051 100644
--- a/arch/arm64/boot/dts/renesas/r9a07g044c2-smarc.dts
+++ b/arch/arm64/boot/dts/renesas/r9a07g044c2-smarc.dts
@@ -47,6 +47,9 @@ 
 #error "Cannot set as both PMOD_MTU3 and SW_RSPI_CAN are mutually exclusive"
 #endif
 
+/* Please set SW_I2S0_I2S1. Default value is 0 */
+#define SW_I2S0_I2S1   0
+
 #include "r9a07g044c2.dtsi"
 #include "rzg2lc-smarc-som.dtsi"
 #include "rzg2lc-smarc.dtsi"
diff --git a/arch/arm64/boot/dts/renesas/rzg2lc-smarc.dtsi b/arch/arm64/boot/dts/renesas/rzg2lc-smarc.dtsi
index f21508640b6e..dc5d976e9316 100644
--- a/arch/arm64/boot/dts/renesas/rzg2lc-smarc.dtsi
+++ b/arch/arm64/boot/dts/renesas/rzg2lc-smarc.dtsi
@@ -33,6 +33,16 @@  hdmi_con_out: endpoint {
 			};
 		};
 	};
+
+#if (SW_I2S0_I2S1)
+	/delete-node/ sound;
+
+	sound_card {
+		compatible = "audio-graph-card";
+		label = "HDMI-Audio";
+		dais = <&i2s2_port>;
+	};
+#endif
 };
 
 #if (SW_SCIF_CAN || SW_RSPI_CAN)
@@ -48,10 +58,16 @@  &canfd {
 };
 #endif
 
+#if (!SW_I2S0_I2S1)
 &cpu_dai {
 	sound-dai = <&ssi0>;
 };
 
+&ssi0 {
+	/delete-node/ port;
+};
+#endif
+
 &dsi {
 	status = "okay";
 
@@ -104,6 +120,15 @@  adv7535_out: endpoint {
 					remote-endpoint = <&hdmi_con_out>;
 				};
 			};
+
+#if (SW_I2S0_I2S1)
+			port@2 {
+				reg = <2>;
+				codec_endpoint: endpoint {
+					remote-endpoint = <&i2s2_cpu_endpoint>;
+				};
+			};
+#endif
 		};
 	};
 };
@@ -177,6 +202,18 @@  &ssi0 {
 	pinctrl-names = "default";
 
 	status = "okay";
+
+#if (SW_I2S0_I2S1)
+	i2s2_port: port {
+		i2s2_cpu_endpoint: endpoint {
+			remote-endpoint = <&codec_endpoint>;
+			dai-format = "i2s";
+
+			bitclock-master = <&i2s2_cpu_endpoint>;
+			frame-master = <&i2s2_cpu_endpoint>;
+		};
+	};
+#endif
 };
 
 #if (SW_RSPI_CAN)