HDMI monitor display not showing the display with imx6 module

Hello

I have imx6 module plugged into the custom board which has HDMI output. I connected the HDMI - HDMI display and powered on the unit. The display does not come up. Please help me out in bringing up the display. I shall be thankful to you.

Below are information about the environment::

Corresponding bootup logs are attached
dmesg_log.txt (27.7 KB)

DTS file is also attached which we use for our custom board. It has been patched with custom changes as compared to standard eval board dts file
imx6q-apalis-ixora-v1.1.dts (8.6 KB)
Yocto version is thud (2.6.4)

root@apalis-imx6:~# uname -a
Linux apalis-imx6 4.14.170-3.0.4+gbaa6c24240a4 #1 SMP Thu Jul 11 11:39:01 UTC 2024 armv7l armv7l armv7l GNU/Linux

uboot video arguments

setenv vidargs ‘mxc_hdmi.only_cea=1 video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24 video=mxcfb1:off video=mxcfb2:off video=mxcfb3:off fbmem=32M’

(I am not sure which fb to use but I have observed that if other than fb0 used then I see error with the xrandr command
root@apalis-imx6:~# xrandr
X11 connection rejected because of wrong authentication.
Can’t open display localhost:10.0
)

root@apalis-imx6:~# xrandr -q
Screen 0: minimum 320 x 200, current 3520 x 1080, maximum 16384 x 16384
eDP-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 344mm x 194mm
   1920x1080     60.00*+  59.97    59.96    59.93  
   1680x1050     59.95    59.88  
   1400x1050     59.98  
   1600x900      59.99    59.94    59.95    59.82  
   1280x1024     60.02  
   1400x900      59.96    59.88  
   1280x960      60.00  
   1440x810      60.00    59.97  
   1368x768      59.88    59.85  
   1280x800      59.99    59.97    59.81    59.91  
   1280x720      60.00    59.99    59.86    59.74  
   1024x768      60.04    60.00  
   960x720       60.00  
   928x696       60.05  
   896x672       60.01  
   1024x576      59.95    59.96    59.90    59.82  
   960x600       59.93    60.00  
   960x540       59.96    59.99    59.63    59.82  
   800x600       60.00    60.32    56.25  
   840x525       60.01    59.88  
   864x486       59.92    59.57  
   700x525       59.98  
   800x450       59.95    59.82  
   640x512       60.02  
   700x450       59.96    59.88  
   640x480       60.00    59.94  
   720x405       59.51    58.99  
   684x384       59.88    59.85  
   640x400       59.88    59.98  
   640x360       59.86    59.83    59.84    59.32  
   512x384       60.00  
   512x288       60.00    59.92  
   480x270       59.63    59.82  
   400x300       60.32    56.34  
   432x243       59.92    59.57  
   320x240       60.05  
   360x202       59.51    59.13  
   320x180       59.84    59.32  
HDMI-1 disconnected (normal left inverted right x axis y axis)
DP-1 connected 1600x900+1920+0 (normal left inverted right x axis y axis) 698mm x 393mm
   2560x1440     75.00 +  59.95  
   1920x1080     60.00    50.00    59.94  
   1680x1050     59.95  
   1600x900      60.00* 
   1280x1024     75.02    60.02  
   1440x900      59.89  
   1280x800      59.81  
   1152x864      75.00  
   1280x720      60.00    50.00    59.94  
   1024x768      75.03    70.07    60.00  
   832x624       74.55  
   800x600       72.19    75.00    60.32    56.25  
   720x576       50.00  
   720x480       60.00    59.94  
   640x480       75.00    72.81    66.67    60.00    59.94  
   720x400       70.08  
DP-2 disconnected (normal left inverted right x axis y axis)
DP-3 disconnected (normal left inverted right x axis y axis)
DP-4 disconnected (normal left inverted right x axis y axis)
root@apalis-imx6:~# fbset -s

mode "1920x1080-60"
    # D: 148.500 MHz, H: 67.500 kHz, V: 60.000 Hz
    geometry 1920 1080 1920 1088 16
    timings 6734 148 88 36 4 44 5
    hsync high
    vsync high
    rgba 5/11,6/5,5/0,0/0
