[RFC PATCH v1 00/20] Introduce support for Raspberry PI 5.
Peter Robinson
pbrobinson at gmail.com
Wed Feb 19 20:37:31 CET 2025
Hi Oleksii,
I've started to look at this.
On Wed, 5 Feb 2025 at 10:15, Oleksii Moisieiev <Oleksii_Moisieiev at epam.com>
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
>
More information about the U-Boot
mailing list