
This series could be split into at least two or even three parts, but I kept it as is for now as it contains all the changes needed in order to have u-boot working on the new Raspberry Pi 400 and Raspberry Pi Compute Module 4.
There are core changes, specifically with regard to cpu to bus address space translations. So far we had relied on hardcoded values but RPi needs per device translations as it has at least three distinct bus address spaces with different offsets. So it's a good opportunity to implement bus tranlations the right way by parsing DT's dma-ranges.
I'm not that familiar with u-boot's device/driver model so I might have made some sille assumptions. Sorry in advance. :)
---
Nicolas Saenz Julienne (8): rpi: Add identifier for the new RPi400 rpi: Add identifier for the new CM4 pci: pcie-brcmstb: Fix inbound window configurations dm: Introduce xxx_get_dma_range() dm: Introduce DMA constraints into the core device model dm: Introduce dev_phys_to_bus()/dev_bus_to_phys() xhci: translate virtual addresses into the bus's address space mmc: Introduce mmc_phys_to_bus()/mmc_bus_to_phys()
board/raspberrypi/rpi/rpi.c | 10 +++++ common/fdt_support.c | 72 ++++++++++++++++++++++++++++++++++++ drivers/core/device.c | 24 ++++++++++++ drivers/core/of_addr.c | 68 ++++++++++++++++++++++++++++++++++ drivers/core/ofnode.c | 9 +++++ drivers/core/read.c | 5 +++ drivers/mmc/sdhci.c | 7 ++-- drivers/pci/pcie_brcmstb.c | 12 +++--- drivers/usb/host/xhci-mem.c | 45 +++++++++++----------- drivers/usb/host/xhci-ring.c | 11 ++++-- drivers/usb/host/xhci.c | 4 +- include/dm/device.h | 1 + include/dm/of_addr.h | 17 +++++++++ include/dm/ofnode.h | 16 ++++++++ include/dm/read.h | 6 +++ include/fdt_support.h | 14 +++++++ include/mmc.h | 10 +++++ include/phys2bus.h | 16 ++++++++ include/usb/xhci.h | 22 ++++++++++- 19 files changed, 331 insertions(+), 38 deletions(-)