This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux/AM5728: HDMI output problem

Part Number: AM5728
Other Parts Discussed in Thread: TPIC2810, ADS7846

Tool/software: Linux

Hi

We encountered a problem during debugging:At the beginning, the board is not connected to the monitor when it is turned on. The monitor is connected again later but it does not receive the video signal. So what could we do to make the video display when the monitor is connected again.

thanks everyone.

best regards

mql

  • Hello,

    What is the PSDK version that you are using here?
    The latest PSDK version is 5.03.
    Please could you refer the below thread is it helpful for you:
    e2e.ti.com/.../636038

    Here are some useful guides as well:
    software-dl.ti.com/.../Foundational_Components_Kernel_Drivers.html
    software-dl.ti.com/.../Foundational_Components_Graphics.html

    BR
    Margarita
  • Hi Margarita


    The PSDK version is 04.01.00.06

    In our usage scenario, it is possible that the monitor will not be connected when the board is booted, and the monitor will be connected after launching the application.

    For example:At the beginning, we power up the am5728 board without monitor connected. we launch the example application of qt5 using " /usr/share/qt5/example/quick/touchinteraction -platform eglfs", and we get an error: 

    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
    found valid GBM backend : gbm_pvr.so
    No modes available for output "HDMI1"
    Failed to add PLANE (32) parameters crtc_id = 41, fb_id = 52 with err =-22: (Invalid argument)
    [ 127.832606] ------------[ cut here ]------------
    [ 127.837259] WARNING: CPU: 1 PID: 1135 at drivers/gpu/drm/drm_atomic.c:835 drm_atomic_check_only+0x3ac/0x588
    [ 127.858132] Modules linked in: xdma(O) usbhid bc_example(O) xhci_plat_hcd xhci_hcd usbcore xfrm_user xfrm4_tunnel ipcomp xfrm_ipcomp esp4 ah4 rpmsg_proto af_key xfrm_algo dwc3 udc_core usb_common rpmsg_rpc bluetooth prueth pru_rproc pwm_fan ahci_platform libahci_platform libahci pruss pruss_intc snd_soc_omap_hdmi_audio libata pvrsrvkm(O) omap_sham ti_vip c_can_platform c_can can_dev pruss_soc_bus scsi_mod omap_aes_driver omap_wdt gpio_pisosr ads7846 ti_vpe ti_sc dwc3_omap ti_csc ti_vpdma ad5724r_spi extcon_palmas(+) rtc_omap omap_des gpio_tpic2810 extcon_core des_generic crypto_engine rtc_palmas ov2659 omap_remoteproc virtio_rpmsg_bus rpmsg_core remoteproc sch_fq_codel uio_module_drv(O) uio gdbserverproxy(O) cmemk(O)
    [ 127.988305] CPU: 1 PID: 1135 Comm: QThread Tainted: G D W O 4.9.41+ #8
    [ 127.995644] Hardware name: Generic DRA74X (Flattened Device Tree)
    [ 128.001761] Backtrace:
    [ 128.004231] [<c020b29c>] (dump_backtrace) from [<c020b558>] (show_stack+0x18/0x1c)
    [ 128.011833] r7:00000009 r6:60030113 r5:00000000 r4:c1022610
    [ 128.017518] [<c020b540>] (show_stack) from [<c04cce60>] (dump_stack+0x8c/0xa0)
    [ 128.024771] [<c04ccdd4>] (dump_stack) from [<c022e3d0>] (__warn+0xec/0x104)
    [ 128.031761] r7:00000009 r6:c0bd7e1c r5:00000000 r4:00000000
    [ 128.037444] [<c022e2e4>] (__warn) from [<c022e4a0>] (warn_slowpath_null+0x28/0x30)
    [ 128.045044] r9:00000001 r8:7fffffff r7:ffffffea r6:dfd40b40 r5:ee449a00 r4:dfd80180
    [ 128.052823] [<c022e478>] (warn_slowpath_null) from [<c05e60fc>] (drm_atomic_check_only+0x3ac/0x588)
    [ 128.061907] [<c05e5d50>] (drm_atomic_check_only) from [<c05e75c0>] (drm_mode_atomic_ioctl+0x700/0x7a0)
    [ 128.071251] r10:ec0d8000 r9:ee449a34 r8:b2d007a4 r7:00000001 r6:00000000 r5:ee431180
    [ 128.079109] r4:b2d007b8
    [ 128.081656] [<c05e6ec0>] (drm_mode_atomic_ioctl) from [<c05d1bdc>] (drm_ioctl+0x1ec/0x3e8)
    [ 128.089954] r10:c03864bc r9:ec0d9e50 r8:ed3a6300 r7:00000038 r6:c0a41440 r5:00000038
    [ 128.097813] r4:00000000
    [ 128.100360] [<c05d19f0>] (drm_ioctl) from [<c0341544>] (do_vfs_ioctl+0xa8/0x7fc)
    [ 128.107785] r10:00000000 r9:ec0d8000 r8:b3a3bda0 r7:00000004 r6:ed042300 r5:ee7c49c0
    [ 128.115644] r4:b3a3bda0
    [ 128.118188] [<c034149c>] (do_vfs_ioctl) from [<c0341cd4>] (SyS_ioctl+0x3c/0x64)
    [ 128.125526] r10:00000000 r9:ec0d8000 r8:b3a3bda0 r7:c03864bc r6:ed042300 r5:00000004
    [ 128.133384] r4:ed042301
    [ 128.135928] [<c0341c98>] (SyS_ioctl) from [<c0207be0>] (ret_fast_syscall+0x0/0x34)
    [ 128.143528] r9:ec0d8000 r8:c0207d84 r7:00000036 r6:c03864bc r5:b3a3bda0 r4:b2d00790
    [ 128.328094] ---[ end trace 99bece47b8604c71 ]---
    procPageFlipReq(): failed to add crtc atomically (Invalid argument)

    what we can do to solve this problem?

    thank you.

    best regards

    mql

  • Hello,

    I tried to set :
    setenv optargs omapdrm.displays=1,0
    where my HDMI is the primary display and LCD is the primary display.
    When the HDMI cable is plugged in when the board starts I see weston and matrix but when I unplug and plug I see only weston. In order to see the matrix on HDMI I must restart the weston.
    When I start the board with HDMI cable unplug then the I see the matrix on my LCD since it is the secondary display. Then if I plug the HDMI cable I must restart weston and matrix to see it on HDMI.

    Here is the guide how you could set your HDMI as primary display:
    software-dl.ti.com/.../How_to_Guides_Target.html
    You could try to enable hdmi only.
    software-dl.ti.com/.../Foundational_Components_Graphics.html
    I see this No modes available for output "HDMI1".
    When you are running ./touchinteraction -platform eglfs try stop weston.
    I would recommend you to verify if this demo is working .

    Hope this helps.

    BR
    Margarita
  • Hello Margarita

    The weston has been stopped.

    I am not very familiar with the graphics system.

    Does this mean that if we have neither HDMI nor LCD connected at system startup, then start any program in the form of -platform eglfs, and after the program is started, If we plug in HDMI and want it to display properly, we have no choice but to restart the program

    thank you.

    best regards

    mql
  • Hello,

    Here are the steps that you could try.

    Make only HDMI as primary display. Enter in u-boot and execute these commands:
    setenv optargs omapdrm.displays=1
    saveenv
    boot

    Now only the HDMI is enable.
    1. HDMI cable is connected when the board is booting:

    root@am57xx-evm:~# cd /usr/share/qt5/examples/quick/touchinteraction/
    root@am57xx-evm:/usr/share/qt5/examples/quick/touchinteraction# /etc/init.d/weston stop
    Stopping Weston
    root@am57xx-evm:/usr/share/qt5/examples/quick/touchinteraction# ./touchinteraction --platform eglfs

    unplug the cable and then plug it. This is working.

    2. Unplug the HDMI cable and then start the board.
    If you execute the touchinteraction demo you will see error
    ..
    EGLFS: Can't continue without a display
    ...
    since there is no display connected.
    But if you plugin the HDMI cable before to start the demo it will work. After that you could unplug and plug the HDMI cable( refer 1).

    Best Regards,
    Margarita