History log of /linux-master/scripts/dtc/include-prefixes/arm64/renesas/ulcb-audio-graph-card2-mix+split.dtsi
Revision Date Author Comments
# d70be079 20-Sep-2023 Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>

arm64: dts: renesas: ulcb/kf: Use multi Component sound

+-- ULCB -------------------+
|+--------+ +--------+|
|| SSI0| <---> |ak4613 ||
|| SSI1| <---> | ||
|| | +--------+|
|| | +--------+|
|| SSI2| <---> |HDMI ||
|| | +--------+|
|| SSI3| <--+ |
|| SSI4| <-+| |
|+--------+ || |
+-------------||------------+
+-- Kingfisher -------------+
| || +--------+|
| |+->|pcm3168a||
| +-->| ||
| +--------+|
+---------------------------+

On UCLB/KF, we intuitively think we want to handle these as "2 Sound
Cards":

card0,0: 1st sound of ULCB (SSI0 - ak4613)
card0,1: 2nd sound of ULCB (SSI2 - HDMI)
card1,0: 1st sound of KF (SSI3 - pcm3168a)
^ ^

However, because of ASoC Component vs. Card framework limitations, we
needed to handle this as "1 big Sound Card":

card0,0: 1st sound of ULCB/KF (SSI0 - ak4613)
card0,1: 2nd sound of ULCB/KF (SSI2 - HDMI)
card0,2: 3rd sound of ULCB/KF (SSI3 - pcm3168a)
^ ^

Now ASoC supports multi Component, which allows us to handle "2 Sound
Cards" such as "ULCB Sound Card" and "Kingfisher Sound Card", all
ULCB/KF Audio dtsi can be updated.

Note that this changes the Sound Card specification method from
userland, especially for Kingfisher Sound.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/87fs382yhk.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>


# 15ec87e0 12-Jan-2023 Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>

arm64: dts: renesas: Add ulcb{-kf} Audio Graph Card2 MIX + TDM Split dtsi

ALSA SoC has many types of Generic Audio Card drivers (Simple Audio
Card, Audio Graph Card, Audio Graph Card2), and Renesas/Kuninori
Morimoto wants to test these.

The Generic Audio Card driver had been requested on ALSA SoC.
It supports many types of device connection methods, and historically,
the requested connection support range of the generic driver has been
upgraded.

Upgrading the connection support range itself could not be implemented
in the generic driver, because we need to keep compatibility with old
DTBs. This is one of the reasons why we have many types of Generic Audio
Card driver.

The ULCB/KF combo is a good board stack to test these.
Kuninori has been testing these Generic Audio Card drivers by using his
local patches to switching drivers. But from an information sharing
point of view, it is a good idea to upstream these, because the DT
configuration is complex. Hence this can be a good sample for the user.

Hence add an "Audio Graph Card2 + MIXer + TDM Split" DT setting file
for ULCB/KF. Because of the limited number of subdevices, the HDMI
output is ignored.
This setting can be enabled by updating ulcb.dtsi / ulcb-kf.dtsi.

From a normal user point of view who doesn't need to test the driver,
everything should stay as-is, and nothing changes.

Note that because this needs "switching driver", and not "adding extra
feature", this does not use a Device Tree overlay.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/877cxri40q.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>