AR# 72401

2019.1 Zynq UltraScale+ MPSoC: U-boot fails to read MAC address from EEPROM on ZCU102 board

描述

I am encountering an issue in PetaLinux 2019.1 where on a ZCU102 board, U-boot fails to read the MAC address from the EEPROM.

U-Boot 2018.01 (Dec 06 2018 - 10:00:41 +0000) Xilinx ZynqMP ZCU102 rev1.0

I2C:   ready
DRAM:  4 GiB
EL Level:       EL2
Chip ID:        zu9eg
MMC:   sdhci_send_command: MMC: 0 busy timeout increasing to: 200 ms.
sdhci_send_command: MMC: 0 busy timeout increasing to: 400 ms.
sdhci_send_command: MMC: 0 busy timeout increasing to: 800 ms.
sdhci_send_command: MMC: 0 busy timeout increasing to: 1600 ms.
sdhci_send_command: MMC: 0 busy timeout increasing to: 3200 ms.
sdhci_send_command: MMC: 0 busy timeout.
sdhci_send_command: MMC: 0 busy timeout.
mmc_init: -70, time 7439
mmc@ff170000 - probe failed: -70
sdhci_send_command: MMC: 0 busy timeout.
sdhci_send_command: MMC: 0 busy timeout.
mmc_init: -70, time 7413

SF: Detected n25q512a with page size 512 Bytes, erase size 128 KiB, total 128 MiB
*** Warning - bad CRC, using default environment

In:    serial@ff000000
Out:   serial@ff000000
Err:   serial@ff000000
Model: ZynqMP ZCU102 Rev1.0
Board: Xilinx ZynqMP
Bootmode: JTAG_MODE
Net:   ZYNQ GEM: ff0e0000, phyaddr c, interface rgmii-id

Warning: ethernet@ff0e0000 MAC addresses don't match:
Address in ROM is          00:0a:35:04:bd:93
Address in environment is  00:0a:35:00:22:01
eth0: ethernet@ff0e0000
U-BOOT for xilinx-zcu102-2018_3

ethernet@ff0e0000 Waiting for PHY auto negotiation to complete......................................... TIMEOUT !
Hit any key to stop autoboot:  0
sdhci_send_command: MMC: 0 busy timeout.
sdhci_send_command: MMC: 0 busy timeout.
mmc_init: -70, time 7413
** Bad device mmc 0 **
no mmc device at slot 0
ZynqMP>
ZynqMP>
ZynqMP> printenv ethaddr
ethaddr=00:0a:35:00:22:01

解决方案

To fix this issue, you will need to apply the attached patch:

The patch should be applied to <plnx-proj-root>/project-spec/meta-user/recipes-bsp/device-tree/device-tree.bbappend

Note: To apply a patch to recipes, please refer to (UG1144) or 

https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842475/PetaLinux+Yocto+Tips

1) Copy the attached patch to the device-tree directory as show below.

$ cp 0001-BOARD-zcu102-Fix-the-compatible-string-for-eeprom.patch <plnx-proj-root>/project-spec/meta-user/recipes-bsp/device-tree/files


2) Modify the device-tree.bbappend file with the below content:

$ vim <plnx-proj-root>/project-spec/meta-user/recipes-bsp/device-tree/device-tree.bbappend
# device-tree.bbappend content 

SRC_URI += " \
    file://system-user.dtsi \
    file://0001-BOARD-zcu102-Fix-the-compatible-string-for-eeprom.patch \

"

FILESEXTRAPATHS_prepend := "${THISDIR}/files:"


3) Clean the device-tree sstate cache and rebuild the device-tree:

$ petalinux-build -c device-tree -x cleansstate
$ petalinux-build -c device-tree

附件

文件名 文件大小 File Type
0001-BOARD-zcu102-Fix-the-compatible-string-for-eeprom.patch 1 KB PATCH
AR# 72401
日期 05/29/2019
状态 Active
Type 综合文章
器件
Tools
Boards & Kits