root@imx8mp-lpddr4-evk:~# [ 23.529459] platform sound-tlv320aic310x: deferred probe pending
root@imx8mp-lpddr4-evk:~# i2cdetect -y 2
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- 18 -- -- -- -- -- -- --
20: UU -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
root@imx8mp-lpddr4-evk:~# i2cdump -f -y 2 0x18
No size specified (using byte-data access)
0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
00: 00 00 00 10 04 00 00 00 00 00 00 01 00 00 00 80 ...??......?...?
10: 80 ff ff 78 78 78 78 78 78 06 00 fe 00 00 fe 00 ?..xxxxxx?.?..?.
20: 20 04 00 00 00 00 00 00 00 00 00 80 80 00 00 00 ?.........??...
30: 00 00 00 04 00 00 00 00 00 00 04 00 00 00 00 00 ...?......?.....
40: 00 04 00 00 00 00 00 00 04 00 00 00 00 00 00 00 .?......?.......
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
60: 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 ......?.........
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
80: 00 00 00 10 04 00 00 00 00 00 00 01 00 00 00 80 ...??......?...?
90: 80 ff ff 78 78 78 78 78 78 06 00 fe 00 00 fe 00 ?..xxxxxx?.?..?.
a0: 20 04 00 00 00 00 00 00 00 00 00 80 80 00 00 00 ?.........??...
b0: 00 00 00 04 00 00 00 00 00 00 04 00 00 00 00 00 ...?......?.....
c0: 00 04 00 00 00 00 00 00 04 00 00 00 00 00 00 00 .?......?.......
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
e0: 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 ......?.........
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
root@imx8mp-lpddr4-evk:/lib/modules/6.1.55+g593a3d788681/kernel/sound/soc/codecs# ls
snd-soc-tlv320aic31xx.ko snd-soc-tlv320aic3x.ko
sound-tlv320aic310x {
152 compatible = "simple-audio-card";
153 simple-audio-card,name = "sound-tlv320aic310x";
154 simple-audio-card,format = "i2s";
155 simple-audio-card,frame-master = <&cpudai2>;
156 simple-audio-card,bitclock-master = <&cpudai2>;
157 simple-audio-card,mclk-fs = <256>;
158 simple-audio-card,widgets =
159 "Line", "Line In",
160 "Speaker", "Speaker",
161 "Microphone", "Microphone Jack",
162 "Headphone", "Headphone Jack";
163 simple-audio-card,routing =
164 "Speaker", "SPOP",
165 "Speaker", "SPOM",
166 "Headphone Jack", "HPLOUT",
167 "Headphone Jack", "HPROUT",
168 "LINE1L", "Line In",
169 "LINE1R", "Line In",
170 "MIC3R", "Microphone Jack",
171 "Microphone Jack", "Mic Bias";
172
173 cpudai2:simple-audio-card,cpu {
174 sound-dai = <&sai3>;
175 };
176 simple-audio-card,codec {
177 sound-dai = <&codec>;
178 clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIO_BLK_CTRL_SAI3_MCLK1>;
179 };
180 };
codec: codec@18 {
676 #sound-dai-cells=<0>;
677 pinctrl-names = "default";
678 pinctrl-0 = <&pinctrl_tlv320>;
679 compatible = "ti,tlv320aic3101";
680 reg = <0x18>;
681 clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIO_BLK_CTRL_SAI3_MCLK1>;
682 clock-names = "mclk1";
683 reset-gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
684 AVDD-supply = <&buck4>;
685 IOVDD-supply = <&buck5>;
686 DRVDD-supply = <&buck4>;
687 DVDD-supply = <&buck5>;
688 };
&sai3 {
914 #sound-dai-cells = <0>;
915 pinctrl-names = "default";
916 pinctrl-0 = <&pinctrl_sai3>;
917 assigned-clocks = <&clk IMX8MP_CLK_SAI3>;
918 assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL1_OUT>;
919 assigned-clock-rates = <12288000>;
920 clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIO_BLK_CTRL_SAI3_IPG>, <&clk IMX8MP_CLK_DUMMY>,
921 <&audio_blk_ctrl IMX8MP_CLK_AUDIO_BLK_CTRL_SAI3_MCLK1>, <&clk IMX8MP_CLK_DUMMY>,
922 <&clk IMX8MP_CLK_DUMMY>, <&clk IMX8MP_AUDIO_PLL1_OUT>, <&clk IMX8MP_AUDIO_PLL2_OUT>;
923 clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3", "pll8k", "pll11k";
924 fsl,sai-synchronous-rx;
925 status = "okay";
926 };
pinctrl_tlv320: tlv320grp {
1291 fsl,pins = <
1292 MX8MP_IOMUXC_SAI3_RXC__GPIO4_IO29 0x16
1293 >;
1294 };
1295
1296 pinctrl_sai3: sai3grp {
1297 fsl,pins = <
1298 MX8MP_IOMUXC_SAI3_TXFS__AUDIOMIX_SAI3_TX_SYNC 0xd6
1299 MX8MP_IOMUXC_SAI3_TXC__AUDIOMIX_SAI3_TX_BCLK 0xd6
1300 MX8MP_IOMUXC_SAI3_RXD__AUDIOMIX_SAI3_RX_DATA00 0xd6
1301 MX8MP_IOMUXC_SAI3_TXD__AUDIOMIX_SAI3_TX_DATA00 0xd6
1302 MX8MP_IOMUXC_SAI3_MCLK__AUDIOMIX_SAI3_MCLK 0xd6
1303 MX8MP_IOMUXC_SAI3_RXFS__GPIO4_IO28 0xd6
1304 MX8MP_IOMUXC_SAI3_RXC__GPIO4_IO29 0xd6
1305 >;
1306 };
Please guide me if any changes need to be made in my dts.