Hi Morimoto-san, On Thu, Jan 12, 2023 at 1:17 AM Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> wrote: > > What is the difference between "Simple Audio Card", "Audio Graph Card", > > and "Audio Graph Card2"? Why do we need to support all three of them? > > The answer is because of "history" and "compatibility". > > "Simple Audio Card" was created before DT support, now it is supporting DT too. > But it is for very simple sound connection. It is using own DT style. > > "Audio Graph Card" is almost same as "Simple Audio Card", but it is > using "Of Graph" style. It is needed for HDMI support (= Sound with Video). > "Audio Graph Card" was created because it is difficult to keep compatibility > for both "Of Graph style" and "own style" on "Simple Audio Card". > > "Audio Graph Card2" is expand version of "Audio Graph Card", > but it is supporting more complex connections. > Because of this complex connection, it is difficult to keep compatibility > with "Audio Graph Card". So they are different ways (generations) of representing the audio topology on the board? Like "operating-points" and "operating-points-v2" for cpufreq? Hence these are orthogonal to (and independent of) the underlying audio hardware in the SoC? > For normal user case, selecting one of them is very enough. > But for me, I need to test all of them, thus I want to switch these easily. > And ULCB is good board for testing. > > Basically, people don't need to care about this patch-set. > It separates DT file, but nothing change. > It is just easy for testing. OK. And I guess you intend to use them as examples to point people to, too? > > How come we can have no #sound-dai-cells, #sound-dai-cells = <0>, > > and #sound-dai-cells = <1>, for the same hardware? > > What is the real difference between Single DAI and Multi DAI? > > Why do we need to support both? > > It is used on "Simple Audio Card". > We need <0> if the board is using SSI x 1, > and need <1> if the board is using SSI x N. > It is not mandatory if the board is using "Audio Graph Card/Card2". So #sound-dai-cells should be in the board DTS, and never in the SoC .dtsi? Hence it should be moved out of arch/arm/boot/dts/{r8a7740,sh73a0}.dtsi and arch/arm64/boot/dts/renesas/r9a07g0{43,44,54}.dtsi? > > > Kuninori Morimoto (8): > > > ARM: dts: renesas: #sound-dai-cells is used when simple-card > > > arm64: dts: renesas: #sound-dai-cells is used when simple-card > > > arm64: dts: renesas: add ulcb{-kf} Audio Graph Card dtsi > > > arm64: dts: renesas: add ulcb{-kf} Audio Graph Card2 dtsi > > > arm64: dts: renesas: add ulcb{-kf} Simple Audio Card dtsi > > > > The above three all describe the same hardware configuration? > > Yes, same hardware, but is using different connection style (= driver). OK. > > > arm64: dts: renesas: add ulcb{-kf} Audio Graph Card2 dtsi MIX + TDM Split dtsi > > > arm64: dts: renesas: add ulcb{-kf} Audio Graph Card dtsi MIX + TDM Split dtsi > > > arm64: dts: renesas: add ulcb{-kf} Simple Audio Card MIX + TDM Split dtsi > > > > Is MIX and TDM Split a different hardware configuration, or software > > policy? > > Same hardware, but different connection (= mixing, split). > > Hmm, it is difficult to explain via text... IC, this is more complicated... Thanks! 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