diff mbox series

[4/7] arm64: dts: broadcom: bcm2712: Add pin controller nodes

Message ID 20240731062814.215833-5-iivanov@suse.de (mailing list archive)
State New, archived
Headers show
Series Add pin control driver for BCM2712 SoC | expand

Commit Message

Ivan T . Ivanov July 31, 2024, 6:28 a.m. UTC
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>
---
 .../boot/dts/broadcom/bcm2712-rpi-5-b.dts     | 20 +++++++++++++++++++
 arch/arm64/boot/dts/broadcom/bcm2712.dtsi     | 10 ++++++++++
 2 files changed, 30 insertions(+)

Comments

Stefan Wahren Aug. 2, 2024, 7:16 p.m. UTC | #1
Am 31.07.24 um 08:28 schrieb Ivan T. Ivanov:
> 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>
> ---
>   .../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;
> +	};
> +
>   };
Please keep the references in alphabetical order (pinctrl comes before
sdio). Except of this:

Reviewed-by: Stefan Wahren <wahrenst@gmx.net>
> 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@7d001000 {
>   			status = "disabled";
>   		};
>
> +		pinctrl: pinctrl@7d504100 {
> +			compatible = "brcm,bcm2712-pinctrl";
> +			reg = <0x7d504100 0x30>;
> +		};
> +
> +		pinctrl_aon: pinctrl@7d510700 {
> +			compatible = "brcm,bcm2712-aon-pinctrl";
> +			reg = <0x7d510700 0x20>;
> +		};
> +
>   		interrupt-controller@7d517000 {
>   			compatible = "brcm,bcm7271-l2-intc";
>   			reg = <0x7d517000 0x10>;
diff mbox series

Patch

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@7d001000 {
 			status = "disabled";
 		};
 
+		pinctrl: pinctrl@7d504100 {
+			compatible = "brcm,bcm2712-pinctrl";
+			reg = <0x7d504100 0x30>;
+		};
+
+		pinctrl_aon: pinctrl@7d510700 {
+			compatible = "brcm,bcm2712-aon-pinctrl";
+			reg = <0x7d510700 0x20>;
+		};
+
 		interrupt-controller@7d517000 {
 			compatible = "brcm,bcm7271-l2-intc";
 			reg = <0x7d517000 0x10>;