Hello Ti team,
We have custom board based on am625, we are using SDK9.
kmstest and kmsprint commands are working, but it's couldn't display anything.
Logs are given below.
root@sm2s-am6254:~# root@sm2s-am6254:~# root@sm2s-am6254:~# systemctl status weston.service �● weston.service - Weston, a Wayland compositor, as a system service Loaded: loaded (8;;file://sm2s-am6254/lib/systemd/system/weston.service/lib/systemd/system/weston.service8;;; enabled; vendor preset: enabled)8;; Active: active (running) since Sat 2023-07-15 21:55:07 CEST; 11s ago TriggeredBy: �● weston.socket Docs: 8;;man:weston(1)man:weston(1)8;;8;; 8;;man:weston.ini(5)man:weston.ini(5)8;;8;; 8;;http://wayland.freedesktop.org/http://wayland.freedesktop.org/8;;8;; Main PID: 581 (weston) Tasks: 0 (limit: 2151) Memory: 996.0K CGroup: /system.slice/weston.service �‣ 581 /usr/bin/weston --modules=systemd-notify.so Jul 15 21:55:05 sm2s-am6254 systemd[1]: Starting Weston, a Wayland compositor, as a system service... Jul 15 21:55:05 sm2s-am6254 systemd[581]: pam_unix(weston-autologin:session): session opened for user weston(uid=1001) by weston(uid=0) Jul 15 21:55:07 sm2s-am6254 systemd[1]: Started Weston, a Wayland compositor, as a system service. root@sm2s-am6254:~# root@sm2s-am6254:~# root@sm2s-am6254:~# systemctl status weston.socket �● weston.socket - Weston socket Loaded: loaded (8;;file://sm2s-am6254/lib/systemd/system/weston.socket/lib/systemd/system/weston.socket8;;; enabled; vendor preset: enabled)8;; Active: active (running) since Sat 2023-07-15 21:55:03 CEST; 21s ago Until: Sat 2023-07-15 21:55:03 CEST; 21s ago Triggers: �● weston.service Listen: /run/wayland-0 (Stream) Tasks: 0 (limit: 2151) Memory: 4.0K CGroup: /system.slice/weston.socket Jul 15 21:55:03 sm2s-am6254 systemd[1]: Starting Weston socket... Jul 15 21:55:03 sm2s-am6254 systemd[1]: Listening on Weston socket. root@sm2s-am6254:~# root@sm2s-am6254:~# root@sm2s-am6254:~# root@sm2s-am6254:~# kmsprint Connector 0 (40) LVDS-1 (connected) Encoder 0 (39) LVDS Crtc 0 (38) 1280x800@68.72 75.000 1280/30/4/30/? 800/4/4/4/? 69 (68.72) 0x0 0x48 Plane 0 (31) fb-id: 50 (crtcs: 0) 0,0 1280x800 -> 0,0 1280x800 (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 N V12) FB 50 1280x800 root@sm2s-am6254:~# root@sm2s-am6254:~# root@sm2s-am6254:~# root@sm2s-am6254:~# kmstest --flip Could not get DRM master permission. Card already in use? root@sm2s-am6254:~# root@sm2s-am6254:~# root@sm2s-am6254:~# systemctl stop weston.socket root@sm2s-am6254:~# systemctl stop weston.service root@sm2s-am6254:~# root@sm2s-am6254:~# root@sm2s-am6254:~# kmstest --flip Connector 0/@40: LVDS-1 Crtc 0/@38: 1280x800@68.72 75.000 1280/30/4/30/? 800/4/4/4/? 69 (68.72) 0x0 0x48 Plane 0/@31: 0,0-1280x800 Fb 50 1280x800-XR24 press enter to exit Connector 0: fps 68.72, slowest 14.70 ms Connector 0: fps 68.72, slowest 14.63 ms Connector 0: fps 68.72, slowest 14.64 ms ^C root@sm2s-am6254:~# root@sm2s-am6254:~# root@sm2s-am6254:~# root@sm2s-am6254:~# root@sm2s-am6254:~# modetest -M tidss Encoders: id crtc type possible crtcs possible clones 39 38 LVDS 0x00000001 0x00000001 Connectors: id encoder status name size (mm) modes encoders 40 39 connected LVDS-1 262x164 1 39 modes: index name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot #0 1280x800 68.72 1280 1310 1314 1344 800 804 808 812 75000 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 49 (0,0) (1280x800) #0 1280x800 68.72 1280 1310 1314 1344 800 804 808 812 75000 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: 256 Planes: id crtc fb CRTC x,y x,y gamma size possible crtcs 31 38 49 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 AB12: LINEAR RA12: LINEAR RG16: LINEAR BG16: LINEAR AR15: LINEAR AB15: LINEAR AR24: LINEAR AB24: LINEAR RA24: LINEAR BA24: LINEAR RG24: LINEAR BG24: LINEAR AR30: LINEAR AB30: LINEAR XR12: LINEAR XB12: LINEAR RX12: LINEAR XR15: LINEAR XB15: LINEAR XR24: LINEAR XB24: LINEAR RX24: LINEAR BX24: LINEAR XR30: LINEAR XB30: LINEAR YUYV: LINEAR UYVY: LINEAR NV12: LINEAR 33 zpos: flags: immutable range values: 0 0 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 AB12: LINEAR RA12: LINEAR RG16: LINEAR BG16: LINEAR AR15: LINEAR AB15: LINEAR AR24: LINEAR AB24: LINEAR RA24: LINEAR BA24: LINEAR RG24: LINEAR BG24: LINEAR AR30: LINEAR AB30: LINEAR XR12: LINEAR XB12: LINEAR RX12: LINEAR XR15: LINEAR XB15: LINEAR XR24: LINEAR XB24: LINEAR RX24: LINEAR BX24: LINEAR XR30: LINEAR XB30: LINEAR YUYV: LINEAR UYVY: LINEAR NV12: LINEAR 43 zpos: flags: range values: 1 1 value: 0 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: 0 Frame buffers: id size pitch root@sm2s-am6254:~# root@sm2s-am6254:~# dmesg | grep -i tidss [ 1.541561] [drm] Initialized tidss 1.0.0 20180215 for 30200000.dss on minor 0 [ 1.595878] tidss 30200000.dss: [drm] fb0: tidssdrmfb frame buffer device root@sm2s-am6254:~# dmesg | grep -i LVSS root@sm2s-am6254:~# dmesg | grep -i dss [ 0.360607] platform 30200000.dss: Fixed dependency cycle(s) with /display [ 1.541561] [drm] Initialized tidss 1.0.0 20180215 for 30200000.dss on minor 0 [ 1.595878] tidss 30200000.dss: [drm] fb0: tidssdrmfb frame buffer device root@sm2s-am6254:~# root@sm2s-am6254:~#
device tree entry given below
display { /*compatible = "microtips,mf-101hiebcaf0";*/ /* * Note that the OLDI TX 0 transmits the odd set of pixels * while the OLDI TX 1 transmits the even set. This is a * fixed configuration in the IP integration and is not * changeable. The properties, "dual-lvds-odd-pixels" and * "dual-lvds-even-pixels" have been used to merely * identify if a Dual Link configuration is required. * Swapping them will not make any difference. */ compatible = "panel-lvds"; width-mm = <262>; height-mm = <164>; label = "WXGA (16:10)"; data-mapping = "jeida-24"; status = "okay"; panel-timing { clock-frequency = <75000000>; hactive = <1280>; vactive = <800>; hback-porch = <30>; hfront-porch = <30>; vback-porch = <4>; vfront-porch = <4>; hsync-len = <4>; vsync-len = <4>; }; port@0 { dual-lvds-odd-pixels; lcd_in0: endpoint { remote-endpoint = <&oldi_out0>; }; }; port@1 { dual-lvds-even-pixels; lcd_in1: endpoint { remote-endpoint = <&oldi_out1>; }; }; }; &dss { pinctrl-names = "default"; pinctrl-0 = <&main_oldi0_pins_default>; }; &dss_ports { #address-cells = <1>; #size-cells = <0>; /* VP1: LVDS Output (OLDI TX 0) */ port@0 { reg = <0>; oldi_out0: endpoint { remote-endpoint = <&lcd_in0>; }; }; /* VP1: LVDS Output (OLDI TX 1) */ port@2 { reg = <2>; oldi_out1: endpoint { remote-endpoint = <&lcd_in1>; }; }; }; main_oldi0_pins_default: main-oldi0-pins-default { pinctrl-single,pins = < AM62X_IOPAD(0x0260, PIN_OUTPUT, 0) /* (AA5) OLDI0_A0N */ AM62X_IOPAD(0x025c, PIN_OUTPUT, 0) /* (Y6) OLDI0_A0P */ AM62X_IOPAD(0x0268, PIN_OUTPUT, 0) /* (AD3) OLDI0_A1N */ AM62X_IOPAD(0x0264, PIN_OUTPUT, 0) /* (AB4) OLDI0_A1P */ AM62X_IOPAD(0x0270, PIN_OUTPUT, 0) /* (Y8) OLDI0_A2N */ AM62X_IOPAD(0x026c, PIN_OUTPUT, 0) /* (AA8) OLDI0_A2P */ AM62X_IOPAD(0x0278, PIN_OUTPUT, 0) /* (AB6) OLDI0_A3N */ AM62X_IOPAD(0x0274, PIN_OUTPUT, 0) /* (AA7) OLDI0_A3P */ AM62X_IOPAD(0x0280, PIN_OUTPUT, 0) /* (AC6) OLDI0_A4N */ AM62X_IOPAD(0x027c, PIN_OUTPUT, 0) /* (AC5) OLDI0_A4P */ AM62X_IOPAD(0x0288, PIN_OUTPUT, 0) /* (AE5) OLDI0_A5N */ AM62X_IOPAD(0x0284, PIN_OUTPUT, 0) /* (AD6) OLDI0_A5P */ AM62X_IOPAD(0x0290, PIN_OUTPUT, 0) /* (AE6) OLDI0_A6N */ AM62X_IOPAD(0x028c, PIN_OUTPUT, 0) /* (AD7) OLDI0_A6P */ AM62X_IOPAD(0x0298, PIN_OUTPUT, 0) /* (AD8) OLDI0_A7N */ AM62X_IOPAD(0x0294, PIN_OUTPUT, 0) /* (AE7) OLDI0_A7P */ AM62X_IOPAD(0x02a0, PIN_OUTPUT, 0) /* (AD4) OLDI0_CLK0N */ AM62X_IOPAD(0x029c, PIN_OUTPUT, 0) /* (AE3) OLDI0_CLK0P */ AM62X_IOPAD(0x02a8, PIN_OUTPUT, 0) /* (AE4) OLDI0_CLK1N */ AM62X_IOPAD(0x02a4, PIN_OUTPUT, 0) /* (AD5) OLDI0_CLK1P */ >; };
please guide us what can be the solution.