[PATCH 00/15] ARM: rpi: add basic Raspberry Pi 4 support

Ahmad Fatoum a.fatoum at pengutronix.de
Thu May 5 01:01:37 PDT 2022

Just basic support, so we get a shell on mini-uart and SD
working. Needs more work for USB and Ethernet, but I'll leave that
to others now that the initial hurdle is overcome.

I tested this series on Raspberry Pi 3b (both 32-bit and newly
added 64-bit support) and Raspberry Pi 4b (both 32/64-bit).

@Oleksij, could you give this a test on Raspberry Pi 2 as well?

barebox-dt-2nd.img is the image to use for all configurations.
barebox didn't start up (or at least serial was silent) with
Daily built Debian raspi_4_bullseye.img. Worked fine though
with firmware in 2022-04-04-raspios-bullseye-arm64-lite.img.
If in doubt, use firmware described in barebox documentation.

Boot log:

  barebox 2022.04.0-00101-g5fea3e8979b2 #205 Tue May 3 09:33:54 CEST 2022

  Board: Raspberry Pi 4 Model B Rev 1.1
  Deep probe supported due to raspberrypi,4-model-b
  bcm2835_mci fe300000.mmc at 7e300000.of: registered as mci0
  WARNING: dwc2 fe980000.usb at 7e980000.of: dwc2_core_reset: Timeout! Waiting for Core Soft Reset
  ERROR: dwc2 fe980000.usb at 7e980000.of: probe failed: Connection timed out
  WARNING: bcm2835_mci fe340000.mmc at 7e340000.of: Failed to get 'vmmc' regulator (ignored).
  bcm2835_mci fe340000.mmc at 7e340000.of: registered as mci1
  ERROR: translation of DMA address(400000000) to CPU address failed node(pcie at 7d500000)
  malloc space: 0x1d8fc800 -> 0x3b1f8fff (size 473 MiB)
  mci1: detected SD card version 2.0
  mci1: registered disk0
  environment load /boot/barebox.env: No such file or directory
  Maybe you have to create the partition.

Ahmad Fatoum (13):
  PBL: fdt: fix /memory parsing when #address-cells != #size-cells
  serial: ns16550: rpi: remove ungating now done by proper clk driver
  ARM: cpu: prevent recursive dependencies via CPU_SUPPORTS_64BIT_KERNEL
  ARM: rpi: add Raspberry Pi 3 64-bit build support
  ARM: rpi: rpi3: disallow MMU_EARLY && 64BIT
  clk: rpi: add Raspberry Pi 4 support
  serial: ns16550: rpi: skip baudrate changes for bcm2711
  clocksource: bcm2835: bump below architeced timer for AArch64
  ARM: rpi: add Raspberry Pi 4 support
  ARM: rpi: add debug_ll support for Raspberry Pi 4
  ARM: rpi: add heuristic for skipping detection of SDIO card
  doc: bcm283x: add initial docs for Raspberry Pi 4 support
  doc: bcm283x: reference newer firmware

Uwe Kleine-König (2):
  of: address: fix printing of OF node name in error message
  mci: bcm2835: add bcm2711-emmc2 (Rpi4) support

 Documentation/boards/bcm2835.rst              |  65 ++++++++--
 arch/arm/Kconfig                              |   4 +
 arch/arm/boards/raspberry-pi/rpi-common.c     |  51 +++++++-
 arch/arm/configs/rpi_v8a_defconfig            | 111 ++++++++++++++++++
 arch/arm/cpu/Kconfig                          |   1 -
 arch/arm/dts/Makefile                         |   1 +
 arch/arm/dts/bcm2711-rpi-4-b.dts              |   1 +
 arch/arm/mach-bcm283x/Kconfig                 |  28 ++++-
 arch/arm/mach-bcm283x/include/mach/debug_ll.h |  21 ++++
 arch/arm/mach-bcm283x/include/mach/mbox.h     |   4 +
 arch/arm/mach-bcm283x/include/mach/platform.h |   5 +-
 arch/arm/mach-bcm283x/mbox.c                  |   2 +-
 common/Kconfig                                |   7 ++
 drivers/clk/clk-rpi.c                         |  42 +++++--
 drivers/clocksource/bcm2835.c                 |   3 +-
 drivers/mci/mci-bcm2835.c                     |   4 +-
 drivers/of/address.c                          |   4 +-
 drivers/serial/serial_ns16550.c               |  18 ++-
 images/Makefile.bcm283x                       |   6 +
 pbl/fdt.c                                     |   2 +-
 20 files changed, 341 insertions(+), 39 deletions(-)
 create mode 100644 arch/arm/configs/rpi_v8a_defconfig
 create mode 100644 arch/arm/dts/bcm2711-rpi-4-b.dts


More information about the barebox mailing list