Hi Oleksii, I've started to look at this.
On Wed, 5 Feb 2025 at 10:15, Oleksii Moisieiev <[email protected]> wrote: > This patch series provides generic support for Raspberry PI 5 in > U-Boot with additional hardware drivers. > The following features were implemented: > 1) add generic board config for Raspberry PI5 including device-tree > files; > We already have basic support for the RPi5 since Jan last year, you can see the patches [1]. This serious should build on that rather than add new duplicated bits. It supports basic serial and mSD support. > 2) add support for RP1 chip with additional hardware; > 3) add support for rp1-clock driver with dt-bindings update; > 4) PCIE BRCMSTB driver support for Raspberry PI 5; > 5) add clock/reset/gpio drivers; > 6) add ethernet support in u-boot. > I'll review and test the rest in the context of the existing support. [1] https://lists.denx.de/pipermail/u-boot/2024-January/543011.html > This patch-series introducing the basic set of supported drivers in > U-Boot which allows using such features as tftp and\or NFS. > I've posted this patch series as RFC because of the following commit: > e51ca0d221 (HACK: drivers: mfd: set bar configuration for RP1 driver, > 2024-05-21) > > It includes HACK for rp1 driver in u-boot. This HACK is setting bar > address in the correct order because RP1 driver in Linux Kernel rely on > the pci BAR configuration which initializes BARs based on BAR size. > This results the Linux set BARs in the same order on each boot. > U-boot does initialization without any sorting so the configuration > may be different from the Linux kernel. > BAR address configuration is set to match the Linux Kernel order > to avoid fails on address translation. > > This should be changed after upstreaming RP1 driver to the Linux kernel > mainline. > > Probably somebody from Raspberry will post an advise about how this > can be properly done. > U-Boot support for Raspberry PI 5 was added in terms of the following > project: https://github.com/xen-troops/meta-xt-prod-devel-rpi5 > This is xen-based dom0less system on the Raspberry PI 5 with Zephyr as > Control Domain and Linux is Driver Domain. > > It is Yocto-based so it will be easy to build it on your side. Please > visit link for the details. > > > > Oleksii Moisieiev (17): > include: dt-bindings: clk: introduce bindings for rp1 clock > include: dt-bindings: mfd: introduce bindings for RP1 driver > arch: arm: mach-bcm283x: add pcie memory region to BCM2712 memmap > arch: arm: mach-bcm283x: add BCM2712 board support > drivers: net: macb: do not include arch/clk.h when clocks enabled > drivers: core: of_addr: fix of_get_dma_range translation > board: raspberrypi: rpi: save board_type to the global_data > drivers: pci: add BCM2712 support for pcie_brcmstb driver > drivers: mfd: introduce RP1 chip driver for RPI5 > drivers: gpio: add support of RP1 GPIO for Raspberry PI 5 > drivers: reset: introduce reset drivers for brcmstb > drivers: clk: introduce clock driver for RP1 > drivers: net: macb: introduce ePCI connection support for macb > configs: add support for the Raspberrypi 5 board to default config > HACK: drivers: mfd: set bar configuration for RP1 driver > drivers: pci: pcie_brcmstb: use bus_base to config PCI device > drivers: pci: pcie_brcmstb: set correct reset state on pcie_remove > > Volodymyr Babchuk (3): > drivers: pci: take into account that ofnode_read_pci_vendev can fail > board: raspberrypi: rpi: request RP1 in late_init > bcm2712: enable linux kernel image header > > arch/arm/mach-bcm283x/Kconfig | 8 + > arch/arm/mach-bcm283x/init.c | 10 +- > board/raspberrypi/rpi/rpi.c | 28 ++ > configs/rpi_arm64_defconfig | 19 ++ > drivers/clk/Kconfig | 7 + > drivers/clk/Makefile | 1 + > drivers/clk/clk-rp1.c | 280 ++++++++++++++++++++ > drivers/core/of_addr.c | 8 +- > drivers/gpio/Kconfig | 7 + > drivers/gpio/Makefile | 1 + > drivers/gpio/rp1_gpio.c | 374 +++++++++++++++++++++++++++ > drivers/mfd/Kconfig | 10 + > drivers/mfd/Makefile | 1 + > drivers/mfd/rp1.c | 134 ++++++++++ > drivers/net/Kconfig | 1 + > drivers/net/macb.c | 156 ++++++++--- > drivers/net/macb.h | 16 ++ > drivers/pci/pci-uclass.c | 9 +- > drivers/pci/pcie_brcmstb.c | 328 +++++++++++++++++++++-- > drivers/reset/Kconfig | 14 + > drivers/reset/Makefile | 2 + > drivers/reset/reset-brcmstb-rescal.c | 103 ++++++++ > drivers/reset/reset-brcmstb.c | 97 +++++++ > include/broadcom/bcm_board_types.h | 25 ++ > include/dt-bindings/clk/rp1.h | 56 ++++ > include/dt-bindings/mfd/rp1.h | 239 +++++++++++++++++ > include/pci_ids.h | 3 + > 27 files changed, 1882 insertions(+), 55 deletions(-) > create mode 100644 drivers/clk/clk-rp1.c > create mode 100644 drivers/gpio/rp1_gpio.c > create mode 100644 drivers/mfd/rp1.c > create mode 100644 drivers/reset/reset-brcmstb-rescal.c > create mode 100644 drivers/reset/reset-brcmstb.c > create mode 100644 include/broadcom/bcm_board_types.h > create mode 100644 include/dt-bindings/clk/rp1.h > create mode 100644 include/dt-bindings/mfd/rp1.h > > -- > 2.34.1 >

