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.

AM572x LCD display doesn't work

Other Parts Discussed in Thread: AM5728, TSC2006

we made custom board with AM5728 processor with 2.8'' TFT LCD with ILI9341 chip.

LCD is designed with DPI 16bit RGB data.For this i enabled OMAP FB configurations in the kernel.what parameters are used in dts file.

Thanks,

PRRADDHEP REDDE

  • Hi Biser,Thanks for your reply.

    i have read mentioned above link.

    In reference AM57xx-evm board omapdrm is used.In my case can i use omapdrm or fbdev?

    I tested by enabling one after another i did not find /dev/fb0 file.

    Can i miss any thing please help me.

    Thanks,

    PRRADDHEP REDDE

  • Hi,

    Which SDK do you use? By default AM57xx boards work with omapdrm.

    Best Regards,
    Yordan
  • Hi Yordan, Thanks for your reply.

    I got /dev/fb0 while booting from eMMC.I did not get /dev/fb0 when i boot from SDcard.

    I am using "ti-processor-sdk-linux-am57xx-evm-02.00.01.07" SDK.

    I am using Display Tech 2.8'' LCD(ILI9341 Chip) with SPI and RGB interface.How can i register ILI9341 through with SPI in dts file?

    Thanks,

    PRRADDHEP REDDE

  • Hi,

    PRRADDHEP REDDE said:
    How can i register ILI9341 through with SPI in dts file?

     

    You should declare your spi display as: 
      &spi1 { 
              status = okay;  

              spi-max-frequency = <spi_freq>; 

              ili9341@0 {                              //you can change the @0 to wherever you want to map your display in the spi node

                   <display settings here>

              };

       };

    You can take reference from Documentation/devicetree/bindings/input/touchscreen/tsc2006.txt.

    Best Regards, 
    Yordan

  • Thanks Yordan,
    I have added my ILI9341 with SPI.
    my dts file is

    lcd0: display {
    compatible = "mars_dt028atft","panel-dpi";

    label = "lcd";

    enable-gpios = <&gpio4 20 GPIO_ACTIVE_HIGH>;

    panel-timing {
    clock-frequency = <6350000>; /* 6.35 MHz */
    hactive = <240>;
    vactive = <320>;
    hfront-porch = <10>;
    hback-porch = <20>;
    hsync-len = <10>;
    vback-porch = <2>;
    vfront-porch = <4>;
    vsync-len = <2>;
    hsync-active = <0>;
    vsync-active = <0>;
    de-active = <1>;
    pixelclk-active = <1>;
    };

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

    &dss {
    status = "okay";
    pinctrl-names = "default";
    pinctrl-0 = <&dss_pins>;

    ports {
    #address-cells = <1>;
    #size-cells = <0>;

    port {
    reg = <0>;

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


    &mcspi4 {
    pinctrl-names = "default";
    pinctrl-0 = <&mcspi4_pins>;
    status = "okay";


    mars_dt028atft@0{
    compatible = "ilitek,ili9341";
    reg = <0>;
    status = "okay";

    spi-max-frequency = <32000000>;
    rotate = <270>;
    bgr;
    fps = <30>;
    buswidth = <9>;
    /*reset-gpios = <&gpio 23 0>; */
    /* dc-gpios = <&gpio 24 0>; */
    /*led-gpios = <&gpio 18 1>; */
    debug = <3>;
    };

    };


    I got two fb device in /dev i.e fb0 and fb1.FB0 created by ili9341 and FB1 is created by OMAPDRM.

    why two fb devices are created ?
    From which FB device DSS will read data and dump to LCD?
    is there any thing wrong in my dts file?

    Thanks
    PRRADDHEP REDDE
  • Hi, 

    PRRADDHEP REDDE said:
    why two fb devices are created ?

    Do you have any HDMI display defined in your dts? What does your defconfig file contain? 

    PRRADDHEP REDDE said:
    From which FB device DSS will read data and dump to LCD?

     

    If you haven't change your kernel configuration, latest EZSDKs use DRM. 

    Best Regards, 
    Yordan

  • HI Yordan,
    I am using LCD chip of ILI9341 .My ILI9341 is using fbtft core .fbtft core is creating fb0.
    my OMAP DRM is creating fb1.

    I am using 16bit RGB data lines.


    I have only LCD in my dts file .There is no HDMI in my dts file.


    My LCD is first initialized with SPI and data send to through DPI.

    I have posted my dts files in previous post those are correct or can i change any modification?

    I am using OMAP DRM only

    my Kernel Config:
    CONFIG_DRM=y
    CONFIG_DRM_KMS_HELPER=y
    CONFIG_DRM_KMS_FB_HELPER=y
    # CONFIG_DRM_LOAD_EDID_FIRMWARE is not set
    CONFIG_DRM_GEM_CMA_HELPER=y
    CONFIG_DRM_KMS_CMA_HELPER=y


    CONFIG_OMAP2_DSS_INIT=y
    CONFIG_OMAP_DSS_BASE=y
    CONFIG_OMAP2_DSS=y
    # CONFIG_OMAP2_DSS_DEBUG is not set
    # CONFIG_OMAP2_DSS_DEBUGFS is not set
    CONFIG_OMAP2_DSS_DPI=y
    CONFIG_OMAP2_DSS_VENC=y
    CONFIG_OMAP2_DSS_HDMI_COMMON=y
    CONFIG_OMAP4_DSS_HDMI=y
    CONFIG_OMAP5_DSS_HDMI=y
    CONFIG_OMAP2_DSS_SDI=y
    CONFIG_OMAP2_DSS_DSI=y
    CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK=0
    CONFIG_OMAP2_DSS_SLEEP_AFTER_VENC_RESET=y

    CONFIG_FB_TFT_FBTFT_DEVICE=y
    CONFIG_FB_TFT_ILI9341=y

    Thanks
    PRRADDHEP REDDE

  • Hi,

    Your dts seems correct. Does your display work as expected?
    Try changing
    compatible = "mars_dt028atft","panel-dpi";
    with
    compatible = "ilitek,ili9341","panel-dpi";

    Best Regards,
    Yordan

  • Thanks Yordan,

    I tired with suggested compatible.Even though two frame buffer devices are created one by OMAP DRM i.e fb1

    and another by fbtf core i.e fb0.

    my driver ili9341 uses fbtft core with SPI and platform driver.

    Initialization done through SPI and have to convert to parellel lines for data.

    How do OMAP DRM (OMAP DSS) know about parallel lines?

    Why two frame buffers created ?(Have you tested LCD using fbtft core  and OMAP DRM in any project?)

    Thanks,

    PRRADDHEP REDDE

  • Hi PRRADDHEP

    did you every find a solution or answer to this?

    I am trying to use a very similar display and encountering the same issue
    - I thought I would ask if there have been any resolution here before I wrote out a new query of my own

    All the best,
    Richard
  • Hi Richard,

    Are you using the same display?
    Can you post your bootlog & dts files?

    Best Regards,
    Yordan
  • In fact, could you start a new thread describing in details your environment & the issue you encounter.

    Best Regards,
    Yordan
  • Hi Yordan

    I plan to raise a ticket shortly.

    I was just trying to see if there was anything similar that might answer my questions; this looked pretty close but unresolved.

    Apologies if it was "waking the dead" - I'll get all my details together and raise a new ticket

    All the best,

    Richard

  • Hi Richard,

    I solved the problem. I got the display on my LCD through parallel lines and i used SPI for configuring the Display-tech LCD registers.

    Exactly what problem are u facing?

    Thanks,

    PRRADDHEP REDDE 

  • Hi PRRADDHEP

    I am very glad you had success; it gives me hope!

    I tried to post my own question  a few hours ago - but I think I put too much in and it has had to go to the moderators (hopefully it will turn up!)

    My problem is I can't work out how should define the display in the device tree (DTS).

    It is not clear to me if (or how) I need to bind the "panel" to the "spi device" that controls the display driver chip.

    If you don't mind me asking:

    - have you made any changes in you DTS from the snippets you posted previously in this ticket?

    - what did you do to get it working after your last post? (it seemed like you were very close to success but not quite there)

    These seem like popular devices - I am surprised that it is proving difficult to find a suitable reference (probably because the driver chip is so flexible)

    Thanks for any help you can provide.

    Best regards,

    Richard