主题中讨论的其他器件:TLV320AIC34
您好!
我想 通过 I2S 连接将 Variscite DT8M 定制板与 TLV320AIC34评估模块连接起来。
出于未知原因、我无法看到 SAI2_MCLK1正常工作、示波器上的值始终为"0"、因此当我尝试播放音频时、似乎阻止了播放。
硬件配置:
SAI vs Codec SAI2_TXC <-> BCLK SAI2_TXFS <-> WCLK SAI2_MCLK <-> MCLK SAI2_RXD0 <-> DIN SAI2_TXD0 <-> DOUT
我的设备树配置:
reg_audio_1v8: regulator-1p8v {
compatible = "regulator-fixed";
regulator-name = "1P8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
sound-tlv320aic34 {
compatible = "simple-audio-card";
simple-audio-card,name = "HTC2-Sound-Card";
simple-audio-card,format = "i2s";
simple-audio-card,bitclock-master = <&dailink0_master>;
simple-audio-card,frame-master = <&dailink0_master>;
simple-audio-card,widgets =
"Microphone", "Microphone Jack",
"Line", "Line In Jack",
"Line", "Line Out Jack",
"Headphone", "Headphone Jack",
"Speaker", "Speaker External";
simple-audio-card,routing =
"MIC3L", "Microphone Jack",
"MIC3R", "Microphone Jack",
"Headphone Jack", "HPLOUT",
"Headphone Jack", "HPROUT";
simple-audio-card,cpu {
sound-dai = <&sai2 0>;
};
dailink0_master: simple-audio-card,codec {
sound-dai = <&tlv320aic34>;
};
};
};
&sai2 {
#sound-dai-cells = <1>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_sai2>;
clocks = <&audiomix_clk IMX8MP_CLK_AUDIOMIX_SAI2_IPG>, <&clk IMX8MP_CLK_DUMMY>, <&audiomix_clk IMX8MP_CLK_AUDIOMIX_SAI2_MCLK1>, <&clk IMX8MP_CLK_DUMMY>, <&clk IMX8MP_CLK_DUMMY>, <&clk IMX8MP_AUDIO_PLL1_OUT>, <&clk IMX8MP_AUDIO_PLL2_OUT>;
clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3", "pll1", "pll2";
assigned-clocks = <&clk IMX8MP_CLK_SAI2>;
assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL2_OUT>;
assigned-clock-rates = <12000000>;
fsl,sai-asynchronous;
fsl,sai-mclk-direction-output;
status = "okay";
};
pinctrl_sai2: sai2grp {
fsl,pins = <
MX8MP_IOMUXC_SAI2_TXFS__AUDIOMIX_SAI2_TX_SYNC 0xd6
MX8MP_IOMUXC_SAI2_TXC__AUDIOMIX_SAI2_TX_BCLK 0xd6
MX8MP_IOMUXC_SAI2_RXD0__AUDIOMIX_SAI2_RX_DATA00 0xd6
MX8MP_IOMUXC_SAI2_TXD0__AUDIOMIX_SAI2_TX_DATA00 0xd6
MX8MP_IOMUXC_SAI2_MCLK__AUDIOMIX_SAI2_MCLK 0xd6
>;
};
i2cdump:
root@imx8mp-var-dart:~# i2cdump -y -f 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: 00 00 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: 00 00 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 ................
/sys/clk/kernel/debug/clk_summary:
audio_pll2_ref_sel 0 0 0 24000000 0 0 50000
audio_pll2 0 0 0 361267200 0 0 50000
audio_pll2_bypass 0 0 0 361267200 0 0 50000
audio_pll2_out 0 0 0 361267200 0 0 50000
sai2 0 0 0 12042240 0 0 50000
sai2_mclk1_sel 0 0 0 12042240 0 0 50000
sai2_mclk1_clk 0 0 0 12042240 0 0 50000
有什么想法可以帮助您? 我已经尝试了很多东西、但 SAI2_MCLK1仍然没有移动。




