Part Number: AM62L
Hi TI Experts,
I'm trying to interface 24 bit parallel RGB display with a custom AM62L31 board. the dss and drm has been initialised, however there are no visible changes in the display, how can i debug it.
Display Model : KD43G20-40TC-A2 (24 Bit Parallel RGB)
SDK : 12.00.00.07.04
Kernel Dmesg Log:
am62l@tmds62levm:~$ cat /sys/class/drm/card0-DPI-1/status connected am62l@tmds62levm:~$ dmesg | grep -iE "drm|dss|panel|fb" [ 0.000000] cma: Reserved 32 MiB at 0x00000000fba00000 [ 0.000000] software IO TLB: mapped [mem 0x00000000fb600000-0x00000000fb800000] (2MB) [ 0.286403] /bus@f0000/dss@30200000: Fixed dependency cycle(s) with /panel0 [ 0.293734] /panel0: Fixed dependency cycle(s) with /bus@f0000/dss@30200000 [ 5.823982] systemd[1]: Starting modprobe@drm.service - Load Kernel Module drm... [ 7.224913] systemd[1]: modprobe@drm.service: Deactivated successfully. [ 7.244325] systemd[1]: Finished modprobe@drm.service - Load Kernel Module drm. [ 16.353066] panel-simple panel0: supply power not found, using dummy regulator [ 16.443105] [drm] Initialized tidss 1.0.0 for 30200000.dss on minor 0 [ 16.468022] tidss 30200000.dss: vp0: Clock rate 14062500 differs over 5% from requested 9000000 [ 16.529462] tidss 30200000.dss: [drm] fb0: tidssdrmfb frame buffer device am62l@tmds62levm:~$ modetest trying to open device '/dev/dri/card0'... done opened device `TI Keystone DSS` on driver `tidss` (version 1.0.0 at 0) Encoders: id crtc type possible crtcs possible clones 41 40 DPI 0x00000001 0x00000001 Connectors: id encoder status name size (mm) modes encoders 42 41 connected DPI-1 0x0 1 41 modes: index name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot #0 480x272 56.77 480 488 489 532 272 276 286 298 9000 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 40 43 (0,0) (480x272) #0 480x272 56.77 480 488 489 532 272 276 286 298 9000 flags: nhsync, nvsync; 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: 256 Planes: id crtc fb CRTC x,y x,y gamma size possible crtcs 33 40 43 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) 35 zpos: flags: range values: 0 0 value: 0 36 COLOR_ENCODING: flags: enum enums: ITU-R BT.601 YCbCr=0 ITU-R BT.709 YCbCr=1 value: 0 37 COLOR_RANGE: flags: enum enums: YCbCr limited range=0 YCbCr full range=1 value: 1 38 alpha: flags: range values: 0 65535 value: 65535 39 pixel blend mode: flags: enum enums: Pre-multiplied=0 Coverage=1 value: 0 Frame buffers: id size pitch am62l@tmds62levm:~$
DTS:
\ panel0 {
compatible = "panel-dpi";
status = "okay";
bus-format = <0x1017>;
bus-flags = <0x6>;
bpc = <8>;
port {
panel_in_rgb: endpoint {
remote-endpoint = <&dpi_out>;
};
};
panel-timing {
clock-frequency = <9000000>;
hactive = <480>;
vactive = <272>;
hfront-porch = <8>;
hback-porch = <43>;
hsync-len = <1>;
vback-porch = <12>;
vfront-porch = <4>;
vsync-len = <10>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
};
&dss {
status = "okay";
bootph-all;
pinctrl-names = "default";
pinctrl-0 = <&dpi_pins_default>;
};
// remove the below port when dsi is used (done in overlay).
&dss_ports {
/* VP1: DPI Output */
port@0 {
reg = <0>;
dpi_out: endpoint {
remote-endpoint = <&panel_in_rgb>;
};
};
};
Thanks in advance.

