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.

AM5729: LCD display for RGB565

Part Number: AM5729

Dear Champs,

Is it possible to change pin map to display RGB565?

e.g. my customer wants to display RGB565 through VOUT1_D0~15 pins of AM5729. is it possible?

Thanks and Best Regards,

SI.

  • Hi SI,

    Hi SI,

    I think you could enable TDM and can get 16bit RGB565 output on the lower data lines D0, D15. If the TDM cycle format is set to 0 and Cycle1 set to 0x10 and TDM is enabled, the input RGB16 will be sent out on lower 16bit data lines..

    Please refer to TRM for more details.

    Regards,

    Brijesh 

  • Hi Brijesh,

    Thanks for your immediate response.

    My customer is using AM5729 IDK board connecting to custom LCD board through 16bit LCD data and LCD_D0 ~ D15 were connected.

    Only with the change in the device tree of SDK SW as below, they could not any issue in their LCD display and it works well with 16bit LCD.

    For RGB16, is it default to use LCD_D0 ~ D15 in AM5729?

    When they tried to apply TDM as you suggested, there was no difference with default mode.

    ~~~~~~~~~~~~~

    // 3.3.4.9. DSS — Processor SDK Linux Documentation

    // AM572x LCD display doesn't work - Processors forum - Processors - TI E2E support forums

    // https://e2e.ti.com/support/processors/f/processors-forum/538207/display-port-settings-in-am5728-based-board

    // https://e2e.ti.com/support/processors/f/processors-forum/556779/am572x-custom-lcd

    / {

    aliases {

                         display = &lcd;

    };

     

               lcd:display {

    //                   pinctrl-names = "default";

    //                   pinctrl-0 = <&lcd_pins_default>;

     

                         status = "okay";

                         //compatible = "osddisplays,osd070t1718-19ts", "panel-dpi";

                         compatible = "panel-dpi";

                         //compatible = "ti,tilcdc,panel";

     

            label = "lcd";

            backlight = <&lcd_bl>;

                         enable-gpios = <&gpio3 11 GPIO_ACTIVE_HIGH>;   // AH4.vin1a_d7.gpio3_11

     

                         panel-timing {

                                clock-frequency = <18000000>;   // 18 Mhz (Min. 4 Mhz) for N3/NTMini/NTA

                                    hactive = <480>;

                                    vactive = <272>;

                                    hfront-porch = <2>;

                                    hback-porch = <45>;

                                    vfront-porch = <4>;

                                    vback-porch = <12>;

                                    hsync-len = <41>;

                                    vsync-len = <10>;

                                    hsync-active = <0>;

                                    vsync-active = <0>;

                bpp = <16>;

                de-active = <1>;

                pixelclk-active = <1>;

            };

     

                         port {

                                    lcd_in: endpoint {

                                               remote-endpoint = <&dpi_out>;

                                               //data-lines = <24>;

                                               data-lines = <16>;

                                    };

                         };

               };

     

    lcd_bl:backlight {

                         status = "okay";

                       compatible = "pwm-backlight";

                         // The hardware numbers these subsystems 1,2,3 but the dra7.dtsi file names them 0,1,2.

     

                         // https://e2e.ti.com/support/processors/f/processors-forum/665012/linux-am5728-lcd-backlight-issue

                         // TRM Pg.407

                         // PWMSS1 TP_PWMSS1_TARG 0x4843_E000

                         // PWMSS2 TP_PWMSS2_TARG 0x4844_0000

                         // PWMSS3 TP_PWMSS3_TARG 0x4844_2000

                        

            pwms = <&ehrpwm1 0 50000 0>;            // E6.vin2a_d9.ehrpwm2A

            pwm-names = "LCD";

     

            /* Anything lower than 241 is no longer visible */

            brightness-levels = <0 243 245 247 249 251 252 253 255>;

     

            default-brightness-level = <8>;

    };

     

     

    &dss {

               status = "ok";

               vdda_video-supply = <&vdd_1v8_pll>;

     

               ports {

                         #address-cells = <1>;

                         #size-cells = <0>;

          

                         port@0 {

                                    reg = <0>;

                                    dpi_out: endpoint {

                                               remote-endpoint = <&lcd_in>;

                                               //data-lines = <24>;

                                               data-lines = <16>;

                                    };

                         };

               };

    };

     

    &ehrpwm0 {

               status = "okay";

    };

     

    &epwmss0 {

               status = "okay";

    };

     

    &ehrpwm1 {

               status = "okay";

    };

     

    &epwmss1 {

               status = "okay";

    };

     

    &ehrpwm2 {

               status = "okay";

    };

     

    &epwmss2 {

               status = "okay";

    };

     

    Thanks and Best Regards,

    SI.

  • Hi SI,

    As explained in the TRM section "DISPC Spatial/Temporal Dithering", when the RGB565 output is enabled, data will already be on D0 to D15 data lines.. so no need to enable TDM for this feature. Even if we enable TDM, the output will be same.

    Regards,

    Brijesh