1、原默7寸LCD的时钟频率是33Mhz,但由于EMC辐射33Mhz有点超标,想把LCD时钟频率降低到28Mhz。
2、修改了设备树原默7寸认配置的两个参数,下面红色部分,但是实际运行时钟并没有改变,用示波器测出来还是33Mhz。
=======================================
timing0: 7_800x480 {
clock-frequency = <28000000>;
hactive = <800>;
vactive = <480>;
hfront-porch = <100>;
hback-porch = <26>;
hsync-len = <20>;
vback-porch = <20>;
vfront-porch = <21>;
vsync-len = <3>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
=======================================
3、进入系统后用指令fbset打印出来确实是28Mhz,说明设备树是修改成功的
=======================================
root@FD ~$ fbset
mode "800x480-56"
# D: 28.000 MHz, H: 29.289 kHz, V: 55.895 Hz
geometry 800 480 800 960 32
timings 35714 26 110 20 21 20 3
accel false
rgba 8/16,8/8,8/0,0/0
endmode
=======================================
4、在uboot菜单直接选择是7寸分辨率1024*768的屏幕,对应时钟频率是50Mhz,则示波器实测频率是50Mhz没问题。
5、总结下来是屏幕的初始化已经在uboot阶段固定了,进入系统后没有再次初始化。请问这是设计成这样的?还是bug?我该如何改成我需要的时钟频率?
|