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.

AM5728: AM5728 LCD Background green screen problem?

Part Number: AM5728
Other Parts Discussed in Thread: BEAGLEBOARD-X15

Hi sir,

I am using AM5728 custom board (AM5728->GS2962->LCD lilliput device)

Actually AM5728 board connected to gs2962 serializer to external lcd monitor.

Power on green display occurs.

Using below commands i am sendind video from one board to another board.

output of am5728 is RGB pattern this will give to gs2962(only accept of YCbyCr data)

i am changing am5728 gfx mode to video1 mode its not changing because in video1 mode supports rgb and ycbycr but gfx supports only rgb mode.


BEAGLEBOARD-X15

sudo ifconfig eth0 192.168.31.173 netmask 255.255.254.0 up

HOST=192.168.31.175

gst-launch-1.0 -e v4l2src device=/dev/video1 num-buffers=4000  ! 'video/x-raw, width=1920, height=1080, framerate=30/1, format=YUY2' ! vpe num-input-buffers=8 ! queue ! ducatih264enc intra-interval=1 ! h264parse ! rtph264pay ! udpsink port=5000 host=$HOST

CUSTOM-BOARD

sudo ifconfig eth0 192.168.31.175 netmask 255.255.254.0 up

gst-launch-1.0 -v udpsrc port=5000 ! "application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, payload=(int)96" ! rtph264depay ! h264parse ! decodebin ! videoconvert ! kmssink

Below image it's displaying:

  • Hi,

    I think your display device is expecting YUV as input format (probably over discrete sync interface), but DSS does not support it. DSS outputs RGB format over discrete sync interface.

    This does not look like related to input GRPX or video pipeline.. 

    Regards,

    Brijesh

  • Hi sir,

    we are using discrete sync only.

    Because our gs2972 device which supports both embedded sync and discrete sync. we can use embedded sync but some limitation in errata for hsync timings not more than 255. because of that we used discrete sync.

    internally RGB to YUV any convertion will happens.

    Thanking you,

    Regards,

    Ramachandra

  • I think you can configure DSS to output in 8bit or 16bit embedded YUV422 format. But please check if SW supports it. Also what is the size of hsync that the receiving device expects? Because DSS cannot generate more than 256 clock cycle of hsync.

    Regards,

    Brijesh 

  • Hi sir,

    1.gs2972 device which supports both embedded sync and discrete sync. we can use embedded sync then limitation is there for hsync timings not more than 255. because of that we used discrete sync.

    2.as per errata document we changed hsync values(dispc_errata_i734_data)

    .pixelclock =74250000,
        .hactive =1920 ,
        .hfront_porch = 88,
        .hsync_len = 148,
        .hback_porch =  44,
        .vactive = 1080,
        .vfront_porch = 4,
        .vsync_len = 36,
        .vback_porch =  5

    .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC | DISPLAY_FLAGS_DE_LOW,

    3.in dts:

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

            port {
                reg = <0>;

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

    24-bit diagram is below

    4.data-lines=<16> means it's occurring below figure type

    16-bit diagram is below

    5.below line added in this function: static int dispc_ovl_setup()

    REG_FLD_MOD(dispc, DISPC_CONFIG, 1, 24, 24);        //cispl (RGB to YUV at the output)

    Thanking you,

    Regards,

    Rama,

  • But please note that DSS does not support YUV output on discrete sync interface. This could be reason why you are seeing greenish image. LDC is expecting the YUV422 image, but the output from DSS is in RGB format.. 

    Regards,

    Brijesh

  • DSS does not support YUV output on discrete sync interface. this is not mentioned in datasheet,TRM & errata documents.

    kindly let us know if there is any provision to convert RGB to YUV.

    Thanking you,

    Regards,

    Ramachandra

  • Hi brijesh,

    Please gentle reminder 

  • DSS does not support YUV output on discrete sync interface. this is not mentioned in datasheet,TRM & errata documents.

    This is not errata, DSS clearly says what it outputs over embedded sync and what on discrete sync.. 

    kindly let us know if there is any provision to convert RGB to YUV.

    Please refer to below application note.

    https://www.ti.com/lit/an/sprac16a/sprac16a.pdf

    Regards,

    Brijesh

  • Hi,

    Actually required output is YUV format, In embedded sync support both RGB & YUV formats are available,

    In embedded sync hsw<265 bytes means including (hfront_porch+hsync_len+hback_porch(88+148+44=280))

    1. We will change to embedded sync and with below configuration any problem will give sir(because hsw <256 bytes) ,

    .pixelclock =74250000,
        .hactive =1920 ,
        .hfront_porch = 88,
        .hsync_len = 148,
        .hback_porch =  44,
        .vactive = 1080,
        .vfront_porch = 4,
        .vsync_len = 36,
        .vback_porch =  5

    .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC | DISPLAY_FLAGS_DE_LOW,

    2. we enabled rgb to yuv 

    DISPC_CONFIG1.COLOR CONVENABLE = 1 // Enalbed Color Space Convertion RGB to YUV
    DIS PC_CONFIG1.OUTPUTMODEENABLE = 0 Progressive mode selected

    as per DSS Bit Exact Output document we changed the configuration,

    Any other changes required sir,

    thanking you,

    Regards,

    Ramachandra

  • Hi,

    Actually required output is YUV format, In embedded sync support both RGB & YUV formats are available,

    Not really, embedded sync output supports YUV format and discrete sync supports RGB formats.

    1. We will change to embedded sync and with below configuration any problem will give sir(because hsw <256 bytes) ,

    Looks fine to me. Please note that if output interface is 8bit, 148 will be multiplied by 2 in the driver, so it becomes 296, but max hsync-len is only 256 clock cycle, so it would be limited to 256 clock cycles.

    2. we enabled rgb to yuv 

    RGB 2 YUV cannot be enabled for discrete sync interface.

    Regards,

    Brijesh