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.
This version fixes the nasty SError issue that showed when booting Linux. To see the changes as patches, refer to [1]. 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. Cheers, Andre. [1] https://github.com/apritzel/u-boot/commits/rpi4-eth-v3 Changelog v2 ... v3: - properly reset MAC in eth_probe() to avoid SError in Linux - disable RX DMA upon stopping the device Changelog v1 ... v2: - use native endianess functions when accessing MMIO registers - use dev_* DM wrappers for accessing devicetree data - round base and length for flush_dcache_range, plus a comment - check and round length for invalidate_cache_range - support RGMII_RXID PHY mode, to support mainline .dtb 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 | 729 +++++++++++++++++++++++++++++++++++++++++++ 7 files changed, 745 insertions(+), 3 deletions(-) create mode 100644 drivers/net/bcmgenet.c -- 2.14.5