This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:Linux
大家好、
环境:Linux 内核版本4.4.84。 Mcasp8而不是 mcasp3作为编解码器的通信。 结果中没有 MCLK 信号、这是我的配置、plase 帮我检查。 谢谢。
??Sound0:Sound0{
兼容="简单音频卡";
simple-audio-card、name ="DRA7xx-jamr3";
simple-audio-card、format ="DSP_b";
simple-audio-card、bitclock-master =<&jamr3_sound_master>;
simple-audio-card、frame-master =<&jamr3_sound_master >;
简单音频卡、位时钟反转;
jamr3_sound_master:simple-audio-card、CPU{
Sound-Dai =<&mcasp8>;
系统时钟频率=<11289600>;
};
简单音频卡、编解码器{
sound-dai =<&tlv320aic3106>;
时钟=<&ATL_clkin2_ck>;
};
};
&ATL{
分配的时钟=<&ABE_DPLL_SYS_clk_mux>、
<&ATL_gfclk_mux>、
<DPLL_AE_ck >、
<DPLL_AEM2x2_ck >、
&ATL_clkin1_ck>、
<&ATL_clkin2_ck>;
分配的时钟父级=<&sys_clkin2>、<&DPLL_AE_M2_ck>;
分配的时钟速率=<0>、<0>、<180633600>、<361267200>、
<11289600>、<11289600>;
状态="正常";
atl2{
BWS = ;
AWS = ;
};
};
mcasp8{.m&mcasp8}
#sound-di-cells =<0>;
分配的时钟=<&mcasp8_ahclkx_mux>;
分配的时钟父级=<&ATL_clkin2_ck>;
状态="正常";
OP-MODE =<0>;/* MCASP_IIS_MODE */
TDM-SLOTS =<2>;
/* 4串行器*/
serial-dir =</* 0:非活动、1:TX、2:Rx *
1 2 0 0
>;
tx-num-evt =<32>;
Rx-num-evt =<32>;
共享 Dai;
};
继续使用 I2S 模式、并尝试将23的引脚多路复用设置从 mcasp8_ahclkx (多路复用模式4)更改为 atl_clk3 (多路复用模式5)。 此外、在 DTS 文件中、将 ATL clk2更改为 clk3 (即 atl_clk2_ck -> atl_clk3_ck、atl2 -> atl3)。
DTS 更改似乎正确。 请在引导日志中查找任何 ATL 错误。 我认为外部中止是因为馈入 McASP 的 ATL 时钟没有运行。
要使 ATL clk3处于活动状态、地址0x4843C390处的寄存器值必须为1。
您好!
您自己的设计板也存在此问题。(电路板名称:VAYU EVM XC5777X CPU 板)。 我尝试使用 mcasp3和 ATL clk3、run 正常、 并且地址0x4843C390处的寄存器值为1。
请您澄清一下"运行正常"的含义吗? 您是否说在 DRA7XX EVM 中、从 ATL clk2更改为 clk3后、McASP 驱动程序已正确初始化、但 AHCLKX 引脚中没有时钟?
在 DRA7xx EVM 中、ATL clk2连接到 aic3106's MCLK。 ATL clk3可路由到的引脚用于电路板中的不同用途、因此无法从 ATL clk3向 aic3106提供 MCLK。
您好!
请检查 dra7xx-Clocks.dtsi
有关详细信息、请参阅寄存器 CM_L4PER2_MCASP8_CLKCTRL。
请告诉我们这是如何实现的。
您好 Peter,
感谢 您的宝贵答复。问题已经解决。
您好@user3754727 ,
McASP 专家已收到通知、并将回复新主题:
我将关闭这个。
此致、
Yordan