Hi,
I'm can build the 4.14.98_2.0.0 uboot-imx repo fine for iMX8QM MEK using (no changes):
make imx8qm_mek_defconfig
make CROSS_COMPILE=/opt/toolchains/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/aarch64-none-elf- V=1
When I load uboot via eMMC flash :
sudo ./uuu/uuu -b emmc_all imx-mkimage/iMX8QM/flash.bin fsl-image-validation-imx-imx8qmmek-20200607014211.rootfs.sdcard.bz2/*
and stop autoboot as follows I see a waning "No ethernet found":
U-Boot 2018.03-00013-g0d6d880779-dirty (Nov 21 2020 - 13:39:01 -0500)
CPU: Freescale i.MX8QM revB A53 at 1200 MHz at 22C
Model: Freescale i.MX8QM MEK
Board: iMX8QM MEK
Boot: MMC0
DRAM: 6 GiB
start sata init
SATA link 0 timeout.
TCPC: Vendor ID [0x1fc9], Product ID [0x5110], Addr [I2C0 0x51]
MMC: FSL_SDHC: 0, FSL_SDHC: 1
Loading Environment from MMC... *** Warning - bad CRC, using default environment
Failed (-5)
[pcie_ctrla_init_rc] LNK DOWN 8600000
In: serial
Out: serial
Err: serial
BuildInfo:
- SCFW 4a1654e0, SECO-FW 92ef1143, IMX-MKIMAGE 99885ea2, ATF 1cb68fa
- U-Boot 2018.03-00013-g0d6d880779-dirty
switch to partitions #0, OK
mmc0(part 0) is current device
flash target is MMC:0
SCSI: Net: No ethernet found.
Can someone share what could be wrong on interrupting autoboot for TFTP ?
I used uboot-imx/tools/gen_eth_addr to set ethaddr, set ipaddr and serverip env vars and saveenv. But no change in behavior when I interrupt autoboot.
If I allow the Linux kernel to fully boot, I can set the IP address and ping a TFTP server fine.
root@imx8qmmek:~# ifconfig eth0 192.168.1.103 netmask 255.255.255.0 up
root@imx8qmmek:~# route add default gw 192.168.1.1
root@imx8qmmek:~# ping 192.168.1.12
PING 192.168.1.12 (192.168.1.12) 56(84) bytes of data.
64 bytes from 192.168.1.12: icmp_seq=1 ttl=64 time=2.68 ms
64 bytes from 192.168.1.12: icmp_seq=2 ttl=64 time=1.40 ms
What is missing before autoboot ? Thanks for help.
Ravi
Solved! Go to Solution.
Hi Ravi
suggest to debug it using AN12631
Normal and Secure Debug for i.MX8/8X Family of Applications Processors
Best regards
igor
Using the CONFIG_SPL_BUILD boot-imx config option, allows ethaddr to be read from ROM. The is verified against any stored ethaddr in the uboot-imx environment variables. Making sure ethaddr, serverip, ipaddr environment variables are set allows ping, tftp services to work from the u-boot => prompt. This resolves my concerns for now.
Hi rkohli2000
one can recheck fec1,fec2 configuration in dts :
https://source.codeaurora.org/external/imx/uboot-imx/tree/arch/arm/dts/fsl-imx8qm-mek.dts?h=imx_v201...
/* ENET0 connects AR8031 on CPU board, ENET1 connects to base board */
https://source.codeaurora.org/external/imx/uboot-imx/tree/include/configs/imx8qm_mek.h?h=imx_v2018.0...
debug enet initialization in imx8qm_mek.c, check mdio signals with oscilloscope :
https://source.codeaurora.org/external/imx/uboot-imx/tree/board/freescale/imx8qm_mek/imx8qm_mek.c?h=...
Best regards
igor
Hi Igor,
I replaced my image with an older version we had tested. I can see the uboot in this image is showing ethernet is active on interrupting autoboot. So, it must be a Software problem or environmental for the MEK (uboot env). Can you suggest what could be missing ? I have tried with uboot-imx (multiple builds/tags) from codeaurora.
Regards
Ravi
Hi Ravi
suggest to debug it using AN12631
Normal and Secure Debug for i.MX8/8X Family of Applications Processors
Best regards
igor