你(们)好!
我正在尝试切换编解码器配置、以将 IMX7D 的 SAI 设置为主模式、因为我想使用同一 SAI 对多个编解码器进行多路复用、我的编解码器是 TI tlv320aic3104。
我的 Linux 内核版本是 iMX 4.14。
我已更改配置、但在使用扬声器测试运行一些测试时听不到声音。
这是我的配置、是否知道哪里出了问题?
&sai2 { #sound-dai-cells = <1>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_sai2 &pinctrl_codec_reset &pinctrl_audio_ctrl>; assigned-clocks = <&clks IMX7D_SAI2_ROOT_SRC>, <&clks IMX7D_SAI2_ROOT_CLK>; assigned-clock-parents = <&clks IMX7D_PLL_AUDIO_POST_DIV>; assigned-clock-rates = <0>, <12288000>; fsl,sai-synchronous-rx; fsl,sai-mclk-direction-output; status = "okay"; };
sound-codec { compatible = "simple-audio-card"; status = "okay"; simple-audio-card,name = "EG4-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 = "Speaker", "Speaker", "Line", "LineOut", "Headphone", "Ambient", "Microphone", "SpeakerMic", "Microphone", "AmbientMic"; simple-audio-card,routing = "Speaker", "LLOUT", "LineOut", "RLOUT", "Ambient", "HPLOUT", "LINE1L", "SpeakerMic", "LINE1R", "AmbientMic"; dailink0_master: simple-audio-card,cpu { sound-dai = <&sai2 0>; system-clock-frequency = <12288000>; }; simple-audio-card,codec { sound-dai = <&tlv320aic3104>; clocks = <&clks IMX7D_SAI2_ROOT_CLK>; system-clock-frequency = <12288000>; }; };
tlv320aic3104: tlv320aic3104@18 { #sound-dai-cells = <0>; compatible = "ti,tlv320aic3104"; reg = <0x18>; gpio-reset = <&gpio2 10 0>; clocks = <&clks IMX7D_SAI2_ROOT_CLK>; clock-names = "mclk"; assigned-clocks = <&clks IMX7D_PLL_AUDIO_POST_DIV>, <&clks IMX7D_AUDIO_MCLK_ROOT_DIV>; assigned-clock-rates = <884736000>, <12288000>; AVDD-supply = <&avdd>; DRVDD-supply = <&avdd>; IOVDD-supply = <&iovdd>; DVDD-supply = <&dvdd>; };
pinctrl_sai2: sai2grp { fsl,pins = < MX7D_PAD_SAI1_MCLK__SAI2_MCLK 0x04 MX7D_PAD_SAI2_TX_BCLK__SAI2_TX_BCLK 0x1c MX7D_PAD_SAI2_TX_SYNC__SAI2_TX_SYNC 0x1c MX7D_PAD_SAI2_TX_DATA__SAI2_TX_DATA0 0x04 MX7D_PAD_SAI2_RX_DATA__SAI2_RX_DATA0 0x1c >; };
非常感谢、