Re: [PATCH v4 09/22] arm64: dts: allwinner: h6: Add HDMI audio node

From: Maxime Ripard
Date: Mon Sep 28 2020 - 04:43:17 EST


On Mon, Sep 21, 2020 at 08:37:09PM +0200, Jernej Škrabec wrote:
> Dne ponedeljek, 21. september 2020 ob 19:23:49 CEST je Clément Péron
> napisal(a):
> > Hi Maxime,
> >
> > On Mon, 21 Sep 2020 at 15:59, Maxime Ripard <maxime@xxxxxxxxxx> wrote:
> > >
> > > On Mon, Sep 21, 2020 at 12:27:18PM +0200, Clément Péron wrote:
> > > > From: Jernej Skrabec <jernej.skrabec@xxxxxxxx>
> > > >
> > > > Add a simple-soundcard to link audio between HDMI and I2S.
> > > >
> > > > Signed-off-by: Jernej Skrabec <jernej.skrabec@xxxxxxxx>
> > > > Signed-off-by: Marcus Cooper <codekipper@xxxxxxxxx>
> > > > Signed-off-by: Clément Péron <peron.clem@xxxxxxxxx>
> > > > ---
> > > > arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi | 33 ++++++++++++++++++++
> > > > 1 file changed, 33 insertions(+)
> > > >
> > > > diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi b/arch/arm64/
> boot/dts/allwinner/sun50i-h6.dtsi
> > > > index 28c77d6872f6..a8853ee7885a 100644
> > > > --- a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
> > > > +++ b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
> > > > @@ -67,6 +67,25 @@ de: display-engine {
> > > > status = "disabled";
> > > > };
> > > >
> > > > + hdmi_sound: hdmi-sound {
> > > > + compatible = "simple-audio-card";
> > > > + simple-audio-card,format = "i2s";
> > > > + simple-audio-card,name = "sun50i-h6-hdmi";
> > > > + simple-audio-card,mclk-fs = <128>;
> > > > + simple-audio-card,frame-inversion;
> > > > + status = "disabled";
> > > > +
> > > > + simple-audio-card,codec {
> > > > + sound-dai = <&hdmi>;
> > > > + };
> > > > +
> > > > + simple-audio-card,cpu {
> > > > + sound-dai = <&i2s1>;
> > > > + dai-tdm-slot-num = <2>;
> > > > + dai-tdm-slot-width = <32>;
> > >
> > > It looks weird to have both some TDM setup here, and yet the format in
> > > i2s?
> >
> > Yes, I agree I will check if it's really needed.
>
> I think this was explained before.

Possibly, but this should be in a comment or at least the commit log

> Anyway, this is needed to force width to 32, no matter actual sample
> width. That's a requirement of HDMI codec. I believe Marcus Cooper
> have another codec which also needs fixed width.
>
> There is no similar property for I2S, so TDM one is used here.

Except it's really dedicated to the TDM mode and doesn't really make
much sense here.

If we have special requirements like this on the codec setup, that
sounds like a good justification for creating a custom codec instead of
shoehorning it into simple-card

Maxime

Attachment: signature.asc
Description: PGP signature