• Kuninori Morimoto's avatar
    arm64: dts: renesas: ulcb/kf: Use multi Component sound · d70be079
    Kuninori Morimoto authored
    	+-- 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: default avatarKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
    Reviewed-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
    Link: https://lore.kernel.org/r/87fs382yhk.wl-kuninori.morimoto.gx@renesas.comSigned-off-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
    d70be079
ulcb-kf-audio-graph-card-mix+split.dtsi 3.7 KB