
This series adds Ethernet support for the Raspberry Pi 4. The SoC includes a "Broadcom Genet v5 MAC" IP, connected as a proper platform device (no USB anymore!). Patch 1 provides a driver for that. There does not seem to be publicly available documentation, so this is based on the Linux driver, but stripped down to just provide what U-Boot needs. Patch 2 fixes up the RPi4 memory map to accommodate the MMIO area the MAC lives in, while patch 3 enables it in the respective defconfigs.
Compared to the RFC post from Friday this is now fully functional, although there are some minor issues left (sometimes unstable initialisation, weird behaviour on repeated tftp gets (though it works), PHY startup not properly timing out, (unjustified?) cache complaints on 32-bit).
Please have a look and test it, I hope this helps to simplify development, as you spare the SD card and its slot from heavy swapping.
This tries to address the review comments on the RFC post (mostly my own ;-), I put a branch on [1] showing what was changed over the original post.
Cheers, Andre.
P.S.: Since Amit will be busy this week, I took the freedom of fixing this up and posting this (with his permission).
[1] https://github.com/apritzel/u-boot/commits/rpi4-eth
Amit Singh Tomar (3): net: Add support for Broadcom GENETv5 Ethernet controller rpi4: Update memory map to accommodate scb devices rpi4: Enable GENET Ethernet controller
arch/arm/mach-bcm283x/init.c | 6 +- configs/rpi_4_32b_defconfig | 2 + configs/rpi_4_defconfig | 2 + configs/rpi_arm64_defconfig | 1 + drivers/net/Kconfig | 7 + drivers/net/Makefile | 1 + drivers/net/bcmgenet.c | 702 +++++++++++++++++++++++++++++++++++ 7 files changed, 718 insertions(+), 3 deletions(-) create mode 100644 drivers/net/bcmgenet.c