On 4/30/21 9:28 PM, Bin Meng wrote: > On Fri, Apr 30, 2021 at 10:41 PM Guenter Roeck <li...@roeck-us.net> wrote: >> >> Hi, >> >> On Wed, Jan 06, 2021 at 02:35:03PM +0800, Bin Meng wrote: >>> From: Bin Meng <bin.m...@windriver.com> >>> >>> At present, when booting U-Boot on QEMU sabrelite, we see: >>> >>> Net: Board Net Initialization Failed >>> No ethernet found. >>> >>> U-Boot scans PHY at address 4/5/6/7 (see board_eth_init() in the >>> U-Boot source: board/boundary/nitrogen6x/nitrogen6x.c). On the real >>> board, the Ethernet PHY is at address 6. Adjust this by updating the >>> "fec-phy-num" property of the fsl_imx6 SoC object. >>> >>> With this change, U-Boot sees the PHY but complains MAC address: >>> >>> Net: using phy at 6 >>> FEC [PRIME] >>> Error: FEC address not set. >>> >>> This is due to U-Boot tries to read the MAC address from the fuse, >>> which QEMU does not have any valid content filled in. However this >>> does not prevent the Ethernet from working in QEMU. We just need to >>> set up the MAC address later in the U-Boot command shell, by: >>> >>> => setenv ethaddr 00:11:22:33:44:55 >>> >> >> With this patch in place, the standard Ethernet interface no longer works >> when >> booting sabrelite Linux images directly (without u-boot) using the following >> qemu command. >> qemu-system-arm -M sabrelite -kernel arch/arm/boot/zImage >> ... >> >> The Ethernet interface still instantiates, but packet transfer to the host >> no longer works. Reverting this patch fixes the problem for me. >> >> Is there a qemu command line parameter that is now necessary to instantiate >> the Ethernet interface when booting Linux ? > > Enabling "guest_errors" shows that Linux kernel fec driver is trying > to read PHY at address 0, which is not what we want. > > [imx.fec.phy]imx_phy_read: Bad phy num 0 > > The device tree blob of the sabrelite does not contain a node for the > ethernet phy specifying phy address, so I suspect Linux kernel driver > is using default phy address 0 instead. > > Could you please test on a real hardware to see what happens? >
I don't have access to real hardware, sorry. Guenter