| 
 
新手入门 
 
	积分9金钱9 注册时间2020-5-6在线时间2 小时 | 
 
2金钱 
| 调试SAI2+WM8960,aplay播放速度是4倍速,示波器查看sai2的mclk是44M,找不到问题在哪里。下面是设备树配置。从/sys/kernel/debug/clk_summry 看到的信息也是12288000. 但是pll4_audio_div是36864000,并不是786432000。
 
 下图是sai2的时钟信息
 
  
 
 
 但是看sai1和sai3是40MHz
 
  
 
 以下是设备树的信息。
 &clks {
 assigned-clocks = <&clks IMX6UL_CLK_PLL4_AUDIO_DIV>;
 assigned-clock-rates = <786432000>;
 };
 
 sound {
 compatible = "simple-audio-card";
 simple-audio-card,name = "mx6ul-wm8960";
 simple-audio-card,format = "i2s";
 simple-audio-card,bitclock-master = <&dailink_master>;
 simple-audio-card,frame-master = <&dailink_master>;
 simple-audio-card,widgets =
 "Microphone", "Mic Jack",
 "Line", "Line In",
 "Line", "Line Out",
 "Speaker", "Speaker",
 "Headphone", "Headphone Jack";
 simple-audio-card,routing =
 "Headphone Jack", "HP_L",
 "Headphone Jack", "HP_R",
 "Speaker", "SPK_LP",
 "Speaker", "SPK_LN",
 "Speaker", "SPK_RP",
 "Speaker", "SPK_RN",
 "LINPUT1", "Mic Jack",
 "LINPUT3", "Mic Jack",
 "RINPUT1", "Mic Jack",
 "RINPUT2", "Mic Jack";
 
 
 simple-audio-card,cpu {
 sound-dai = <&sai2>;
 dai-tdm-slot-num = <2>;
 };
 dailink_master: simple-audio-card,codec {
 dai-tdm-slot-num = <2>;
 sound-dai = <&codec>;
 };
 
 }
 
 
 codec: wm8960@1a {
 #sound-dai-cells = <0>;
 compatible = "wlf,wm8960";
 reg = <0x1a>;
 clocks = <&clks IMX6UL_CLK_SAI2>;
 clock-names = "mclk";
 wlf,shared-lrclk;
 };
 
 
 &sai2 {
 pinctrl-names = "default";
 pinctrl-0 = <&pinctrl_sai2
 &pinctrl_sai2_hp_det_b>;
 
 
 assigned-clocks = <&clks IMX6UL_CLK_SAI2_SEL>,
 <&clks IMX6UL_CLK_SAI2>;
 assigned-clock-parents = <&clks IMX6UL_CLK_PLL4_AUDIO_DIV>;
 assigned-clock-rates = <0>, <12288000>;
 //        assigned-clock-rates = <0>, <24000000>;
 //        fsl,sai-synchronous-rx;
 fsl,sai-mclk-direction-output;
 status = "okay";
 };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 
 |