[RK3399][Android7.1] 调试笔记 --- I2S1工作输出是12MHz问题

在RK3399平台上,使用Android 7.1和v4.4.83内核时,通过I2S1通道发现实际MCLK为12MHz,而非理论上的11.288MHz。问题源于I2S1共享I2S0的12MHz MCLK。通过检查CRU寄存器和修改clk mux设置,确保I2S1使用正确MCLK,从而解决该问题。
摘要由CSDN通过智能技术生成

Platform: RK3399
OS: Android 7.1
Kernel: v4.4.83

现象:

使用I2S1通道,测量到的I2S MCLK是12MHz.
理论上应该是11.288MHz.


原因:

rk3399平台有三路I2S(其中一路内部使用,可以不管),但是MCLK只有一个,也就是说两路I2S只有一路能占用。而默认的sdk中,I2S1输出时,使用的是I2S0的MCLK,I2S0默认是12MHz。

因此会看到clk_summary中I2S1是11.28MHz,但是最终输出的是12MHz.

rk3399_mid:/ # cat /d/clk/clk_summary | grep i2s
cat /d/clk/clk_summary | grep i2s
    clk_i2s2_div                          0            0           0          0 0
       clk_i2s2_frac                      0            0           0          0 0
          clk_i2s1_div                    1            1   800000000          0 0
             clk_i2s1_frac                1            1    11289600          0 0
                clk_i2s1_mux              1            1    11289600          0 0
                   clk_i2s1               2            2    11289600          0
  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值