cancel
Showing results for 
Search instead for 
Did you mean: 

Issue with otm8009a mipi dsi panel configuration on the stm32mp157c-odyssey

hypnotriod
Associate II

Hello. I'm trying to configure the otm8009a 800x480 display panel from the stm32mp157f-dk2 dev kit on the Seeed Studio's stm32mp157c-odyssey board.
The issue is that by probing display with modetest -M stm I'm getting:

failed to open device 'stm': No such file or directory

But with modetest -M simpledrm I'm getting this output:

Encoders:
id      crtc    type    possible crtcs  possible clones
34      0       none    0x00000001      0x00000001

Connectors:
id      encoder status          name            size (mm)       modes   encoders
35      0       connected       Unknown-1       127x211         1       34
  modes:
        index name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot
  #0 480x800 60.00 480 480 480 480 800 800 800 800 23040 flags: ; 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: 3
        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: RG16 XR24
  props:
        8 type:
                flags: immutable enum
                enums: Overlay=0 Primary=1 Cursor=2
                value: 1
        30 IN_FORMATS:
                flags: immutable blob
                blobs:

                value:
                        01000000000000000200000018000000
                        01000000200000005247313658523234
                        03000000000000000000000000000000
                        0000000000000000
                in_formats blob decoded:
                         RG16:  LINEAR
                         XR24:  LINEAR

Frame buffers:
id      size    pitch

So display is actually working with simpledrm and I am able to launch weston. But with the bad performance.
What am I doing wrong or missing something?
Any help or advice would be appreciated! Thanks!
This is the dts file I have so far: stm32mp157c-odyssey.dts 

1 ACCEPTED SOLUTION

Accepted Solutions
hypnotriod
Associate II

Sorry. My bad. Didn't pay attention to the last logs I got.
I added pin configurations for the LCD GRB interface in the ltdc node. But this board doesn't have such type of connector, only MIPI DSI. So I've got conflicting pins.
Anyway, this is my working dts file so far.

debian@stm32mp157c-odyssey:~$ modetest -M stm
Encoders:
id      crtc    type    possible crtcs  possible clones
31      38      DSI     0x00000001      0x00000001

Connectors:
id      encoder status          name            size (mm)       modes   encoders
32      31      connected       DSI-1           52x86           1       31
  modes:
        index name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot
  #0 480x800 50.00 480 578 610 708 800 815 825 839 29700 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:
        33 dithering:
                flags: enum
                enums: Off=0 On=1
                value: 0

CRTCs:
id      fb      pos     size
38      43      (0,0)   (480x800)
  #0 480x800 50.00 480 578 610 708 800 815 825 839 29700 flags: nhsync, nvsync; type: preferred, driver
  props:
        24 VRR_ENABLED:
                flags: range
                values: 0 1
                value: 0
        28 GAMMA_LUT:
                flags: blob
                blobs:

                value:
        29 GAMMA_LUT_SIZE:
                flags: immutable range
                values: 0 4294967295
                value: 256

Planes:
id      crtc    fb      CRTC x,y        x,y     gamma size      possible crtcs
34      38      43      0,0             0,0     0               0x00000001
  formats: AR24 XR24 RG24 RG16 AR15 XR15 AR12 XR12 C8
  props:
        8 type:
                flags: immutable enum
                enums: Overlay=0 Primary=1 Cursor=2
                value: 1
        30 IN_FORMATS:
                flags: immutable blob
                blobs:

                value:
                        01000000000000000900000018000000
                        01000000400000004152323458523234
                        52473234524731364152313558523135
                        41523132585231324338202000000000
                        ff010000000000000000000000000000
                        0000000000000000
                in_formats blob decoded:
                         AR24:  LINEAR
                         XR24:  LINEAR
                         RG24:  LINEAR
                         RG16:  LINEAR
                         AR15:  LINEAR
                         XR15:  LINEAR
                         AR12:  LINEAR
                         XR12:  LINEAR
                         C8:  LINEAR
        36 alpha:
                flags: range
                values: 0 65535
                value: 65535
        37 zpos:
                flags: immutable range
                values: 0 0
                value: 0
