Message ID | 20211229101530.22783-22-prabhakar.mahadev-lad.rj@bp.renesas.com (mailing list archive) |
---|---|
State | Accepted |
Delegated to: | Pavel Machek |
Headers | show |
Series | Add sound/adc support for RZ/G2L | expand |
Hi! > From: Biju Das <biju.das.jz@bp.renesas.com> > > commit e396d6103343ff95874444bd8a67f031eafe0e38 upstream. > > Enable audio on RZ/G2L SMARC EVK by linking SSI0 with WM8978 > audio CODEC. > +++ b/arch/arm64/boot/dts/renesas/rzg2l-smarc.dtsi > @@ -8,6 +8,19 @@ > #include <dt-bindings/gpio/gpio.h> > #include <dt-bindings/pinctrl/rzg2l-pinctrl.h> > > +/* > + * SSI-WM8978 > + * > + * This command is required when Playback/Capture > + * > + * amixer cset name='Left Input Mixer L2 Switch' on > + * amixer cset name='Right Input Mixer R2 Switch' on > + * amixer cset name='Headphone Playback Volume' 100 > + * amixer cset name='PCM Volume' 100% > + * amixer cset name='Input PGA Volume' 25 "These commands are required for Playback/Capture". > @@ -30,6 +66,14 @@ > }; > }; > > +&audio_clk1{ > + clock-frequency = <11289600>; > +}; > + > +&audio_clk2{ > + clock-frequency = <12288000>; > +}; > + I'd expect spaces before {. (And yes, I'm picking nits here). Best regards, Pavel
Hi Pavel, Thank you for the review. > -----Original Message----- > From: Pavel Machek <pavel@denx.de> > Sent: 30 December 2021 11:02 > To: Prabhakar Mahadev Lad <prabhakar.mahadev-lad.rj@bp.renesas.com> > Cc: cip-dev@lists.cip-project.org; Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp>; Pavel Machek > <pavel@denx.de>; Biju Das <biju.das.jz@bp.renesas.com> > Subject: Re: [PATCH 5.10.y-cip 21/31] arm64: dts: renesas: rzg2l-smarc: Enable audio > > Hi! > > > From: Biju Das <biju.das.jz@bp.renesas.com> > > > > commit e396d6103343ff95874444bd8a67f031eafe0e38 upstream. > > > > Enable audio on RZ/G2L SMARC EVK by linking SSI0 with WM8978 audio > > CODEC. > > > +++ b/arch/arm64/boot/dts/renesas/rzg2l-smarc.dtsi > > @@ -8,6 +8,19 @@ > > #include <dt-bindings/gpio/gpio.h> > > #include <dt-bindings/pinctrl/rzg2l-pinctrl.h> > > > > +/* > > + * SSI-WM8978 > > + * > > + * This command is required when Playback/Capture > > + * > > + * amixer cset name='Left Input Mixer L2 Switch' on > > + * amixer cset name='Right Input Mixer R2 Switch' on > > + * amixer cset name='Headphone Playback Volume' 100 > > + * amixer cset name='PCM Volume' 100% > > + * amixer cset name='Input PGA Volume' 25 > > "These commands are required for Playback/Capture". > Will fix that. > > @@ -30,6 +66,14 @@ > > }; > > }; > > > > +&audio_clk1{ > > + clock-frequency = <11289600>; > > +}; > > + > > +&audio_clk2{ > > + clock-frequency = <12288000>; > > +}; > > + > > I'd expect spaces before {. (And yes, I'm picking nits here). > Ditto. Cheers, Prabhakar
diff --git a/arch/arm64/boot/dts/renesas/rzg2l-smarc.dtsi b/arch/arm64/boot/dts/renesas/rzg2l-smarc.dtsi index 85fd6dbabff2..1791c21dfe74 100644 --- a/arch/arm64/boot/dts/renesas/rzg2l-smarc.dtsi +++ b/arch/arm64/boot/dts/renesas/rzg2l-smarc.dtsi @@ -8,6 +8,19 @@ #include <dt-bindings/gpio/gpio.h> #include <dt-bindings/pinctrl/rzg2l-pinctrl.h> +/* + * SSI-WM8978 + * + * This command is required when Playback/Capture + * + * amixer cset name='Left Input Mixer L2 Switch' on + * amixer cset name='Right Input Mixer R2 Switch' on + * amixer cset name='Headphone Playback Volume' 100 + * amixer cset name='PCM Volume' 100% + * amixer cset name='Input PGA Volume' 25 + * + */ + / { aliases { serial0 = &scif0; @@ -21,6 +34,29 @@ stdout-path = "serial0:115200n8"; }; + audio_mclock: audio_mclock { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <11289600>; + }; + + snd_rzg2l: sound { + compatible = "simple-audio-card"; + simple-audio-card,format = "i2s"; + simple-audio-card,bitclock-master = <&cpu_dai>; + simple-audio-card,frame-master = <&cpu_dai>; + simple-audio-card,mclk-fs = <256>; + + cpu_dai: simple-audio-card,cpu { + sound-dai = <&ssi0>; + }; + + codec_dai: simple-audio-card,codec { + clocks = <&audio_mclock>; + sound-dai = <&wm8978>; + }; + }; + usb0_vbus_otg: regulator-usb0-vbus-otg { compatible = "regulator-fixed"; @@ -30,6 +66,14 @@ }; }; +&audio_clk1{ + clock-frequency = <11289600>; +}; + +&audio_clk2{ + clock-frequency = <12288000>; +}; + &ehci0 { dr_mode = "otg"; status = "okay"; @@ -90,6 +134,9 @@ }; &pinctrl { + pinctrl-0 = <&sound_clk_pins>; + pinctrl-names = "default"; + i2c0_pins: i2c0 { pins = "RIIC0_SDA", "RIIC0_SCL"; input-enable; @@ -110,6 +157,18 @@ <RZG2L_PORT_PINMUX(38, 1, 1)>; /* RxD */ }; + sound_clk_pins: sound_clk { + pins = "AUDIO_CLK1", "AUDIO_CLK2"; + input-enable; + }; + + ssi0_pins: ssi0 { + pinmux = <RZG2L_PORT_PINMUX(45, 0, 1)>, /* BCK */ + <RZG2L_PORT_PINMUX(45, 1, 1)>, /* RCK */ + <RZG2L_PORT_PINMUX(45, 2, 1)>, /* TXD */ + <RZG2L_PORT_PINMUX(45, 3, 1)>; /* RXD */ + }; + usb0_pins: usb0 { pinmux = <RZG2L_PORT_PINMUX(4, 0, 1)>, /* VBUS */ <RZG2L_PORT_PINMUX(5, 0, 1)>, /* OVC */ @@ -128,6 +187,13 @@ status = "okay"; }; +&ssi0 { + pinctrl-0 = <&ssi0_pins>; + pinctrl-names = "default"; + + status = "okay"; +}; + &usb2_phy0 { pinctrl-0 = <&usb0_pins>; pinctrl-names = "default";