TI中文支持网
TI专业的中文技术问题搜集分享网站

DISP DPLL设置成CLKSEL_LCDC_PIXEL_CLK时钟源结果与参数值不符

修改了CLKSEL_LCDC_PIXEL_CLK寄存器的值,在=1或者2的时候,最后LCD_CLK的值与设置参数设想的输出值一致;可是在=0的情况下,输出值就不符了。DISP DPLL的设置是参考数据页的说明编制的程序如下

clkmode = __raw_readl(CM_CLKMODE_DPLL_DISP);
 clksel = __raw_readl(CM_CLKSEL_DPLL_DISP);
 div_m2 = __raw_readl(CM_DIV_M2_DPLL_DISP);
  
  clkmode = (clkmode & 0xfffffff8) | 0x00000004;
 __raw_writel(clkmode, CM_CLKMODE_DPLL_DISP);

 while ((__raw_readl(CM_IDLEST_DPLL_DISP) & 0x00000100) != 0x00000100);

 clksel = clksel & (~0x7ffff);
 clksel = clksel | ((DISPPLL_M << 0x8) | DISPPLL_N);
 __raw_writel(clksel, CM_CLKSEL_DPLL_DISP);

 div_m2 = div_m2 & 0xFFFFFFE0;
 div_m2 = div_m2 | DISPPLL_M2;
 __raw_writel(div_m2, CM_DIV_M2_DPLL_DISP);

 clkmode = (clkmode & 0xfffffff8) | 0x7;
 __raw_writel(clkmode, CM_CLKMODE_DPLL_DISP);
 
 while ((__raw_readl(CM_IDLEST_DPLL_DISP) & 0x00000001) != 0x1);

出现的问题是:无论怎么改DISPPLL_M的值,其输出结果不变,就是DISP的频率是300000000HZ,即DISPPLL_M无效;DISPPLL_M2是有效的,不知道是什么原因

liqin xiao:

已找到disp_dpll固定为300M的原因了

Steven Liu1:

回复 liqin xiao:

之前有做过一些测试,Share做参考好了:

AM335x关于LCD屏幕的配置

liqin xiao:

回复 Steven Liu1:

谢谢,已经解决了

赞(0)
未经允许不得转载:TI中文支持网 » DISP DPLL设置成CLKSEL_LCDC_PIXEL_CLK时钟源结果与参数值不符
分享到: 更多 (0)