[PATCH 3/7] arm64: dts: broadcom: bcm2712: Add pin controller nodes
Andrea della Porta
andrea.porta at suse.com
Tue Jul 15 11:31:40 PDT 2025
From: "Ivan T. Ivanov" <iivanov at suse.de>
Add pin-control devicetree nodes and used them to
explicitly define uSD card interface pin configuration.
Signed-off-by: Ivan T. Ivanov <iivanov at suse.de>
Reviewed-by: Stefan Wahren <wahrenst at gmx.net>
Signed-off-by: Andrea della Porta <andrea.porta at suse.com>
---
This patch is based on linux-next/master
.../dts/broadcom/bcm2712-rpi-5-b-ovl-rp1.dts | 18 ++++++++++++++++++
arch/arm64/boot/dts/broadcom/bcm2712.dtsi | 10 ++++++++++
2 files changed, 28 insertions(+)
diff --git a/arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b-ovl-rp1.dts b/arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b-ovl-rp1.dts
index 6ea3c102e0d6..6091a1ff365c 100644
--- a/arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b-ovl-rp1.dts
+++ b/arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b-ovl-rp1.dts
@@ -53,6 +53,21 @@ sd_vcc_reg: sd-vcc-reg {
};
};
+&pinctrl {
+ emmc_sd_default: emmc-sd-default-state {
+ pins = "emmc_cmd", "emmc_dat0", "emmc_dat1", "emmc_dat2", "emmc_dat3";
+ bias-pull-up;
+ };
+};
+
+&pinctrl_aon {
+ emmc_aon_cd_default: emmc-aon-cd-default-state {
+ function = "sd_card_g";
+ pins = "aon_gpio5";
+ bias-pull-up;
+ };
+};
+
/* The Debug UART, on Rpi5 it's on JST-SH 1.0mm 3-pin connector
* labeled "UART", i.e. the interface with the system console.
*/
@@ -62,12 +77,15 @@ &uart10 {
/* SDIO1 is used to drive the SD card */
&sdio1 {
+ pinctrl-0 = <&emmc_sd_default>, <&emmc_aon_cd_default>;
+ pinctrl-names = "default";
vqmmc-supply = <&sd_io_1v8_reg>;
vmmc-supply = <&sd_vcc_reg>;
bus-width = <4>;
sd-uhs-sdr50;
sd-uhs-ddr50;
sd-uhs-sdr104;
+ cd-gpios = <&gio_aon 5 GPIO_ACTIVE_LOW>;
};
&soc {
diff --git a/arch/arm64/boot/dts/broadcom/bcm2712.dtsi b/arch/arm64/boot/dts/broadcom/bcm2712.dtsi
index 0a9212d3106f..8a517261841d 100644
--- a/arch/arm64/boot/dts/broadcom/bcm2712.dtsi
+++ b/arch/arm64/boot/dts/broadcom/bcm2712.dtsi
@@ -243,6 +243,16 @@ uart10: serial at 7d001000 {
status = "disabled";
};
+ pinctrl: pinctrl at 7d504100 {
+ compatible = "brcm,bcm2712c0-pinctrl";
+ reg = <0x7d504100 0x30>;
+ };
+
+ pinctrl_aon: pinctrl at 7d510700 {
+ compatible = "brcm,bcm2712c0-aon-pinctrl";
+ reg = <0x7d510700 0x20>;
+ };
+
interrupt-controller at 7d517000 {
compatible = "brcm,bcm7271-l2-intc";
reg = <0x7d517000 0x10>;
--
2.35.3
More information about the linux-arm-kernel
mailing list