AR# 72401

2019.1 Zynq UltraScale+ MPSoC: ZCU102 ボードで EEPROM から MAC アドレスを読み出すことが U-Boot でできない

説明

ZCU102 ボードで U-Boot が MAC アドレスを EEPROM から読み出すことができないという問題が PetaLinux 2019.1 で発生しています。

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

ソリューション

この問題を修正するには、添付されているパッチを適用する必要があります。

パッチは /project-spec/meta-user/recipes-bsp/device-tree/device-tree.bbappend に適用する必要があります。

注記:  レシピにパッチを適用するには、『PetaLinux ツール資料: リファレンス ガイド』 (UG1144) または

https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842475/PetaLinux+Yocto+Tips を参照してください。

1) 次に示すように、デバイスツリー ディレクトリに添付のパッチをコピーします。

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


2) device-tree.bbappend ファイルを次のように変更します。

$ vim /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) デバイスツリーの sstate キャッシュをクリーンにし、デバイスツリーを再構築します。

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

添付ファイル

関連添付ファイル

タイトル サイズ ファイルタイプ
0001-BOARD-zcu102-Fix-the-compatible-string-for-eeprom.patch 1 KB PATCH
AR# 72401
日付 05/29/2019
ステータス アクティブ
種類 一般
デバイス
ツール
Boards & Kits