Hi,
We are using one custom board having am5728 sitara processor. We have connected LCD and HDMI out connector but "kmscube" application is not executing successfully it is showing following error. According to my understanding It seems some problem between primary and secondary display device. We want to use LCD as primary and HDMI as secondary display device.
/* Result of kmscube */
root@am57xx-evm:~#root@am57xx-evm:~# kmscube -c 26 //using connector id 26 given by mode test for HDMI
trying to load module omapdrm...success.[ 130.653575] omapdss error: HDMI I2C Master Error
### Display [0]: CRTC = 28, Connector = 26 // here it is showing display0 with respect to 26 connector id which is of HDMI connector but in our dts file hdmi aliases is given to display1 (.dts file entry mentioned below)
Mode chosen [1024x768] : Clock => 65000, Vertical refresh => 60, Type => 64
Horizontal => 1024, 1048, 1184, 1344, 0
Vertical => 768, 771, 777, 806, 0
### Display [1]: CRTC = 32, Connector = 30
Mode chosen [240x320] : Clock => 6350, Vertical refresh => 69, Type => 72
Horizontal => 240, 250, 260, 280, 0
Vertical => 320, 324, 326, 328, 0
### Primary display => ConnectorId = 26, Resolution = 1024x768 //Primary display connector id it is showing 26 (HDMI).
failed to load module: /usr/lib/gbm/gbm_dri.so: cannot open shared object file: No such file or directory
failed to load module: /usr/lib/gbm/gbm_gallium_drm.so: cannot open shared object file: No such file or directory
loaded module: gbm_pvr.so
PVR:(Warning): PVRSRVOpenDCDevice: Warning - 138 returned [80, /bridged_pvr_dc_glue.c]
Using display 0x1 with EGL version 1.4
EGL Version "1.4 build 1.9@2253347"
EGL Vendor "Imagination Technologies"
EGL Extensions "EGL_IMG_client_api_ogl EGL_KHR_image EGL_KHR_image_base EGL_KHR_image_pixmap EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image EGL_KHR_vg_parent_image EGL_IMG_cl_image EGL_KHR_fence_sync EGL_IMG_hibernate_process EGL_WL_bind_wayland_display EGL_KHR_surfaceless_gles2 EGL_NV_post_sub_buffer "
display 0 failed to set mode: Permission denied
/* Result of modetest command */
root@am57xx-evm:~# modetest
trying to open device 'i915'...failed.
trying to open device 'radeon'...failed.
trying to open device 'nouveau'...failed.
trying to open device[ 51.702889] omapdss error: HDMI I2C Master Error
'vmwgfx'...failed.
trying to open device 'omapdrm'...success.
Encoders:
id crtc type possible crtcs possible clones
25 28 TMDS 0x00000001 0x00000000
29 32 TMDS 0x00000002 0x00000000
Connectors:
id encoder status type size (mm) modes encoders
26 25 connected HDMI-A 0x0 5 25 // HDMI connector id 26
modes:
name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot)
1024x768 60 1024 1048 1184 1344 768 771 777 806 flags: nhsync, nvsync; type: driver
800x600 60 800 840 968 1056 600 601 605 628 flags: phsync, pvsync; type: driver
800x600 56 800 824 896 1024 600 601 603 625 flags: phsync, pvsync; type: driver
848x480 60 848 864 976 1088 480 486 494 517 flags: phsync, pvsync; type: driver
640x480 60 640 656 752 800 480 489 492 525 flags: nhsync, nvsync; type: driver
props:
1 EDID:
flags: immutable blob
blobs:
value:
2 DPMS:
flags: enum
enums: On=0 Standby=1 Suspend=2 Off=3
value: 0
30 29 connected unknown 0x0 2 29
modes:
name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot)
240x320 69 240 250 260 280 320 324 326 328 flags: nhsync, nvsync; type: preferred, driver
240x320 69 240 250 260 280 320 324 326 328 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
CRTCs:
id fb pos size
28 48 (0,0) (1024x768)
1024x768 60 1024 1048 1184 1344 768 771 777 806 flags: nhsync, nvsync; type: driver
props:
21 trans-key-mode:
flags: enum
enums: disable=0 gfx-dst=1 vid-src=2
value: 0
22 trans-key:
flags: range
values: 0 16777215
value: 0
23 background:
flags: range
values: 0 16777215
value: 0
24 alpha_blender:
flags: range
values: 0 1
value: 0
17 rotation:
flags: bitmask
values: rotate-0=0x1 rotate-90=0x2 rotate-180=0x4 rotate-270=0x8 reflect-x=0x10 reflect-y=0x20
value: 1
18 zorder:
flags: range
values: 0 3
value: 0
19 global_alpha:
flags: range
values: 0 255
value: 255
20 pre_mult_alpha:
flags: range
values: 0 1
value: 0
32 47 (0,0) (240x320)
240x320 69 240 250 260 280 320 324 326 328 flags: nhsync, nvsync; type: preferred, driver
props:
21 trans-key-mode:
flags: enum
enums: disable=0 gfx-dst=1 vid-src=2
value: 0
22 trans-key:
flags: range
values: 0 16777215
value: 0
23 background:
flags: range
values: 0 16777215
value: 0
24 alpha_blender:
flags: range
values: 0 1
value: 0
17 rotation:
flags: bitmask
values: rotate-0=0x1 rotate-90=0x2 rotate-180=0x4 rotate-270=0x8 reflect-x=0x10 reflect-y=0x20
value: 1
18 zorder:
flags: range
values: 0 3
value: 0
19 global_alpha:
flags: range
values: 0 255
value: 255
20 pre_mult_alpha:
flags: range
values: 0 1
value: 0
Planes:
id crtc fb CRTC x,y x,y gamma size possible crtcs
27 28 48 0,0 0,0 0 0x00000001
formats: RG16 RX12 XR12 RA12 AR12 XR15 AR15 RG24 RX24 XR24 RA24 AR24
props:
5 type:
flags: immutable enum
enums: Overlay=0 Primary=1 Cursor=2
value: 1
17 rotation:
flags: bitmask
values: rotate-0=0x1 rotate-90=0x2 rotate-180=0x4 rotate-270=0x8 reflect-x=0x10 reflect-y=0x20
value: 1
18 zorder:
flags: range
values: 0 3
value: 0
19 global_alpha:
flags: range
values: 0 255
value: 255
20 pre_mult_alpha:
flags: range
values: 0 1
value: 0
31 32 47 0,0 0,0 0 0x00000002
formats: RG16 RX12 XR12 RA12 AR12 XR15 AR15 RG24 RX24 XR24 RA24 AR24 NV12 YUYV UYVY
props:
5 type:
flags: immutable enum
enums: Overlay=0 Primary=1 Cursor=2
value: 1
17 rotation:
flags: bitmask
values: rotate-0=0x1 rotate-90=0x2 rotate-180=0x4 rotate-270=0x8 reflect-x=0x10 reflect-y=0x20
value: 1
18 zorder:
flags: range
values: 0 3
value: 0
19 global_alpha:
flags: range
values: 0 255
value: 255
20 pre_mult_alpha:
flags: range
values: 0 1
value: 0
33 0 0 0,0 0,0 0 0x00000003
formats: RG16 RX12 XR12 RA12 AR12 XR15 AR15 RG24 RX24 XR24 RA24 AR24 NV12 YUYV UYVY
props:
5 type:
flags: immutable enum
enums: Overlay=0 Primary=1 Cursor=2
value: 0
17 rotation:
flags: bitmask
values: rotate-0=0x1 rotate-90=0x2 rotate-180=0x4 rotate-270=0x8 reflect-x=0x10 reflect-y=0x20
value: 1
18 zorder:
flags: range
values: 0 3
value: 2
19 global_alpha:
flags: range
values: 0 255
value: 255
20 pre_mult_alpha:
flags: range
values: 0 1
value: 0
34 0 0 0,0 0,0 0 0x00000003
formats: RG16 RX12 XR12 RA12 AR12 XR15 AR15 RG24 RX24 XR24 RA24 AR24 NV12 YUYV UYVY
props:
5 type:
flags: immutable enum
enums: Overlay=0 Primary=1 Cursor=2
value: 0
17 rotation:
flags: bitmask
values: rotate-0=0x1 rotate-90=0x2 rotate-180=0x4 rotate-270=0x8 reflect-x=0x10 reflect-y=0x20
value: 1
18 zorder:
flags: range
values: 0 3
value: 3
19 global_alpha:
flags: range
values: 0 255
value: 255
20 pre_mult_alpha:
flags: range
values: 0 1
value: 0
/* Device Tree entry for LCD in am57xx-evm.dts*/
aliases {
display0 = &lcd0;
}
dss {
ports {
#address-cells = <1>;
#size-cells = <0>;
port {
reg = <0>;
dpi_out: endpoint {
remote-endpoint = <&lcd_in>;
data-lines = <18>;
};
};
};
};
lcd0: display {
compatible = "ilitek,ili9341","panel-dpi";
pinctrl-names = "default";
pinctrl-0 = <&lcd_pins>;
label = "lcd";
enable-gpios = <&gpio4 20 GPIO_ACTIVE_HIGH>;
panel-timing {
clock-frequency = <6350000>; /* 6.35 MHz */
hactive = <240>;
vactive = <320>;
hfront-porch = <10>;
hback-porch = <20>;
hsync-len = <10>;
vback-porch = <2>;
vfront-porch = <4>;
vsync-len = <2>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <1>;
};
port {
lcd_in: endpoint {
remote-endpoint = <&dpi_out>;
};
};
};
/* Device Tree entry for HDMI in am57xx-beagle-x15.dts*/
aliases {
sound0 = &sound0;
display1 = &hdmi0;
sound1 = &hdmi;
/* rtc0 = &mcp_rtc; PRRADDHEP REDDE
rtc1 = &tps659038_rtc;
rtc2 = &rtc; */
};
hdmi0: connector {
compatible = "hdmi-connector";
label = "hdmi";
type = "a";
port {
hdmi_connector_in: endpoint {
remote-endpoint = <&tpd12s015_out>;
};
};
};
tpd12s015: encoder {
compatible = "ti,tpd12s015";
gpios = <&gpio4 13 GPIO_ACTIVE_HIGH>, /* gpio4_13, CT CP HPD */
<&gpio4 14 GPIO_ACTIVE_HIGH>, /* gpio4_14, LS OE */
<&gpio1 14 GPIO_ACTIVE_HIGH>; /* gpio1_14, HPD */
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
tpd12s015_in: endpoint {
remote-endpoint = <&hdmi_out>;
};
};
port@1 {
reg = <1>;
tpd12s015_out: endpoint {
remote-endpoint = <&hdmi_connector_in>;
};
};
};
};
&hdmi {
status = "ok";
vdda-supply = <&ldo4_reg>;
pinctrl-names = "default";
pinctrl-0 = <&hdmi_pins>;
port {
hdmi_out: endpoint {
remote-endpoint = <&tpd12s015_in>;
};
};
};
Please Tell me how to resolve this issue, if We are using LCD and HDMI stand alone, In that case it is working fine. We are facing this issue only when we using both of them together.
Thanks & Regards
Abhishek