39      0       0       0,0             0,0     0               0x00000001
  formats: AR24 RG24 RG16 AR15 AR12 C8
  props:
        8 type:
                flags: immutable enum
                enums: Overlay=0 Primary=1 Cursor=2
                value: 0
        30 IN_FORMATS:
                flags: immutable blob
                blobs:

                value:
                        01000000000000000600000018000000
                        01000000300000004152323452473234
                        52473136415231354152313243382020
                        3f000000000000000000000000000000
                        0000000000000000
                in_formats blob decoded:
                         AR24:  LINEAR
                         RG24:  LINEAR
                         RG16:  LINEAR
                         AR15:  LINEAR
                         AR12:  LINEAR
                         C8:  LINEAR
        41 alpha:
                flags: range
                values: 0 65535
                value: 65535
        42 zpos:
                flags: immutable range
                values: 1 1
                value: 1

Frame buffers:
id      size    pitch



View solution in original post

1 REPLY 1
hypnotriod
Associate II

Sorry. My bad. Didn't pay attention to the last logs I got.
I added pin configurations for the LCD GRB interface in the ltdc node. But this board doesn't have such type of connector, only MIPI DSI. So I've got conflicting pins.
Anyway, this is my working dts file so far.

debian@stm32mp157c-odyssey:~$ modetest -M stm
Encoders:
id      crtc    type    possible crtcs  possible clones
31      38      DSI     0x00000001      0x00000001

Connectors:
id      encoder status          name            size (mm)       modes   encoders
32      31      connected       DSI-1           52x86           1       31
  modes:
        index name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot
  #0 480x800 50.00 480 578 610 708 800 815 825 839 29700 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:
        33 dithering:
                flags: enum
                enums: Off=0 On=1
                value: 0

CRTCs:
id      fb      pos     size
38      43      (0,0)   (480x800)
  #0 480x800 50.00 480 578 610 708 800 815 825 839 29700 flags: nhsync, nvsync; type: preferred, driver
  props:
        24 VRR_ENABLED:
                flags: range
                values: 0 1
                value: 0
        28 GAMMA_LUT:
                flags: blob
                blobs:

                value:
        29 GAMMA_LUT_SIZE:
                flags: immutable range
                values: 0 4294967295
                value: 256

Planes:
id      crtc    fb      CRTC x,y        x,y     gamma size      possible crtcs
34      38      43      0,0             0,0     0               0x00000001
  formats: AR24 XR24 RG24 RG16 AR15 XR15 AR12 XR12 C8
  props:
        8 type:
                flags: immutable enum
                enums: Overlay=0 Primary=1 Cursor=2
                value: 1
        30 IN_FORMATS:
                flags: immutable blob
                blobs:

                value:
                        01000000000000000900000018000000
                        01000000400000004152323458523234
                        52473234524731364152313558523135
                        41523132585231324338202000000000
                        ff010000000000000000000000000000
                        0000000000000000
                in_formats blob decoded:
                         AR24:  LINEAR
                         XR24:  LINEAR
                         RG24:  LINEAR
                         RG16:  LINEAR
                         AR15:  LINEAR
                         XR15:  LINEAR
                         AR12:  LINEAR
                         XR12:  LINEAR
                         C8:  LINEAR
        36 alpha:
                flags: range
                values: 0 65535
                value: 65535
        37 zpos:
                flags: immutable range
                values: 0 0
                value: 0
39      0       0       0,0             0,0     0               0x00000001
  formats: AR24 RG24 RG16 AR15 AR12 C8
  props:
        8 type:
                flags: immutable enum
                enums: Overlay=0 Primary=1 Cursor=2
                value: 0
        30 IN_FORMATS:
                flags: immutable blob
                blobs:

                value:
                        01000000000000000600000018000000
                        01000000300000004152323452473234
                        52473136415231354152313243382020
                        3f000000000000000000000000000000
                        0000000000000000
                in_formats blob decoded:
                         AR24:  LINEAR
                         RG24:  LINEAR
                         RG16:  LINEAR
                         AR15:  LINEAR
                         AR12:  LINEAR
                         C8:  LINEAR
        41 alpha:
                flags: range
                values: 0 65535
                value: 65535
        42 zpos:
                flags: immutable range
                values: 1 1
                value: 1

Frame buffers:
id      size    pitch