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