[PATCH v4 0/6] rpi5: initial support

Stefan Agner stefan at agner.ch
Thu Sep 19 11:36:01 CEST 2024


Hi Ivan,

I am looking into enabling NVMe boot support using U-Boot on Raspberry
Pi 5. Which brings me to some questions wrt PCIe support (see below).

On 2024-01-10 13:29, Ivan T. Ivanov wrote:
> Hi,
> 
> These patches are slight update for patches posted earlier here[1].
> They are adding basic support for RPi5 and are based on v2 series
> from Dmitry Malkin[2].
> 
> What changed:
> 
> * Initial memory map now includes whole first 1GB of DRAM. At runtime,
>   the firmware will adjust this size depending on whether an HDMI cable
>   is plugged in or not. If there is HDMI monitor connected it will reserve
>   framebufer memory region and will add simple-framebuffer device into
>   devicetree.
> 
> * Dynamically calculate bits per pixel in video driver. This works
>   on all prevous RPi's models that I have.
> 
> * I am dropping PCIe patch for now. I made some progress on porting changes
>   from vendor Linux tree to U-Boot. Unfortunatly testing it is little bit
>   tricky. They are many devices behind PCIe, but more or less all of them
>   requires missing either "reset-controller" or "clock-controller" or
>   "pin-controller" drivers. I was able to probe "cdns,macb" device, but
>   access to ethernet PHY over MDIO bus is stucking. Then I ported
>   "raspberrypi,rp1-adc" driver from vendor Linux tree, but it requires
>   missing clock. And on top of that machine that I used for developing this
>   crashed and I lost my PCIe changes :-|. Anyway.

Have you tried using a M.2 HAT? This likely won't require much in terms
of enabling the device.

You write that you made some progress, is that compared to v3? Do you
mind sharing the latest version of your patches?

Best regards,
Stefan

> 
> These patches allows me to boot current openSUSE Tumbleweed without
> modification. I can see serial console log and boot process on HDMI
> connected monitor.
> 
> I think these patches should be enough for start. Please consider for
> inclusion.
> 
> Thanks,
> Ivan
> 
> [1] https://lore.kernel.org/all/20231218210341.30073-1-iivanov@suse.de/
> [2] https://lore.kernel.org/all/CAKRNjQ0dsWozGo4n8g58m4cCEk3n=qx1R+L24WBgpo-iP1yo7A@mail.gmail.com/
> 
> Dmitry Malkin (2):
>   rpi5: add initial memory map for bcm2712
>   rpi5: Use devicetree as alternative way to read IO base addresses
> 
> Ivan T. Ivanov (4):
>   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
> 
>  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                |   1 +
>  drivers/mmc/bcmstb_sdhci.c                 | 173 ++++++++++++++++++++-
>  drivers/video/bcm2835.c                    |  18 ++-
>  10 files changed, 282 insertions(+), 23 deletions(-)


More information about the U-Boot mailing list