Re: [PATCH RFC] arm64: dts: allwinner: a523: Add SPDIF to x96qproplus device
Chen-Yu Tsai <[email protected]>
| Newsgroups | dev.linux.lists.linux-sunxi,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <CAGb2v64rRipC9VV5QyHC0nR4rAho8q=wX0ngVVxRND3xMOnofA@mail.gmail.com> |
On Sun, Jul 19, 2026 at 11:10 AM Per Larsson <[email protected]> wrote: > > When spdif support was added for the Allwinner A523 family of SoCs, only > two of the three possible pins were added to the dtsi, since the third > would clash with the first ethernet port (emac0) > However, some devices don't use emac0 and instead use emac1 for the only > available ethernet port, leaving the pin free to use for spdif. > > Add it to the dtsi, and to such a device where this pin is used for spdif > > Signed-off-by: Per Larsson <[email protected]> > --- > Marking this as RFC for a few reasons > 1. This is my first submission, hoping everything is properly organized. This is pretty good. The commit message is also well written. I would like to see the patch split into two patches though. The first adds the pinmux (and you can mention in the commit message that a subsequent patch will reference it). The second patch enables SPDIF on the device you have. > 2. My testing setup is not the best: I get sound with this patch, but > the pulseaudio daemon needs to be restarted far too often. > Hopefully it's just something on this minirootfs. Testing welcome. > 3. Not sure where to get the hash for a fixes tag or if that's even OK This is a new addition, not a fix, so no fixes tag is warranted. Thanks ChenYu > --- > .../arm64/boot/dts/allwinner/sun55i-a523.dtsi | 7 ++++++ > .../dts/allwinner/sun55i-h728-x96qpro+.dts | 24 +++++++++++++++++++ > 2 files changed, 31 insertions(+) > > diff --git a/arch/arm64/boot/dts/allwinner/sun55i-a523.dtsi b/arch/arm64/boot/dts/allwinner/sun55i-a523.dtsi > index ca6a16807049..7370e8ed24ec 100644 > --- a/arch/arm64/boot/dts/allwinner/sun55i-a523.dtsi > +++ b/arch/arm64/boot/dts/allwinner/sun55i-a523.dtsi > @@ -216,6 +216,13 @@ spdif_out_pb_pin: spdif-pb-pin { > allwinner,pinmux = <2>; > }; > > + /omit-if-no-ref/ > + spdif_out_ph_pin: spdif-ph-pin { > + pins = "PH7"; > + function = "spdif"; > + allwinner,pinmux = <4>; > + }; > + > /omit-if-no-ref/ > spdif_out_pi_pin: spdif-pi-pin { > pins = "PI10"; > diff --git a/arch/arm64/boot/dts/allwinner/sun55i-h728-x96qpro+.dts b/arch/arm64/boot/dts/allwinner/sun55i-h728-x96qpro+.dts > index a96927fbdadd..b172985583f8 100644 > --- a/arch/arm64/boot/dts/allwinner/sun55i-h728-x96qpro+.dts > +++ b/arch/arm64/boot/dts/allwinner/sun55i-h728-x96qpro+.dts > @@ -44,6 +44,24 @@ reg_vcc3v3: vcc3v3 { > vin-supply = <®_vcc5v>; > regulator-always-on; > }; > + > + sound-spdif { > + compatible = "simple-audio-card"; > + simple-audio-card,name = "spdif-out"; > + > + simple-audio-card,cpu { > + sound-dai = <&spdif>; > + }; > + > + simple-audio-card,codec { > + sound-dai = <&spdif_out>; > + }; > + }; > + > + spdif_out: spdif-out { > + #sound-dai-cells = <0>; > + compatible = "linux,spdif-dit"; > + }; > }; > > &ehci0 { > @@ -275,6 +293,12 @@ &r_pio { > vcc-pm-supply = <®_aldo3>; > }; > > +&spdif { > + pinctrl-names = "default"; > + pinctrl-0 = <&spdif_out_ph_pin>; > + status = "okay"; > +}; > + > &uart0 { > pinctrl-names = "default"; > pinctrl-0 = <&uart0_pb_pins>; > -- > 2.48.1 >