[PATCH 4/7] arm64: dts: broadcom: bcm2712: Add pin controller nodes
Ivan T. Ivanov
iivanov at suse.de
Tue Jul 30 23:28:11 PDT 2024
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>
---
.../boot/dts/broadcom/bcm2712-rpi-5-b.dts | 20 +++++++++++++++++++
arch/arm64/boot/dts/broadcom/bcm2712.dtsi | 10 ++++++++++
2 files changed, 30 insertions(+)
diff --git a/arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dts b/arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dts
index b5921437e09f..8a0d20afebfe 100644
--- a/arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dts
+++ b/arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dts
@@ -53,10 +53,30 @@ &uart0 {
/* SDIO1 is used to drive the SD card */
&sdio1 {
+ pinctrl-0 = <&emmc_sd_pulls>, <&emmc_aon_cd_pins>;
+ 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>;
+};
+
+&pinctrl_aon {
+ emmc_aon_cd_pins: emmc-aon-cd-pins {
+ function = "sd_card_g";
+ pins = "aon_gpio5";
+ bias-pull-up;
+ };
+};
+
+&pinctrl {
+
+ emmc_sd_pulls: emmc-sd-pulls {
+ pins = "emmc_cmd", "emmc_dat0", "emmc_dat1", "emmc_dat2", "emmc_dat3";
+ bias-pull-up;
+ };
+
};
diff --git a/arch/arm64/boot/dts/broadcom/bcm2712.dtsi b/arch/arm64/boot/dts/broadcom/bcm2712.dtsi
index 398df13148bd..1099171cd435 100644
--- a/arch/arm64/boot/dts/broadcom/bcm2712.dtsi
+++ b/arch/arm64/boot/dts/broadcom/bcm2712.dtsi
@@ -266,6 +266,16 @@ uart0: serial at 7d001000 {
status = "disabled";
};
+ pinctrl: pinctrl at 7d504100 {
+ compatible = "brcm,bcm2712-pinctrl";
+ reg = <0x7d504100 0x30>;
+ };
+
+ pinctrl_aon: pinctrl at 7d510700 {
+ compatible = "brcm,bcm2712-aon-pinctrl";
+ reg = <0x7d510700 0x20>;
+ };
+
interrupt-controller at 7d517000 {
compatible = "brcm,bcm7271-l2-intc";
reg = <0x7d517000 0x10>;
--
2.43.0
More information about the linux-arm-kernel
mailing list