endmode

Hi, I’m the Toradex AI Assistant. I’m in early beta, and I would appreciate your feedback.
The Toradex Support team will follow up with you shortly!

Did you like my answer?

:+1: :-1:


Hello,

Based on the information provided, it seems that your HDMI display is not being detected or activated correctly with your i.MX6 module on a custom board. Here are several steps and checks to help troubleshoot and potentially resolve the issue:

  1. Check Hardware Connections: Ensure that the HDMI cable is properly connected and the display is powered on. It might seem basic, but it’s often overlooked.

  2. Verify U-Boot Video Arguments: The U-Boot environment variable vidargs you’ve set appears correct for enabling HDMI output. However, ensure that these settings are being applied correctly by checking the U-Boot boot log for any errors or warnings related to video output. You can also try simplifying the vidargs to a basic configuration to test functionality, for example:

    setenv vidargs 'video=mxcfb0:dev=hdmi,1280x720M@60,if=RGB24'
    
  3. Linux Kernel and Device Tree: Since you’re using a custom DTS file, ensure that the HDMI output is correctly configured in the device tree. This includes checking the HDMI node and its properties, such as status being set to “okay” and the correct phy settings. Given the custom nature of your board, compare your HDMI configuration with that of a reference board to spot any discrepancies.

  4. X11 Configuration: The error with xrandr indicating “X11 connection rejected because of wrong authentication” suggests there might be an issue with your X11 configuration or the way you’re trying to run xrandr. Ensure you’re running it in a session where the DISPLAY variable is correctly set, for example:

    export DISPLAY=:0
    xrandr
    

    This should be done in the graphical user session or with appropriate permissions.

  5. Check Display Output with fbset: The fbset -s output shows that a framebuffer mode is set for 1920x1080, which is a good sign. However, ensure that the framebuffer device (/dev/fb0) is actually being used by your display server or application. You can test the framebuffer directly with tools like fbtest.

  6. Kernel Logs: Since you mentioned having dmesg_log.txt, look for any messages related to the display, HDMI, or i.MX6 IPU and HDMI drivers. Warning or error messages could provide clues on what’s going wrong.

  7. **

Please, also check if these links can help you solve your problem:

Verdin Development Board | Toradex Developer Center.

My goal is to test HDMI port. If any reference image from Toradex would be of help to test HDMI port is also fine for me.

with those parameter set in the uboot I see that following on the bootup logs


[    0.303324] Console: switching to colour frame buffer device 160x45
[    0.339010] mxc_hdmi 20e0000.hdmi_video: Error only one HDMI output support now!
[    0.339159] mxc_sdc_fb fb@1: NO mxc display driver found!
[    0.339274] mxc_sdc_fb: probe of fb@1 failed with error -1
[    0.339428] mxc_sdc_fb fb@2: NO mxc display driver found!
[    0.339630] mxc_sdc_fb fb@3: registered mxc display driver vdac
[    0.342346] mxc_sdc_fb fb@3: 640x350 h_sync,r,l: 64,32,96  v_sync,l,u: 3,32,60 pixclock=31500

Complete bootup logs
dmesg_log_1.txt (27.5 KB)

he Toradex Easy Installer is a stripped-down Linux version with a dedicated UI for image flashing. It is configured by default to output video to all available video interfaces, including HDMI. You can load it over USB OTG as described here.

If your HDMI interface is wired properly, you should see the Toradex Easy Installer UI on the connected HDMI display. If you have an Ixora carrier board, you can use it to verify this setup.

I followed the instructions mentioned in the following page.

When I run the image from USB using command run bootcmd_usb0 I get following error

Apalis iMX6 # run bootcmd_usb0

