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.

AM625: How to change to RGB888

Genius 13655 points
Part Number: AM625

Hello Champs,

Customer made his own board by using DS90CF384AMTDX to convert LVDS to RGB888, using ADV7123 to output VGA to LCD screen. 

He used TI filesystem to output  lvds 4-lane RGB888, but the color is wrong. Is the output of TI filesystem rgb565? How to convert it to rgb888?

1. Below is TI demo

2. Below is kmstest

Below is customer's dts configuration

display {
        compatible = "goworld,ili6150h6";

                /*
                * Note that the OLDI TX 0 transmits the odd set of pixels
                * while the OLDI TX 1 transmits the even set. This is a
                * fixed configuration in the IP integration and is not
                * changeable. The properties, "dual-lvds-odd-pixels" and
                * "dual-lvds-even-pixels" have been used to merely
                * identify if a Dual Link configuration is required.
                * Swapping them will not make any difference.
                */
                port@0 {
                //    dual-lvds-odd-pixels;
                    lcd_in0: endpoint {
                        remote-endpoint = <&oldi_out0>;
                    };
                };

            //    port@1 {
            //        dual-lvds-even-pixels;
            //        lcd_in1: endpoint {
            //            remote-endpoint = <&oldi_out1>;
            //        };
            //    };    
                
                      };

modify the panel-simple.c

static const struct display_timing goworld_ili6150h6_timing = {
 .pixelclock = { 65000000, 65000000, 65000000 },
 .hactive = { 1024, 1024, 1024 },
 .hfront_porch = { 24, 24, 24 },
 .hback_porch = { 160, 160, 160 },
 .hsync_len = { 136, 136, 136 },
 .vactive = { 768, 768, 768 },
 .vfront_porch = { 3, 3, 3 },
 .vback_porch = { 29, 29, 29 },
 .vsync_len = { 6, 6, 6 },
};

static const struct panel_desc goworld_ili6150h6 = {
 .timings = &goworld_ili6150h6_timing,
 .num_timings = 1,
 .bpc = 8,
 .size = {
 .width = 165,
 .height = 105,
 },
 .delay = {
 .enable = 25,
 .disable = 25,
 },
 .bus_flags = DRM_BUS_FLAG_DE_HIGH,
 .bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG,
 .connector_type = DRM_MODE_CONNECTOR_LVDS,
};

Schematic:

BLANK=1 SYNC=0




Thanks
Regards
Shine