On 08:27 Mon 13 May , Rob Herring (Arm) wrote: > > On Fri, 10 May 2024 16:35:26 +0200, Andrea della Porta wrote: > > Hi, > > > > This patchset adds minimal support for the Broadcom BCM2712 SoC and for > > the on-board SDHCI controller on Broadcom BCM2712 in order to make it > > possible to boot (particularly) a Raspberry Pi 5 from SD card and get a > > console through uart. > > Changes to arm64/defconfig are not needed since the actual options work > > as they are. > > This work is heavily based on downstream contributions. > > > > Tested on Tumbleweed substituting the stock kernel with upstream one, > > either chainloading uboot+grub+kernel or directly booting the kernel > > from 1st stage bootloader. Steps to reproduce: > > - prepare an SD card from a Raspberry enabled raw image, mount the first > > FAT partition. > > - make sure the FAT partition is big enough to contain the kernel, > > anything bigger than 64Mb is usually enough, depending on your kernel > > config options. > > - build the kernel and dtbs making sure that the support for your root > > fs type is compiled as builtin. > > - copy the kernel image in your FAT partition overwriting the older one > > (e.g. kernel*.img for Raspberry Pi OS or u-boot.bin for Tumbleweed). > > - copy arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dtb on FAT partition. > > - make sure you have a cmdline.txt file in FAT partition with the > > following content: > > # cat /boot/efi/cmdline.txt > > root=/dev/mmcblk0p3 rootwait rw console=tty ignore_loglevel earlycon > > console=ttyAMA10,115200 > > - if you experience random SD issues during boot, try to set > > initial_turbo=0 in config.txt. > > > > Changes in V2: > > > > - the patchshet has been considerably simplified, both in terms of dts and > > driver code. Notably, the pinctrl/pinmux driver (and associated binding) > > was not strictly needed to use the SD card so it has been dropped. > > - dropped the optional SD express support patch > > - the patches order has been revisited > > - pass all checks (binding, dtb, checkpatch) > > > > Many thanks, > > Andrea > > > > References: > > - Link to V1: https://lore.kernel.org/all/cover.1713036964.git.andrea.porta@xxxxxxxx/ > > > > Andrea della Porta (4): > > dt-bindings: arm: bcm: Add BCM2712 SoC support > > dt-bindings: mmc: Add support for BCM2712 SD host controller > > mmc: sdhci-brcmstb: Add BCM2712 support > > arm64: dts: broadcom: Add support for BCM2712 > > > > .../devicetree/bindings/arm/bcm/bcm2835.yaml | 6 + > > .../bindings/mmc/brcm,sdhci-brcmstb.yaml | 23 ++ > > arch/arm64/boot/dts/broadcom/Makefile | 1 + > > .../boot/dts/broadcom/bcm2712-rpi-5-b.dts | 62 ++++ > > arch/arm64/boot/dts/broadcom/bcm2712.dtsi | 302 ++++++++++++++++++ > > drivers/mmc/host/sdhci-brcmstb.c | 81 +++++ > > 6 files changed, 475 insertions(+) > > create mode 100644 arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dts > > create mode 100644 arch/arm64/boot/dts/broadcom/bcm2712.dtsi > > > > -- > > 2.35.3 > > > > > > > > > My bot found new DTB warnings on the .dts files added or changed in this > series. > > Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings > are fixed by another series. Ultimately, it is up to the platform > maintainer whether these warnings are acceptable or not. No need to reply > unless the platform maintainer has comments. > > If you already ran DT checks and didn't see these error(s), then > make sure dt-schema is up to date: > > pip3 install dtschema --upgrade > > > New warnings running 'make CHECK_DTBS=y broadcom/bcm2712-rpi-5-b.dtb' for cover.1715332922.git.andrea.porta@xxxxxxxx: > > arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dtb: /soc@107c000000/timer@7c003000: failed to match any schema with compatible: ['brcm,bcm2835-system-timer'] > arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dtb: /soc@107c000000/local-intc@7cd00000: failed to match any schema with compatible: ['brcm,bcm2836-l1-intc'] Those two property come respectively from: - Documentation/devicetree/bindings/timer/brcm,bcm2835-system-timer.txt - Documentation/devicetree/bindings/interrupt-controller/brcm,bcm2836-l1-intc.txt that are old style txt bindings. So unfortunally they will output that kind of warnings: converting txt to yaml schema wouldbe great, but I think a little outside the scope of this patchset. I would say it is a good cancidate for a separate patch. Many thanks, Andrea