LINUX.ORG.RU

U-boot - загрузка по сети - проблема с MDIO

 , , ,


0

1

Добрый день.

не могу собрать u-boot для OrangePi Zero Plus. Получается собирать u-boot, который успешно грузит систему с usb-flash.

Сборка u-boot проходит нормально, но при загрузке в консоле показывает, что сеть не работает, потому что нет сетевого адаптера.

Что делать?

★★★

Ответ на: комментарий от Nurmukh

там рассказывают про порядок действий.

тебе нужно посмотреть в используемом тобой файле *_defconfig для сборки, какой используется device tree, а в нём посмотреть добавлена ли поддержка ethernet-а. Если не добавлена - добавить(или поправить) и пересобрать u-boot.

ukr_unix_user ★★★★ ()
Последнее исправление: ukr_unix_user (всего исправлений: 1)
Ответ на: комментарий от ukr_unix_user

Посмотрел, поизучал. Нашел причину - в этих платах используется Realtek. Пытаюсь подключить в u-boot realtek_phy_driver - вроде собирается, но все равно ругается при загрузке

U-Boot SPL 2020.01-00620-g2d2f91a480-dirty (Jan 22 2020 - 11:54:35 +0000)
DRAM: 512 MiB
Trying to boot from sunxi SPI
NOTICE:  BL31: v2.2(debug):v2.2-286-g22d12c41
NOTICE:  BL31: Built : 07:36:46, Jan 12 2020
NOTICE:  BL31: Detected Allwinner H5 SoC (1718)
NOTICE:  BL31: Found U-Boot DTB at 0x408b7b0, model: Xunlong Orange Pi Zero Plus
INFO:    ARM GICv2 driver initialized
INFO:    Configuring SPC Controller
NOTICE:  PMIC: Assuming H5 reference regulator design
INFO:    BL31: Platform setup done
INFO:    BL31: Initializing runtime services
INFO:    BL31: cortex_a53: CPU workaround for 855873 was applied
INFO:    BL31: Preparing for EL3 exit to normal world
INFO:    Entry point address = 0x4a000000
INFO:    SPSR = 0x3c9


U-Boot 2020.01-00620-g2d2f91a480-dirty (Jan 22 2020 - 11:54:35 +0000) Allwinner Technology

CPU:   Allwinner H5 (SUN50I)
Model: Xunlong Orange Pi Zero Plus
DRAM:  512 MiB
MMC:   mmc@1c0f000: 0, mmc@1c10000: 1
Loading Environment from FAT... MMC: no card present
In:    serial
Out:   serial
Err:   serial
Net:   phy interface7
Could not get PHY for ethernet@1c30000: addr 1
No ethernet found.

starting USB...
Bus usb@1c1a000: USB EHCI 1.00
Bus usb@1c1a400: USB OHCI 1.0
Bus usb@1c1b000: USB EHCI 1.00
Bus usb@1c1b400: USB OHCI 1.0
scanning bus usb@1c1a000 for devices... 1 USB Device(s) found
scanning bus usb@1c1a400 for devices... 1 USB Device(s) found
scanning bus usb@1c1b000 for devices... 1 USB Device(s) found
scanning bus usb@1c1b400 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
Hit any key to stop autoboot:  0
MMC: no card present
Device 0: unknown device
phy interface7
mdio_register: non unique device name 'ethernet@1c30000'
Could not get PHY for ethernet@1c30000: addr 1
phy interface7
mdio_register: non unique device name 'ethernet@1c30000'
Could not get PHY for ethernet@1c30000: addr 1
phy interface7
mdio_register: non unique device name 'ethernet@1c30000'
Could not get PHY for ethernet@1c30000: addr 1
phy interface7
mdio_register: non unique device name 'ethernet@1c30000'
Could not get PHY for ethernet@1c30000: addr 1
No ethernet found.
phy interface7
mdio_register: non unique device name 'ethernet@1c30000'
Could not get PHY for ethernet@1c30000: addr 1

У кого есть какие идеи?

Nurmukh ★★★ ()
Ответ на: комментарий от Nurmukh

покажи dts

или сравни с апстримом

https://github.com/torvalds/linux/blob/master/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus.dts

&emac {
	pinctrl-names = "default";
	pinctrl-0 = <&emac_rgmii_pins>;
	phy-supply = <&reg_gmac_3v3>;
	phy-handle = <&ext_rgmii_phy>;
	phy-mode = "rgmii";
	status = "okay";
};
ukr_unix_user ★★★★ ()