I’m trying to define a simple sound card where I just have a TDM output on TDMA. Now I have defined my device tree as:
sound {
compatible = "amlogic,axg-sound-card";
model = "BPI-CM4IO";
audio-aux-devs = <&tdmout_a>;
audio-widgets = "Speaker", "Speaker1 Left",
"Speaker", "Speaker1 Right";
audio-routing = "TDMOUT_A IN 0", "FRDDR_A OUT 0",
"TDM_A Playback", "TDMOUT_A OUT",
"Speaker1 Left", "SPK1 OUT_A",
"Speaker1 Right", "SPK1 OUT_B";
clocks = <&clkc CLKID_HIFI_PLL>,
<&clkc CLKID_MPLL0>,
<&clkc CLKID_MPLL1>;
assigned-clocks = <&clkc CLKID_HIFI_PLL>,
<&clkc CLKID_MPLL0>,
<&clkc CLKID_MPLL1>;
assigned-clock-parents = <0>, <0>, <0>;
assigned-clock-rates = <589824000>,
<270950400>,
<393216000>;
dai-link-0 {
sound-dai = <&frddr_a>;
};
dai-link-1 {
sound-dai = <&tdmif_a>;
dai-format = "dsp_a";
dai-slot-num= <2>;
dai-tdm-slot-width = <32>;
dai-tdm-slot-tx-mask-0 = <1 1>;
codec {
sound-dai = <&dummy_codec1>;
};
};
};
however, aplay -l gives: **** List of PLAYBACK Hardware Devices **** card 0: BPICM4IO [BPI-CM4IO], device 0: fe.dai-link-0 (*) Subdevices: 1/1 Subdevice #0: subdevice #0
Why am I not seeing the sound dai link 1 ? And how then is the user supposed to select in which TDM slot to play if so. Is this expected ? As I understand it If I have several codecs I would define a different "dai-tdm-slot-tx-mask-xxx " for each dai link with a different codec. The dummy codec I’m using is based on pcm5102 as it does not require i2c for testing and probes with minimum effort.
Any comments are aprecciated