Skip to content

[DSI] NULL packet instead of horizontal sync start in RPI CM3+ #155

@TaQk

Description

@TaQk

Hi
We have hard time trying to implement DSI panel in one of our products. The display works without any problems with HDMI-DSI adapter. The RPI CM3 is only able to configure the panel. We can write and read registers (using DSI) but not display anything (e.g. I can configure the display in a test mode and it starts to show test images).

I can see on my oscilloscope that
sudo cat /dev/urandom > /dev/fb0
changes the bitstream.

We have noticed the video stream from RPI is quite different than from the adapter. Adapter exits LP mode, then sends 0x21 frame (HSYNC start) and 888RGB bitstream. The RPI exits LP mode but then… sends 1 or 2 null frames (0x09) and then 888RGB stream.

Adapter is in LP mode between frames. RPI exits LP mode between frames to only send NULL packet and enters LP mode again.

Just look at the images below (my scope is only 200MHz, the images show DP0 line):

Adapter:

adapter_1

RPI CM3+:

RPICM3_1

And the whole frame:

Adapter (LP mode, then HSYNC start and bitstream):

adapter_2

RPI CM3+ (LP mode, then null packet, then LP mode, then null packet and bitstream)

RPICM3_2

The OS version is 4.19.118-v7+. I tried also 5.4 (without success).
Display driver: EK79030 datasheet

We tried to fix this in panel driver and vc4 driver but without any improvement.
Do anybody have idea how to fix this?

Regards

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions