imx8mp LVDS double screen problem

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

imx8mp LVDS double screen problem

2,647 Views
JackSp
Contributor I

Hi,

I would like to SD output 576i format data from LVDS interface using imx8mp SOM. So, i used to DS90CR286 for LVDS to TTL parallel converter and also used adv7341 for analog video converter.

Firstly, I modified my yocto image (5.15.71 kirkstone) for pixel clock=27MHz and resolution 720x576 using patch file. I generated test pattern using adv7341 board on 576i format clearly in this configuration.

test_pattern.jpeg

When i want to took LVDS output, i had double screen.

double_screen.jpeg

I think, i need to progressive to interlaced video conversion. So i added to “interlaced” flag to my “panel-timing” node (you can see in my patch file) and then i got “Failed to start Weston, a compositor, as a system service.” fail.   

 

Is there any way to convert data format progressive to interlace for LVDS output using imx8mp SOM?

 

Do you have any suggestion for this issue? I added the patch file and log file in the attachments.

 

Thank you for your help.

0 Kudos
Reply
3 Replies

2,624 Views
Sanket_Parekh
NXP TechSupport
NXP TechSupport

Hi @JackSp,

I hope you are doing well.
 
Make sure the connections of IMX-LVDS-HDMI are proper.
Please make sure to have hardware configuration in the device tree.
Please refer to Chapter 13: Display, Imaging, and Camera of i.MX8 Reference Manual.
Please refer to Chapter 10: Wayland and Weston of i.MX Graphics user guide.
Some patches of 'Add i.MX8MP LVDS driver in uboot' are available over Here.
 
Thanks and Regards,
Sanket Parekh
0 Kudos
Reply

2,551 Views
JackSp
Contributor I

Hi Sanket,

 

  • I have another issue about this problem. I got below message while booting image,

 

[  6.308408] imx-drm display-subsystem: bound imx-lcdifv3-crtc.0 (ops lcdifv3_crtc_ops)

[ OK ] Created slice Slice /system/systemd[  6.320968] imx-drm display-subsystem: bound 32c00000.bus:ldb@32ec005c (ops imx8mp_ldb_ops)

-backlight.

[  6.331538] [drm] Initialized imx-drm 1.0.0 20120507 for display-subsystem on minor 1

[  6.340020] imx-drm display-subsystem: [drm] Cannot find any crtc or sizes

 

  • Then i checked the drm utilities using this command

 

root@ucm-imx8m-plus:~# modetest -M imx-drm

Encoders:

id   crtc  type  possible crtcs possible clones

34   0    LVDS  0x00000001   0x00000001

 

Connectors:

id   encoder status     name      size (mm)    modes  encoders

35   0    connected    LVDS-1     270x200     0    34

 props:

    1 EDID:

        flags: immutable blob

        blobs:

 

        value:

    2 DPMS:

        flags: enum

        enums: On=0 Standby=1 Suspend=2 Off=3

        value: 0

    5 link-status:

        flags: enum

        enums: Good=0 Bad=1

        value: 0

    6 non-desktop:

        flags: immutable range

        values: 0 1

        value: 0

    4 TILE:

        flags: immutable blob

        blobs:

 

        value:

 

CRTCs:

id   fb   pos   size

33   0    (0,0)  (0x0)

 #0 nan 0 0 0 0 0 0 0 0 0 flags: ; type:

 props:

    24 VRR_ENABLED:

        flags: range

        values: 0 1

        value: 0

 

Planes:

id   crtc  fb   CRTC x,y    x,y   gamma size   possible crtcs

31   0    0    0,0       0,0   0        0x00000001

 formats: XR24 AR24 RG16 XB24 AB24 AR15 XR15

 props:

    8 type:

        flags: immutable enum

        enums: Overlay=0 Primary=1 Cursor=2

        value: 1

    32 zpos:

        flags: immutable range

        values: 0 0

        value: 0

 

Frame buffers:

id   size  pitch

 

  • Above logs about image with interlaced flag and, CRTCs parameters not setted.
  • I share logs below about image without interlaced flag.

root@ucm-imx8m-plus:~# modetest -M imx-drm

Encoders:

id   crtc  type  possible crtcs possible clones

34   33   LVDS  0x00000001   0x00000001

 

Connectors:

id   encoder status     name      size (mm)    modes  encoders

35   34   connected    LVDS-1     270x200     1    34

 modes:

    index name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot

 #0 720x576 25.00 720 740 804 864 576 590 591 625 13500 flags: nhsync, nvsync; type: preferred, driver

 props:

    1 EDID:

        flags: immutable blob

        blobs:

 

        value:

    2 DPMS:

        flags: enum

        enums: On=0 Standby=1 Suspend=2 Off=3

        value: 0

    5 link-status:

        flags: enum

        enums: Good=0 Bad=1

        value: 0

    6 non-desktop:

        flags: immutable range

        values: 0 1

        value: 0

    4 TILE:

        flags: immutable blob

        blobs:

 

        value:

 

CRTCs:

id   fb   pos   size

33   40   (0,0)  (720x576)

 #0 720x576 25.00 720 740 804 864 576 590 591 625 13500 flags: nhsync, nvsync; type: preferred, driver

 props:

    24 VRR_ENABLED:

        flags: range

        values: 0 1

        value: 0

 

Planes:

id   crtc  fb   CRTC x,y    x,y   gamma size   possible crtcs

31   33   40   0,0       0,0   0        0x00000001

 formats: XR24 AR24 RG16 XB24 AB24 AR15 XR15

 props:

    8 type:

        flags: immutable enum

        enums: Overlay=0 Primary=1 Cursor=2

        value: 1

    32 zpos:

        flags: immutable range

        values: 0 0

        value: 0

 

Frame buffers:

id   size  pitch

 

  • In these logs, CRTCs parameters setted. 
  • Do you have any advise or solution about this problem? Why i get crtc or size error?

 

Thank you for your reply.

0 Kudos
Reply

2,501 Views
Sanket_Parekh
NXP TechSupport
NXP TechSupport

Hi @JackSp,

I hope you are doing well.

- A CRTC represents the overall display pipeline. It receives pixel data from drm_plane and blends them together.
- The drm_display_mode is also attached to the CRTC, specifying display timings.
- As we have gone through such cases before, it might be a hardware problem.
- After it gets solved, one might need to make a slight timing adjustment, using the boundary device's timing in their device tree node.
- However it has been reported before but is fixed in the latest kernel version, so please make sure to use the latest Linux version.
- In the updated device tree, it might be possible for any misspelling or typing mistakes, which we have found in many of the cases before.
- One may find the solution from our close to a similar case.
- Problems faced during LVDS.
- struct drm_crtc_funcs: control CRTCs for a given device
 
Thanks and Regards,
Sanket Parekh
0 Kudos
Reply