Hi Morimoto-san,
On Thu, Jan 12, 2023 at 1:17 AM Kuninori Morimoto kuninori.morimoto.gx@renesas.com 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@linux-m68k.org
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