[PATCH 0/6] Add support for BCM2712 SD card controller
Stefan Wahren
wahrenst at gmx.net
Sun Apr 14 03:07:23 PDT 2024
Hi Andrea,
Am 14.04.24 um 00:14 schrieb Andrea della Porta:
> Hi,
>
> This patchset adds support for the SDHCI controller on Broadcom BCM2712
> SoC in order to make it possible to boot (particularly) Raspberry Pi 5
> from SD card. This work is heavily based on downstream contributions.
since your goal is minimal Raspberry Pi 5 support, i suggest to use this
as the subject for this patch.
> Patch #1 and 2: introduce the dt binding definitions for, respectively,
> the new pin cfg/mux controller and the SD host controller as a preparatory
> step for the upcoming dts.
>
> Patch #3: add a somewhat reasonable (*almost* bare-minimum) dts to be used
> to boot Rpi5 boards. Since till now there was no support at all for any
> 2712 based chipset, both the SoC and board dts plus definitions for the
> new Pin and SD host controller have been added.
The patch still seems to contain a lot unnecessary stuff (Wifi, BT,
SPI), please try to remove as much as possible for the minimal support
(just boot via debug UART & SD card) in order to make review easier. Btw
this patch must be after pinctrl & SDHCI support.
> Patch #4: the driver supporting the pin controller. Based on [1] and
> successive fix commits.
>
> Patch #5: add SDHCI support. Based on [2] and the next 2 fix commits.
> Drop the SD Express implementation for now, that will be added by patch
> #6.
>
> Patch #6: this patch offers SD Express support and can be considered totally
> optional. The callback plumbing is slightly different w.r.t. the downstream
> approach (see [3]), as explained in the patch comment. Not sure what is the best,
> any comment is highly appreciated.
I don't think this should be necessary for minimal Raspberry Pi 5
support. Maybe this should be addressed later.
More important would be an additional patch which enables the necessary
drivers in arm64/defconfig.
>
> Tested succesfully on Raspberry Pi 5 using an SDxC card as the boot device.
>
> Still untested:
> - SD Express due to the lack of an Express capable card.
> Also, it will need PCIe support first.
> - card detection pin, since the sd was the booting and root fs device.
>
> Many thanks,
> Andrea
>
> Links:
> [1] - https://github.com/raspberrypi/linux/commit/d9b655314a826724538867bf9b6c229d04c25d84
> [2] - https://github.com/raspberrypi/linux/commit/e3aa070496e840e72a4dc384718690ea4125fa6a
> [3] - https://github.com/raspberrypi/linux/commit/eb1df34db2a9a5b752eba40ee298c4ae87e26e87
>
> Andrea della Porta (6):
> dt-bindings: pinctrl: Add support for BCM2712 pin controller
> dt-bindings: mmc: Add support for BCM2712 SD host controller
> arm64: dts: broadcom: Add support for BCM2712
> pinctrl: bcm: Add pinconf/pinmux controller driver for BCM2712
> mmc: sdhci-brcmstb: Add BCM2712 support
> mmc: sdhci-brcmstb: Add BCM2712 SD Express support
>
> .../bindings/mmc/brcm,sdhci-brcmstb.yaml | 51 +-
> .../pinctrl/brcm,bcm2712-pinctrl.yaml | 99 ++
> arch/arm64/boot/dts/broadcom/Makefile | 1 +
> .../boot/dts/broadcom/bcm2712-rpi-5-b.dts | 313 +++++
> arch/arm64/boot/dts/broadcom/bcm2712-rpi.dtsi | 81 ++
> arch/arm64/boot/dts/broadcom/bcm2712.dtsi | 841 +++++++++++
> drivers/mmc/host/Kconfig | 1 +
> drivers/mmc/host/sdhci-brcmstb.c | 275 ++++
> drivers/pinctrl/bcm/Kconfig | 9 +
> drivers/pinctrl/bcm/Makefile | 1 +
> drivers/pinctrl/bcm/pinctrl-bcm2712.c | 1247 +++++++++++++++++
> 11 files changed, 2918 insertions(+), 1 deletion(-)
> create mode 100644 Documentation/devicetree/bindings/pinctrl/brcm,bcm2712-pinctrl.yaml
> create mode 100644 arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dts
> create mode 100644 arch/arm64/boot/dts/broadcom/bcm2712-rpi.dtsi
> create mode 100644 arch/arm64/boot/dts/broadcom/bcm2712.dtsi
> create mode 100644 drivers/pinctrl/bcm/pinctrl-bcm2712.c
>
More information about the linux-arm-kernel
mailing list