]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
arm64: dts: broadcom: bcm2712: Add pin controller nodes
authorIvan T. Ivanov <iivanov@suse.de>
Thu, 28 Aug 2025 13:17:11 +0000 (15:17 +0200)
committerFlorian Fainelli <florian.fainelli@broadcom.com>
Thu, 4 Sep 2025 21:04:02 +0000 (14:04 -0700)
Add pin-control devicetree nodes and used them to
explicitly define uSD card interface pin configuration.

Signed-off-by: Ivan T. Ivanov <iivanov@suse.de>
Reviewed-by: Stefan Wahren <wahrenst@gmx.net>
Signed-off-by: Andrea della Porta <andrea.porta@suse.com>
Link: https://lore.kernel.org/r/5ceba8558e0007a9685f19b51d681d0ce79e7634.1756386531.git.andrea.porta@suse.com
Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b-ovl-rp1.dts
arch/arm64/boot/dts/broadcom/bcm2712.dtsi

index 6ea3c102e0d6765d20d809c8680013ec8b6da076..6091a1ff365c995eb4930afeacbfa57f44cceb3a 100644 (file)
        };
 };
 
+&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.
  */
 
 /* 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 {
index 940f1c4831988cebc37f9a33f84bc88a4dd2d53c..c1374cf383aeb9bfd0eb2ac3d287af2832280063 100644 (file)
                        status = "disabled";
                };
 
+               pinctrl: pinctrl@7d504100 {
+                       compatible = "brcm,bcm2712c0-pinctrl";
+                       reg = <0x7d504100 0x30>;
+               };
+
+               pinctrl_aon: pinctrl@7d510700 {
+                       compatible = "brcm,bcm2712c0-aon-pinctrl";
+                       reg = <0x7d510700 0x20>;
+               };
+
                interrupt-controller@7d517000 {
                        compatible = "brcm,bcm7271-l2-intc";
                        reg = <0x7d517000 0x10>;