Getting an HDMI output on IMX8QMLPDDR4ARM2

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Getting an HDMI output on IMX8QMLPDDR4ARM2

6,821 Views
mathias_faro
Contributor II

Hi,

I just received my i.MX8 QM (LPD4CPU according to the packing list).

I set up my yocto environment as mentionned in the user guide with the repo command :

repo init -u https://source.codeaurora.org/external/imx/imx-manifest -b imx-linux-morty -m imx-4.9.51-8qm_beta2.xml

I built an image with yocto setting the correct machine, and wayland as a distro :

DISTRO=fsl-imx-wayland MACHINE=imx8qmlpddr4arm2 source fsl-setup-release.sh -b build

Then I ran a "bitbake fsl-image-qt5-validation-imx" and flash my SD card to boot on.

I connected my computer to the serial port and uses minicomto comunicate.

I also connected a screen (iiyama prolite b2280hs) through HDMI to the imx8 and expected to see the boot screen and then the GUI.

But when I boot the card, I have all the information about the boot that are displayed on the console (with the serial port) but nothing on the HDMI. When the boot end, I am connected to the console through the serial port, but still nothing on the HDMI.

I tried to setup the uboot environment for a 1080p60FPS screen, like it was mentionned here : Getting a 4K HDMI output on MCIMX8M-EVK , but it does not work either.

setenv mmcargs 'setenv bootargs console=${console} root=${mmcroot} video=HDMI-A-1:1920x1080-32@60'

I'm not sure if the problem comes from the monitor I use, or from the board itself. I tried to change several times the uboot environment to enable the HDMI and set up the display but without any success.

If anyone as encountered this problem, it would be great to discuss about it.

Best Regards,

Mathias



Tags (2)
7 Replies

3,075 Views
zhenyongliu
Contributor I

Hello Mathias Faro 

May I know what IMX8QMLPDDR4ARM2 is? Is it one EVK board? If yes could you send me one link for it?

I see 2 board from NXP web, they are: i.MX 8QuadXPlus Multisensory Enablement Kit|NXP 

and 

i.MX 8M Evaluation Kit|NXP 

but I am not sure which one it is, or IMX8QMLPDDR4ARM2 is pointing to some board else?

Thanks.

0 Kudos

3,076 Views
arnaudtonda
Contributor I

hi mathias_faro,

‌ have you solved your problem?

i'm facing exactly the same problem, and none of the solutions worked.

trying X11 only distro or xwayland have the same phenomenon.

also trying different monitors doesn't help.

on X11 distro, the Xorg log complains about "no screen found".

Best regards

Arnaud Tonda

0 Kudos

3,076 Views
mathias_faro
Contributor II

Hi,

concerning this problem, I may have found why the native HDMI does not work.

In fact, you can read in one of the the documentation provided by nxp (based on fsl-yocto-L4.9.51-mx8_beta2) :

pastedImage_1.png

I guess the board we use have this device tree, because it is pretty similar. For now the HDMI firmware is not loaded.

If you try to load it manually the kernel does not boot.. Need a fix about this.

A workaround may be to use the LVDS port (I guess there is one on the board, i does not have it anymore) and use an LVDS/HDMI connector and then plug your screen in HDMI.

Check with your nxp contact if they can provide you the LVDS/HDMI adaptor, i'm pretty sure this is the right way to have HDMI that properly works.

Tell me your results if you try.

Regards,

Mathias Faro

0 Kudos

3,076 Views
diegoadrian
NXP Employee
NXP Employee

Hello,

Can you please try with xwayland as Distro?

DISTRO=fsl-imx-xwayland MACHINE=imx8qmlpddr4arm2 source fsl-setup-release.sh -b build

We recommend use xwayland as Distro.

I hope this can solve your problem.

Best Regards,

Diego.

3,076 Views
mathias_faro
Contributor II

After a pretty long build I tried the new distro (xwayland). But the result is the same. Nothing pops on the HDMI and my screen keep displaying "no signal". I tried both configuration of switch 8 (ON/OFF even if I guess the good one is ON) because it defines the screen that will be used between HDMI and DP.

