This is new round of patches posted earlier here[1]. They are adding basic support for RPi5 and are based on v2 series from Dmitry Malkin[2].
What changed sice v4: * Support for SDHCI controller in 2712 was simplified a lot. It turns out that special registers accessors are not needed[3]. * Latest EEPROM firmware changed "kernel" load address from 0x80000 to 0x200000. And because on RPi’s CONFIG_TEXT_BASE is set to 0x80000 code execution run through the grass. Switching to position indeended code fixed this. These changes have been tested on following devices: Raspberry Pi 5 Model B Rev 1.0 Raspberry Pi 4 Model B Rev 1.1 Raspberry Pi 3 Model B Plus Rev 1.3 Raspberry Pi Zero 2 W Rev 1.0 Raspberry Pi 2 Model B Rev 1.2 Raspberry Pi Compute Module 4 Rev 1.0 Raspberry Pi Compute Module 3 Rev 1.0 Thanks, Ivan [1] https://lore.kernel.org/all/20240110122908.31612-1-iiva...@suse.de/ [2] https://lore.kernel.org/all/CAKRNjQ0dsWozGo4n8g58m4cCEk3n=qx1r+l24wbgpo-ip1y...@mail.gmail.com/ [3] https://github.com/P33M/linux/commit/8a15e5d99667cb4499836d6f360246a69f020256 Dmitry Malkin (2): rpi5: add initial memory map for bcm2712 rpi5: Use devicetree as alternative way to read IO base addresses Ivan T. Ivanov (5): rpi5: Use devicetree to retrieve board revision bcm2835: Dynamically calculate bytes per pixel parameter mmc: bcmstb: Add support for bcm2712 SD controller configs: rpi_arm64: enable SDHCI BCMSTB driver configs: rpi_arm64: build position independent code arch/arm/mach-bcm283x/include/mach/base.h | 5 +- arch/arm/mach-bcm283x/include/mach/mbox.h | 3 +- arch/arm/mach-bcm283x/include/mach/sdhci.h | 3 +- arch/arm/mach-bcm283x/include/mach/timer.h | 3 +- arch/arm/mach-bcm283x/include/mach/wdog.h | 3 +- arch/arm/mach-bcm283x/init.c | 74 +++++++++++++++++++--- board/raspberrypi/rpi/rpi.c | 22 ++++++- configs/rpi_arm64_defconfig | 3 +- drivers/mmc/bcmstb_sdhci.c | 64 +++++++++++++++++-- drivers/video/bcm2835.c | 18 +++++- 10 files changed, 171 insertions(+), 27 deletions(-) -- 2.43.0