Re: [PATCH 5/5] arm64: dts: renesas: r9a08g046l48-smarc: Enable audio

From: Geert Uytterhoeven

Date: Wed May 27 2026 - 12:26:07 EST


Hi Biju,

On Tue, 5 May 2026 at 14:37, Biju <biju.das.au@xxxxxxxxx> wrote:
> From: Biju Das <biju.das.jz@xxxxxxxxxxxxxx>
>
> Enable audio on RZ/G3L SMARC EVK by linking SSI0 with DA7212 audio CODEC.
> The SSI0 signals are multiplexed with SD2 and are selected by a switch
> SW_SD2_EN#. Add regulator nodes regulator-{1p8v,3p3v} to SoM DTSI for
> reuse with eMMC.
>
> Signed-off-by: Biju Das <biju.das.jz@xxxxxxxxxxxxxx>

Thanks for your patch!

> --- a/arch/arm64/boot/dts/renesas/r9a08g046l48-smarc.dts
> +++ b/arch/arm64/boot/dts/renesas/r9a08g046l48-smarc.dts
> @@ -9,6 +9,7 @@
>
> /* Switch selection settings */
> #define RZ_BOOT_MODE3 0
> +#define SW_SD2_EN 0
> #define SW_DPI_EN 0
> #define SW_GPIO4 0
> #define SW_I3C_EN 0
> @@ -38,6 +39,32 @@ aliases {
> i2c3 = &i2c3;
> serial3 = &scif0;
> };
> +
> +#if !SW_SD2_EN

"&& !SW_I3C_EN"...

> + snd_rzg3l: sound {
> + compatible = "simple-audio-card";
> + simple-audio-card,name = "snd_rzg3l";
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + ssi_link_play: simple-audio-card,dai-link@0 {
> + reg = <0>;
> + format = "i2s";
> + bitclock-master = <&cpu_dai>;
> + frame-master = <&cpu_dai>;
> + mclk-fs = <256>;
> +
> + cpu_dai: cpu {
> + sound-dai = <&ssi0>;
> + };
> +
> + codec_dai: codec {
> + sound-dai = <&da7212>;

... as i2c3 where da7212 resides is protected by !SW_I3C_EN.

> + clocks = <&versa3 1>;
> + };
> + };
> + };
> +#endif
> };
>
> &i2c2 {
> @@ -53,6 +80,27 @@ &i2c3 {
> pinctrl-names = "default";
>
> status = "okay";
> +
> + da7212: codec@1a {
> + compatible = "dlg,da7212";
> + reg = <0x1a>;
> +
> + clocks = <&versa3 1>;
> + clock-names = "mclk";
> +
> + #sound-dai-cells = <0>;
> +
> + dlg,micbias1-lvl = <2500>;
> + dlg,micbias2-lvl = <2500>;
> + dlg,dmic-data-sel = "lrise_rfall";
> + dlg,dmic-samplephase = "between_clkedge";
> + dlg,dmic-clkrate = <3000000>;
> +
> + VDDA-supply = <&reg_1p8v>;
> + VDDSP-supply = <&reg_3p3v>;
> + VDDMIC-supply = <&reg_3p3v>;
> + VDDIO-supply = <&reg_1p8v>;
> + };
> };
> #endif

> @@ -85,9 +138,28 @@ scif0_pins: scif0 {
> pins = "SCIF0_TXD", "SCIF0_RXD";
> power-source = <1800>;
> };
> +
> + ssi0_pins: ssi0 {
> + pinmux = <RZG3L_PORT_PINMUX(H, 1, 9)>, /* SSIF0_BCK */
> + <RZG3L_PORT_PINMUX(H, 2, 9)>, /* SSIF0_RCK */
> + <RZG3L_PORT_PINMUX(H, 3, 9)>, /* SSIF0_TXD */
> + <RZG3L_PORT_PINMUX(H, 0, 9)>; /* SSIF0_RXD */

Please sort by pin.

> + };
> };
>
> &scif0 {
> pinctrl-0 = <&scif0_pins>;
> pinctrl-names = "default";
> };

The rest LGTM.

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

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