I attach yout my default uboot environment, no display (HDMI) or panel are present.

printenv
baudrate=115200
board_name=ARM2
board_rev=iMX8QM
boot_fdt=try
bootcmd=mmc dev ${mmcdev}; if mmc rescan; then if run loadbootscript; then run bootscript; else if run loadimage; then run mmcboot; else run netboot; fi; fi; else booti ${loadaddr} - ${fdt_addr}; fi
bootcmd_mfg=run mfgtool_args;booti ${loadaddr} ${initrd_addr} ${fdt_addr};
bootdelay=3
bootscript=echo Running bootscript from mmc ...; source
commit_mkimage=4352f717
commit_scfw=c873dc14
console=ttyLP0,115200 earlycon=lpuart32,0x5a060000,115200
eth1addr=00:04:9f:05:1f:da
ethact=ethernet@5b040000
ethaddr=00:04:9f:05:1f:d9
ethprime=eth0
fdt_addr=0x83000000
fdt_file="fsl-imx8qm-lpddr4-arm2".dtb
fdt_high=0xffffffffffffffff
fdtcontroladdr=fda7f6b8
hdp_addr=0x84000000
hdp_file=dpfw.bin
image=Image
initrd_addr=0x83800000
initrd_high=0xffffffffffffffff
loadaddr=0x80280000
loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}
loadhdp=fatload mmc ${mmcdev}:${mmcpart} ${hdp_addr} ${hdp_file}
loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}
loadm4image_0=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${m4_0_image}
loadm4image_1=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${m4_1_image}
m4_0_image=m4_0.bin
m4_1_image=m4_1.bin
m4boot_0=run loadm4image_0; dcache flush; bootaux ${loadaddr} 0
m4boot_1=run loadm4image_1; dcache flush; bootaux ${loadaddr} 1
mfgtool_args=setenv bootargs console=${console},${baudrate} rdinit=/linuxrc g_mass_storage.stall=0 g_mass_storage.removable=1 g_mass_storage.idVendor=0x066F g_mass_storage.idProduct=0x37FF g_mass_storage.iSerialNumber="" video=imxdpufb5:
mmcargs=setenv bootargs console=${console},${baudrate} root=${mmcroot} loadbootscript=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};
mmcautodetect=yes
mmcboot=echo Booting from mmc ...; run loadhdp; hdp load ${hdp_addr}; run mmcargs; if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if run loadfdt; then booti ${loadaddr} - ${fdt_addr}; else echo WARN: Cannot load the DT; fi; el;
mmcdev=1
mmcpart=1
mmcroot=/dev/mmcblk1p2 rootwait rw
netargs=setenv bootargs console=${console} root=/dev/nfs ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp video=imxdpufb5:off video=imxdpufb6:off video=imxdpufb7:off
netboot=echo Booting from net ...; run netargs;  if test ${ip_dyn} = yes; then setenv get_cmd dhcp; else setenv get_cmd tftp; fi; ${get_cmd} ${hdp_addr} ${hdp_file}; hdp load ${hdp_addr}; ${get_cmd} ${loadaddr} ${image}; if test ${boot_f;
panel=NULL
script=boot.scr

Environment size: 2812/4092 bytes

If you want to check others log (dmesg or boot log) let me know. And if you have any other suggestions it would be really appreciated.

Thank you in advance.

Best regards,

Mathias

0 Kudos

3,076 Views
diegoadrian
NXP Employee
NXP Employee

Hello,

Can you please try setting the below bootarg and see if it works?

u-boot -> setenv mmcargs 'setenv bootargs console=${console} root=${mmcroot} video=HDMI-A-1:3840x2160-32@30'

Best Regards,

Diego.

0 Kudos

3,076 Views
mathias_faro
Contributor II

Thanks for your response, I try to change the distro and I keep you updated.

Regards,

Mathias

0 Kudos