hi,
我查看nuc970的系列手册,想要将lcd时钟配置为33.3M,我的配置如下:
writel((readl(REG_CLKDIVCTL1) & ~0xffff) | 0x818, REG_CLKDIVCTL1); //配置lcd时钟源为UCLK,时钟33.3M
板子系统时钟源是UPLL,频率为300M,寄存器(REG_CLKUPLLCON)数值为0xc0000018,根据我对手册的理解,lcd的时钟频率计算公式为ECLKlcd=UPLLFout /(LCD_SDIV + 1)/(LCD_N + 1),也即是ECLKlcd=300M/(0+1)/(8+1)=33.3M,但是我用示波器测量频率只有10几M。而如果设置REG_CLKDIVCTL1为0xe18得出的结果就是正确的ECLKlcd=300M/(0+1)/(e+1)=20M。
为什么会出现这样的情况,是我没有设置对还是有其他的原因? |