aboutsummaryrefslogtreecommitdiff
path: root/hw/arm/sabrelite.c
diff options
context:
space:
mode:
authorBin Meng <bin.meng@windriver.com>2021-01-06 14:35:03 +0800
committerPeter Maydell <peter.maydell@linaro.org>2021-01-08 15:13:39 +0000
commit37e33be7ea6b34e0c883f2b39b0c82d6c2b65bc7 (patch)
tree542da525c85d98c0e8e211564af5382449e4b8b4 /hw/arm/sabrelite.c
parent459149716331dbf06e21da6e72c0fb4340b47bd2 (diff)
downloadqemu-37e33be7ea6b34e0c883f2b39b0c82d6c2b65bc7.zip
qemu-37e33be7ea6b34e0c883f2b39b0c82d6c2b65bc7.tar.gz
qemu-37e33be7ea6b34e0c883f2b39b0c82d6c2b65bc7.tar.bz2
hw/arm: sabrelite: Connect the Ethernet PHY at address 6
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 Signed-off-by: Bin Meng <bin.meng@windriver.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Message-id: 20210106063504.10841-4-bmeng.cn@gmail.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'hw/arm/sabrelite.c')
-rw-r--r--hw/arm/sabrelite.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/hw/arm/sabrelite.c b/hw/arm/sabrelite.c
index 91d8c43..a3dbf85 100644
--- a/hw/arm/sabrelite.c
+++ b/hw/arm/sabrelite.c
@@ -51,6 +51,10 @@ static void sabrelite_init(MachineState *machine)
s = FSL_IMX6(object_new(TYPE_FSL_IMX6));
object_property_add_child(OBJECT(machine), "soc", OBJECT(s));
+
+ /* Ethernet PHY address is 6 */
+ object_property_set_int(OBJECT(s), "fec-phy-num", 6, &error_fatal);
+
qdev_realize(DEVICE(s), NULL, &error_fatal);
memory_region_add_subregion(get_system_memory(), FSL_IMX6_MMDC_ADDR,