高通LCD连续时钟修改为非连续时钟

一般默认的时钟都是连续时钟,但是有些情况下需要改为非连续时钟。

连续时钟:

非连续时钟:

LK修改:

  • 修改hfp的值,增大(多试几次看,修改到屏幕显示正常,修改不对会闪屏)
    static struct panel_resolution xxx_video_panel_res = {
           800, 1280, hfp, 40, 20, 0, 16, 12, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0       
     };
    
  • 修改非连续模式hfp-power-mode
     static struct videopanel_info xxx_video_video_panel = {
    -       0, 0, 0, 0, 1, 1, 2, 0, 0x9
    +       0, 1, 0, 0, 1, 1, 2, 0, 0x9
     };
    
  • hfp值改变,时序 timing也要跟着改变,按照修改的时序表格修改static const uint32_t xxx_video_timings[] 和 static struct panel_timing xxx_video_timing_info

kernel修改:

  • qcom,mdss-dsi-h-front-porch = <xxx>;  //hfp 与 lk 值一样
  • qcom,mdss-dsi-hfp-power-mode;  //新增非连续模式
  • qcom,mdss-dsi-panel-timings //修改timing与 lk 值一样

  • 修改 qcom,mdss-dsi-t-clk-post  和 qcom,mdss-dsi-t-clk-pre 。和 lk 的 xxx_video_timing_info 一致

猜你喜欢

转载自blog.csdn.net/weixin_42432281/article/details/124747294