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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kris_fei/article/details/84030908

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 0
          clk_i2s0_div                    0            0   800000000          0 0
             clk_i2s0_frac                0            0    40000000          0 0
                hclk_i2s2                 0            0   100000000          0 0
                hclk_i2s1                 2            2   100000000          0 0
                hclk_i2s0                 1            2   100000000          0 0
 clk_i2sout                               1            1           0          0 0
 clk_i2s2_mux                             0            0           0          0 0
    clk_i2s2                              0            0           0          0 0
 clk_i2s0_mux                             0            1           0          0 0
    clk_i2s0                              0            1           0          0 0
       clk_i2sout_src                     0            0           0          0 0

从CRU的寄存器也可以确认,使用的是I2S0 MCLK.

rk3399_mid:/ # io -4 -l 0x10 0xff760170
ff760170:  00000380 00000180 00000300 00000000

在这里插入图片描述


验证方法:

clk mux 选择从I2S1 输出

io -4 0xff76017c 0x10001

解决方法:

参考: [RK3399][Android7.1] 移植笔记 — 音频Codec RT5640添加

猜你喜欢

转载自blog.csdn.net/kris_fei/article/details/84030908