[PATCH v4 0/6] rpi5: initial support

Ivan T. Ivanov iivanov at suse.de
Wed Jan 10 13:29:02 CET 2024


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.

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(-)

-- 
2.35.3



More information about the U-Boot mailing list