MT6589如何配置使CLKM0可以输出 26M/13M clock
时间:10-02
整理:3721RD
点击:
[DESCRIPTION]
MT6589的CLM0跟CLKM1-4的设计不一样,比较特殊,默认的代码是无法输出clock的
参考信息可以查看spec中关于clock-mux的描述
CLM1-4设置输出时钟要设定两个寄存器:
MBIST_CFG_6(设定clock source)
MBIST_CFG_7(设定divide分频参数)
而CLKM0与它们不同,同样是两步,但寄存器不同
CLK_CFG_3(设定并且打开clock source,因为默认的clock gating是打开的,无法输出clock)
MBIST_CFG_2(设定分频参数)
[SOLUTION]
修改mt_GPIO.c中对CLKM0的实现代码
mt_set_clock_output函数 CLKM0分支做如下修改

使用的时候还是调用mt_set_clock_output
mt_set_clock_output(0, 1, 1)输出26M clock
mt_set_clock_output(0, 1, 2)输出13M clock
【注意】
(1)因为CLK_CFG_3的bit[8:0]是USB的clk source,USB也会操作这个寄存器,
所以使用CLKM0的模块软件上要注意跟USB不要产生冲突
(2)如果要输出其他超过26M的时钟,请参考spec中对CLK_CFG_3寄存器的说明,可以通过配置切换其他的时钟源