Device 0: Vendor: General Rev: 1100 Prod: USB Flash Disk
Type: Removable Hard Disk
Capacity: 3838.0 MB = 3.7 GB (7860224 x 512)
… is now current device
Scanning usb 0:1…
Found U-Boot script /boot.scr
2076 bytes read in 27 ms (74.2 KiB/s)
.#Executing script at 17000000
80 bytes read in 22 ms (2.9 KiB/s)
35209364 bytes read in 1385 ms (24.2 MiB/s)
Bootargs: console=ttymxc0,115200 quiet video=DPI-1:640x480D video=HDMI-A-1:640x480-16@60D video=LVDS-1:d video=VGA-l
.# Loading kernel from FIT Image at 14420000 …
Could not find configuration node
ERROR: can’t get kernel image!
SCRIPT FAILED: continuing…
Apalis iMX6 #

My vidargs in UBoot are

vidargs=video=mxcfb0:dev=hdmi,1280x720M@60,if=RGB24

Above error occured due to easy installer version which was Apalis-iMX6_ToradexEasyInstaller_6.7.0+build.7

I downgraded to Apalis-iMX6_ToradexEasyInstaller_1.8-20181019 and seems now the image is booted from USB

Starting kernel …

�����������
Industrial temperature grade DDR3 timings.
Trying to boot from MMC1

U-Boot 2019.07-3.0.4+g26d926eda08 (Jun 27 2024 - 04:25:00 +0000)

CPU: Freescale i.MX6Q rev1.6 at 792MHz
CPU: Industrial temperature grade (-40C to 105C) at 37C
Reset cause: POR
DRAM: 2 GiB
PMIC: device id: 0x10, revision id: 0x21, programmed
MMC: FSL_SDHC: 1, FSL_SDHC: 2, FSL_SDHC: 0
Loading Environment from MMC… OK
In: serial
Out: serial
Err: serial
Model: Toradex Apalis iMX6 Quad 2GB IT V1.1Y, Serial# 11167058
Net: using PHY at 7
FEC [PRIME]
Hit any key to stop autoboot: 0
Apalis iMX6 # run bootcmd_usb0
starting USB…
Bus usb@2184000: USB EHCI 1.00
Bus usb@2184200: USB EHCI 1.00
scanning bus usb@2184000 for devices… 1 USB Device(s) found
scanning bus usb@2184200 for devices… 3 USB Device(s) found
scanning usb for storage devices… 1 Storage Device(s) found
scanning usb for ethernet devices… 0 Ethernet Device(s) found

Device 0: Vendor: General Rev: 1100 Prod: USB Flash Disk
Type: Removable Hard Disk
Capacity: 3838.0 MB = 3.7 GB (7860224 x 512)
… is now current device
Scanning usb 0:1…
Found U-Boot script /boot.scr
583 bytes read in 27 ms (20.5 KiB/s)

Executing script at 17000000

21066988 bytes read in 837 ms (24 MiB/s)

Loading kernel from FIT Image at 12200000 …

Using ‘config@1’ configuration
Trying ‘kernel@1’ kernel subimage
Description: Linux Kernel 4.1
Type: Kernel Image
Compression: uncompressed
Data Start: 0x122000dc
Data Size: 5343856 Bytes = 5.1 MiB
Architecture: ARM
OS: Linux
Load Address: 0x11000000
Entry Point: 0x11000000
Hash algo: md5
Hash value: f03e68bd1f6f9aae8cfcab3e44848670
Verifying Hash Integrity … md5+ OK

Loading ramdisk from FIT Image at 12200000 …

Using ‘config@1’ configuration
Trying ‘ramdisk@1’ ramdisk subimage
Description: SquashFS RAMdisk
Type: RAMDisk Image
Compression: uncompressed
Data Start: 0x12718c34
Data Size: 15671296 Bytes = 14.9 MiB
Architecture: ARM
OS: Linux
Load Address: unavailable
Entry Point: unavailable
Hash algo: md5
Hash value: 25632f146bb649eb8883f5773ad2f4b0
Verifying Hash Integrity … md5+ OK

Loading fdt from FIT Image at 12200000 …

