This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM4378 LCD driver DTS

Other Parts Discussed in Thread: AM4378

您好,

        我需要AM4378 接 高清屏,65MHZ时钟,1280*800分辨率,是否可以修改DTS文件就可以?

lcd0: display {
compatible = "osddisplays,osd070t1718-19ts", "panel-dpi";
label = "lcd";

backlight = <&lcd_bl>;

panel-timing {
clock-frequency = <33000000>;
hactive = <800>;
vactive = <480>;
hfront-porch = <210>;
hback-porch = <16>;
hsync-len = <30>;
vback-porch = <10>;
vfront-porch = <22>;
vsync-len = <13>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <1>;
};

port {
lcd_in: endpoint {
remote-endpoint = <&dpi_out>;
};
};

 我修改了DTS中的clock-frequency = <65000000>;也修改了hactive = <1280>;vactive = <800>;但是我测量下发现输出的PCLK似乎还是33MHZ,我的版本是最新的6的版本。

还是需要自己写driver?

如果自己写,有否相应的参考模板,谢谢!

  • 您好,

    我用的是ti-processor-sdk-linux-am437x-evm-06.00.00.07,DEFCONFIG=tisdk_am437x-evm_defconfig,dtsfile :am437x-gp-evm.dts

    我做了个测试,将
    aliases {
         display0 = &lcd0;
       };
    lcd0: display {
          compatible = "osddisplays,osd070t1718-19ts", "panel-dpi";
         label = "lcd";

         backlight = <&lcd_bl>

        panel-timing {

    clock-frequency = <33000000>;
    hactive = <800>;
    vactive = <480>;
    hfront-porch = <210>;
    hback-porch = <16>;
    hsync-len = <30>;
    vback-porch = <10>;
    vfront-porch = <22>;
    vsync-len = <13>;
    hsync-active = <0>;
    vsync-active = <0>;
    de-active = <1>;
    pixelclk-active = <1>;

    };

    port {
          lcd_in: endpoint {
         remote-endpoint = <&dpi_out>;
             };
           };
    };

    &dss {
         status = "ok";

        pinctrl-names = "default";
        pinctrl-0 = <&dss_pins>;

       port {
           dpi_out: endpoint {
           remote-endpoint = <&lcd_in>;
          data-lines = <24>;
                     };
              };
    };
    修改为

    panel {
              compatible = "ti,tilcdc,panel";
              status = "okay";
              pinctrl-names = "default";
               pinctrl-0 = <&dss_pins>;
               panel-info {
               ac-bias = <255>;
              ac-bias-intrpt = <0>;
             dma-burst-sz = <16>;
             bpp = <32>;
              fdd = <0x80>;
             sync-edge = <0>;
             sync-ctrl = <1>;
             raster-order = <0>;
             fifo-th = <0>;
        };
    display-timings {
              800x480p60 {
              clock-frequency = <33000000>;
              hactive = <800>;
             vactive = <480>;
              hfront-porch = <210>;
              hback-porch = <16>;
              hsync-len = <30>;
              vback-porch = <10>;
               vfront-porch = <22>;
              vsync-len = <13>;
              hsync-active = <0>;
              vsync-active = <0>;
                de-active = <1>;
              pixelclk-active = <1>;
          };
       };

     port {
          lcd_in: endpoint {
         remote-endpoint = <&dpi_out>;
             };
           };
    };
    &dss {
         status = "ok";

           port {
           dpi_out: endpoint {
           remote-endpoint = <&lcd_in>;
          data-lines = <24>;
                     };
              };
    };

    发现没有输出,我采用的是示波器直接看PCLK 波形的,是否还需要进行那些设置或者配置?或者在那些地方可以观测?

    谢谢!

    thoms

  • 设置了,没有改动。

  • uboot中有没有对其初始化
  •  您好,UBOOT中需要初始化哪些?有相应的参考文档吗?谢谢

  • 直接搜uboot LCD 初始化