Other Parts Discussed in Thread: AM62P, AB15
Hello TI Team,
I’m currently trying to bring up a Waveshare 4-inch DSI LCD (C) display on the SK-AM62P-LP board, but so far without success.
Here’s the display in use: https://www.waveshare.com/wiki/4inch_DSI_LCD_(C)
Waveshare confirmed that the official sources are:
-
Panel driver:
drivers/gpu/drm/panel/panel-waveshare-dsi.c -
Device tree overlay:
overlays/vc4-kms-dsi-waveshare-panel-overlay.dts
I’ve ported the driver to the AM62P (kernel 6.6.58) and adjusted the device tree as shown below.
The panel is detected by DRM, and the connector reports as connected, but the display remains black.
cat /sys/class/drm/card0-DSI-1/status
connected
cat /sys/class/drm/card0-DSI-1/modes
720x720
modetest -M tidss -s 40@38:720x720
setting mode 720x720-60.03Hz on connectors 40, crtc 38
Backlight control works, no DSI or DSS errors appear in dmesg,
and modetest -M tidss confirms that connector, CRTC, and plane are correctly linked.
Panel timing (from driver):
.clock = 36500,
.hdisplay = 720,
.hsync_start = 760,
.hsync_end = 780,
.htotal = 800,
.vdisplay = 720,
.vsync_start = 744,
.vsync_end = 748,
.vtotal = 760,
.width_mm = 88,
.height_mm = 88,
Despite all this, no visible image appears on the display.
Questions:
-
Is this configuration (2 lanes, RGB888, 36.5 MHz pixel clock, 720×720) supported on the AM62P platform?
-
Are there any known limitations or specific DCS initialization commands required for custom MIPI-DSI panels on AM62P?
Thank you very much for your support.
Addtitional infos that can be relevant for you:
modetest -M tidss -c -pmodetest -M tidss -c -p
Connectors:
id encoder status name size (mm) modes encoders
40 39 connected DSI-1 88x88 1 39
modes:
index name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot
#0 720x720 60.03 720 760 780 800 720 744 748 760 36500 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: 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
38 48 (0,0) (720x720)
#0 720x720 60.03 720 760 780 800 720 744 748 760 36500 flags: ; type: preferred, driver
props:
24 VRR_ENABLED:
flags: range
values: 0 1
value: 0
27 CTM:
flags: blob
blobs:value:
28 GAMMA_LUT:
flags: blob
blobs:value:
29 GAMMA_LUT_SIZE:
flags: immutable range
values: 0 4294967295
value: 256Planes:
id crtc fb CRTC x,y x,y gamma size possible crtcs
31 38 48 0,0 0,0 0 0x00000001
formats: AR12 AB12 RA12 RG16 BG16 AR15 AB15 AR24 AB24 RA24 BA24 RG24 BG24 AR30 AB30 XR12 XB12 RX12 XR15 XB15 XR24 XB24 RX24 BX24 XR30 XB30 YUYV UYVY NV12
props:
8 type:
flags: immutable enum
enums: Overlay=0 Primary=1 Cursor=2
value: 1
30 IN_FORMATS:
flags: immutable blob
blobs:value:
01000000000000001d00000018000000
01000000900000004152313241423132
52413132524731364247313641523135
41423135415232344142323452413234
42413234524732344247323441523330
41423330585231325842313252583132
58523135584231355852323458423234
52583234425832345852333058423330
59555956555956594e56313200000000
ffffff1f000000000000000000000000
0000000000000000
in_formats blob decoded:
AR12: LINEAR(0x0)
AB12: LINEAR(0x0)
RA12: LINEAR(0x0)
RG16: LINEAR(0x0)
BG16: LINEAR(0x0)
AR15: LINEAR(0x0)
AB15: LINEAR(0x0)
AR24: LINEAR(0x0)
AB24: LINEAR(0x0)
RA24: LINEAR(0x0)
BA24: LINEAR(0x0)
RG24: LINEAR(0x0)
BG24: LINEAR(0x0)
AR30: LINEAR(0x0)
AB30: LINEAR(0x0)
XR12: LINEAR(0x0)
XB12: LINEAR(0x0)
RX12: LINEAR(0x0)
XR15: LINEAR(0x0)
XB15: LINEAR(0x0)
XR24: LINEAR(0x0)
XB24: LINEAR(0x0)
RX24: LINEAR(0x0)
BX24: LINEAR(0x0)
XR30: LINEAR(0x0)
XB30: LINEAR(0x0)
YUYV: LINEAR(0x0)
UYVY: LINEAR(0x0)
NV12: LINEAR(0x0)
33 zpos:
flags: range
values: 0 1
value: 0
34 COLOR_ENCODING:
flags: enum
enums: ITU-R BT.601 YCbCr=0 ITU-R BT.709 YCbCr=1
value: 0
35 COLOR_RANGE:
flags: enum
enums: YCbCr limited range=0 YCbCr full range=1
value: 1
36 alpha:
flags: range
values: 0 65535
value: 65535
37 pixel blend mode:
flags: enum
enums: Pre-multiplied=0 Coverage=1
value: 0
41 0 0 0,0 0,0 0 0x00000001
formats: AR12 AB12 RA12 RG16 BG16 AR15 AB15 AR24 AB24 RA24 BA24 RG24 BG24 AR30 AB30 XR12 XB12 RX12 XR15 XB15 XR24 XB24 RX24 BX24 XR30 XB30 YUYV UYVY NV12
props:
8 type:
flags: immutable enum
enums: Overlay=0 Primary=1 Cursor=2
value: 0
30 IN_FORMATS:
flags: immutable blob
blobs:value:
01000000000000001d00000018000000
01000000900000004152313241423132
52413132524731364247313641523135
41423135415232344142323452413234
42413234524732344247323441523330
41423330585231325842313252583132
58523135584231355852323458423234
52583234425832345852333058423330
59555956555956594e56313200000000
ffffff1f000000000000000000000000
0000000000000000
in_formats blob decoded:
AR12: LINEAR(0x0)
AB12: LINEAR(0x0)
RA12: LINEAR(0x0)
RG16: LINEAR(0x0)
BG16: LINEAR(0x0)
AR15: LINEAR(0x0)
AB15: LINEAR(0x0)
AR24: LINEAR(0x0)
AB24: LINEAR(0x0)
RA24: LINEAR(0x0)
BA24: LINEAR(0x0)
RG24: LINEAR(0x0)
BG24: LINEAR(0x0)
AR30: LINEAR(0x0)
AB30: LINEAR(0x0)
XR12: LINEAR(0x0)
XB12: LINEAR(0x0)
RX12: LINEAR(0x0)
XR15: LINEAR(0x0)
XB15: LINEAR(0x0)
XR24: LINEAR(0x0)
XB24: LINEAR(0x0)
RX24: LINEAR(0x0)
BX24: LINEAR(0x0)
XR30: LINEAR(0x0)
XB30: LINEAR(0x0)
YUYV: LINEAR(0x0)
UYVY: LINEAR(0x0)
NV12: LINEAR(0x0)
43 zpos:
flags: range
values: 0 1
value: 1
44 COLOR_ENCODING:
flags: enum
enums: ITU-R BT.601 YCbCr=0 ITU-R BT.709 YCbCr=1
value: 0
45 COLOR_RANGE:
flags: enum
enums: YCbCr limited range=0 YCbCr full range=1
value: 1
46 alpha:
flags: range
values: 0 65535
value: 65535
47 pixel blend mode:
flags: enum
enums: Pre-multiplied=0 Coverage=1
value: 0The display is not showing a picture.
kmstest --device="/dev/dri/card0"
Connector 0/@40: DSI-1
Crtc 0/@38: 720x720@60.03 36.500 720/40/20/20/? 720/24/4/12/? 60 (60.03) 0x0 0x48
Plane 0/@31: 0,0-720x720
Fb 50 720x720-XR24
press enter to exit