Using ‘config@1’ configuration
Trying ‘fdt@1’ fdt subimage
Description: Apalis iMX6 Device Tree
Type: Flat Device Tree
Compression: uncompressed
Data Start: 0x1360acfc
Data Size: 50361 Bytes = 49.2 KiB
Architecture: ARM
Hash algo: md5
Hash value: 67b35a20ece1bd6c1c0639fed8dc7b47
Verifying Hash Integrity … md5+ OK
Booting using the fdt blob at 0x1360acfc
Loading Kernel Image … OK
Loading Device Tree to 2fff0000, end 2ffff4b8 … OK

Starting kernel …

[ 0.139348] stmpe-i2c 2-0041: failed to read regs 0x0: -5
[ 1.274812] snvs-secvio 20cc000.caam-snvs: can’t get snvs clock
[ 1.283068] sgtl5000 2-000a: Error reading chip id -5
[ 1.400763] imx-sgtl5000 sound: ASoC: CODEC DAI sgtl5000 not registered
[ 1.407425] imx-sgtl5000 sound: snd_soc_register_card failed (-517)
[ 1.826534] imx6q-pcie 1ffc000.pcie: phy link never came up
[ 1.832161] imx6q-pcie 1ffc000.pcie: failed to initialize host
[ 1.840390] imx-sgtl5000 sound: ASoC: CODEC DAI sgtl5000 not registered
[ 1.847044] imx-sgtl5000 sound: snd_soc_register_card failed (-517)
[ 1.854921] imx-sgtl5000 sound: ASoC: CODEC DAI sgtl5000 not registered
[ 1.861583] imx-sgtl5000 sound: snd_soc_register_card failed (-517)
[ 2.127216] imx-sgtl5000 sound: ASoC: CODEC DAI sgtl5000 not registered
[ 2.133895] imx-sgtl5000 sound: snd_soc_register_card failed (-517)
Running /etc/rc.local…
Apalis-iMX6_ToradexEasyInstaller_1.8-20181019
[ 2.305431] imx-sgtl5000 sound: ASoC: CODEC DAI sgtl5000 not registered
[ 2.312080] imx-sgtl5000 sound: snd_soc_register_card failed (-517)

Welcome to Toradex Easy Installer

This is a Linux based installer for Toradex modules. Currently the
installer does not have a serial console interface. You can use the
Toradex Easy Installer through any of the available display interfaces
using USB mouse/keyboard or via network using VNC. Use:

ip addr show eth0

to display the Ethernet IP address or use USB RNDIS at IP 192.168.11.1.

/ # [ 3.289172] imx-sgtl5000 sound: ASoC: CODEC DAI sgtl5000 not registered
[ 3.295917] imx-sgtl5000 sound: snd_soc_register_card failed (-517)
[ 3.304826] sd 1:0:0:0: [sda] No Caching mode page found
[ 3.310192] sd 1:0:0:0: [sda] Assuming drive cache: write through

/ #
/ #

from the vncviewer (through debug USB cable) I can see the window but not through the HDMI output screen.

Hello @Usman,

We would recommend that you use the initial steps from the Loading Toradex Easy Installer | Toradex Developer Center page.

These involve only putting the module in recovery mode and loading the Toradex Easy Installer via USB, with the recovery-linux.sh or recovery-windows.bat scripts on the host machine.

Booting to USB with run bootcmd_usb0 is not needed here.
It is likely that you can only get an older version of the Toradex Easy Installer up because the installed image on the module has an older bootloader.

If the display output still does not work with a newer version of the Toradex Easy Installer, it may be that the HDMI video output is not functional.
However, please check if this is not a setup issue by using a Toradex carrier board.

Best Regards,
Bruno

I have checked with the carrier board setup (Ixora v1.1A) and in that case the display comes up. It seems some issue with the circuit of our board. It would be great if you can support with the hardware circuit. Can I directly send you the schematic of our board? Thanks

We have figured it out that it was hardware issue. The HDMI port does not generate the hardware interrupt. After changing the HDMI channels, we see the HDMI display. Thanks all of looking into this matter. Thread can be closed

Hello @Usman,

Thanks for the update.

Best Regards,
Bruno