arm64: dts: st: introduce stm32mp25 pinctrl files
authorAlexandre Torgue <alexandre.torgue@foss.st.com>
Thu, 7 Jan 2021 13:15:12 +0000 (14:15 +0100)
committerAlexandre Torgue <alexandre.torgue@foss.st.com>
Thu, 8 Jun 2023 14:01:45 +0000 (16:01 +0200)
Three packages exist for stm32mp25 dies. As ball-out is different between
them, this patch covers those differences by introducing dedicated pinctrl
dtsi files. Each dtsi pinctrl package file describes the package ball-out
through gpio-ranges.

Available packages are:

STM32MP25xAI: 18*18/FCBGA 172 ios
STM32MP25xAK: 14*14/FCBGA 144 ios
STM32MP25xAL: 10*10/TFBGA 144 ios

It includes also the common file used for pin groups definition.

Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
arch/arm64/boot/dts/st/stm32mp25-pinctrl.dtsi [new file with mode: 0644]
arch/arm64/boot/dts/st/stm32mp25xxai-pinctrl.dtsi [new file with mode: 0644]
arch/arm64/boot/dts/st/stm32mp25xxak-pinctrl.dtsi [new file with mode: 0644]
arch/arm64/boot/dts/st/stm32mp25xxal-pinctrl.dtsi [new file with mode: 0644]

diff --git a/arch/arm64/boot/dts/st/stm32mp25-pinctrl.dtsi b/arch/arm64/boot/dts/st/stm32mp25-pinctrl.dtsi
new file mode 100644 (file)
index 0000000..5bd2776
--- /dev/null
@@ -0,0 +1,7 @@
+// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-3-Clause)
+/*
+ * Copyright (C) STMicroelectronics 2023 - All Rights Reserved
+ * Author: Alexandre Torgue <alexandre.torgue@foss.st.com> for STMicroelectronics.
+ */
+#include <dt-bindings/pinctrl/stm32-pinfunc.h>
+
diff --git a/arch/arm64/boot/dts/st/stm32mp25xxai-pinctrl.dtsi b/arch/arm64/boot/dts/st/stm32mp25xxai-pinctrl.dtsi
new file mode 100644 (file)
index 0000000..abdbc7a
--- /dev/null
@@ -0,0 +1,83 @@
+// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-3-Clause)
+/*
+ * Copyright (C) STMicroelectronics 2023 - All Rights Reserved
+ * Author: Alexandre Torgue <alexandre.torgue@foss.st.com> for STMicroelectronics.
+ */
+
+&pinctrl {
+       st,package = <STM32MP_PKG_AI>;
+
+       gpioa: gpio@44240000 {
+               status = "okay";
+               ngpios = <16>;
+               gpio-ranges = <&pinctrl 0 0 16>;
+       };
+
+       gpiob: gpio@44250000 {
+               status = "okay";
+               ngpios = <16>;
+               gpio-ranges = <&pinctrl 0 16 16>;
+       };
+
+       gpioc: gpio@44260000 {
+               status = "okay";
+               ngpios = <14>;
+               gpio-ranges = <&pinctrl 0 32 14>;
+       };
+
+       gpiod: gpio@44270000 {
+               status = "okay";
+               ngpios = <16>;
+               gpio-ranges = <&pinctrl 0 48 16>;
+       };
+
+       gpioe: gpio@44280000 {
+               status = "okay";
+               ngpios = <16>;
+               gpio-ranges = <&pinctrl 0 64 16>;
+       };
+
+       gpiof: gpio@44290000 {
+               status = "okay";
+               ngpios = <16>;
+               gpio-ranges = <&pinctrl 0 80 16>;
+       };
+
+       gpiog: gpio@442a0000 {
+               status = "okay";
+               ngpios = <16>;
+               gpio-ranges = <&pinctrl 0 96 16>;
+       };
+
+       gpioh: gpio@442b0000 {
+               status = "okay";
+               ngpios = <12>;
+               gpio-ranges = <&pinctrl 2 114 12>;
+       };
+
+       gpioi: gpio@442c0000 {
+               status = "okay";
+               ngpios = <16>;
+               gpio-ranges = <&pinctrl 0 128 16>;
+       };
+
+       gpioj: gpio@442d0000 {
+               status = "okay";
+               ngpios = <16>;
+               gpio-ranges = <&pinctrl 0 144 16>;
+       };
+
+       gpiok: gpio@442e0000 {
+               status = "okay";
+               ngpios = <8>;
+               gpio-ranges = <&pinctrl 0 160 8>;
+       };
+};
+
+&pinctrl_z {
+       gpioz: gpio@46200000 {
+               status = "okay";
+               ngpios = <10>;
+               gpio-ranges = <&pinctrl_z 0 400 10>;
+       };
+};
diff --git a/arch/arm64/boot/dts/st/stm32mp25xxak-pinctrl.dtsi b/arch/arm64/boot/dts/st/stm32mp25xxak-pinctrl.dtsi
new file mode 100644 (file)
index 0000000..2e0d4d3
--- /dev/null
@@ -0,0 +1,71 @@
+// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-3-Clause)
+/*
+ * Copyright (C) STMicroelectronics 2023 - All Rights Reserved
+ * Author: Alexandre Torgue <alexandre.torgue@foss.st.com> for STMicroelectronics.
+ */
+
+&pinctrl {
+       st,package = <STM32MP_PKG_AK>;
+
+       gpioa: gpio@44240000 {
+               status = "okay";
+               ngpios = <16>;
+               gpio-ranges = <&pinctrl 0 0 16>;
+       };
+
+       gpiob: gpio@44250000 {
+               status = "okay";
+               ngpios = <16>;
+               gpio-ranges = <&pinctrl 0 16 16>;
+       };
+
+       gpioc: gpio@44260000 {
+               status = "okay";
+               ngpios = <14>;
+               gpio-ranges = <&pinctrl 0 32 14>;
+       };
+
+       gpiod: gpio@44270000 {
+               status = "okay";
+               ngpios = <16>;
+               gpio-ranges = <&pinctrl 0 48 16>;
+       };
+
+       gpioe: gpio@44280000 {
+               status = "okay";
+               ngpios = <16>;
+               gpio-ranges = <&pinctrl 0 64 16>;
+       };
+
+       gpiof: gpio@44290000 {
+               status = "okay";
+               ngpios = <16>;
+               gpio-ranges = <&pinctrl 0 80 16>;
+       };
+
+       gpiog: gpio@442a0000 {
+               status = "okay";
+               ngpios = <16>;
+               gpio-ranges = <&pinctrl 0 96 16>;
+       };
+
+       gpioh: gpio@442b0000 {
+               status = "okay";
+               ngpios = <12>;
+               gpio-ranges = <&pinctrl 2 114 12>;
+       };
+
+       gpioi: gpio@442c0000 {
+               status = "okay";
+               ngpios = <12>;
+               gpio-ranges = <&pinctrl 0 128 12>;
+       };
+};
+
+&pinctrl_z {
+       gpioz: gpio@46200000 {
+               status = "okay";
+               ngpios = <10>;
+               gpio-ranges = <&pinctrl_z 0 400 10>;
+       };
+};
diff --git a/arch/arm64/boot/dts/st/stm32mp25xxal-pinctrl.dtsi b/arch/arm64/boot/dts/st/stm32mp25xxal-pinctrl.dtsi
new file mode 100644 (file)
index 0000000..2406e97
--- /dev/null
@@ -0,0 +1,71 @@
+// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-3-Clause)
+/*
+ * Copyright (C) STMicroelectronics 2023 - All Rights Reserved
+ * Author: Alexandre Torgue <alexandre.torgue@foss.st.com> for STMicroelectronics.
+ */
+
+&pinctrl {
+       st,package = <STM32MP_PKG_AL>;
+
+       gpioa: gpio@44240000 {
+               status = "okay";
+               ngpios = <16>;
+               gpio-ranges = <&pinctrl 0 0 16>;
+       };
+
+       gpiob: gpio@44250000 {
+               status = "okay";
+               ngpios = <16>;
+               gpio-ranges = <&pinctrl 0 16 16>;
+       };
+
+       gpioc: gpio@44260000 {
+               status = "okay";
+               ngpios = <14>;
+               gpio-ranges = <&pinctrl 0 32 14>;
+       };
+
+       gpiod: gpio@44270000 {
+               status = "okay";
+               ngpios = <16>;
+               gpio-ranges = <&pinctrl 0 48 16>;
+       };
+
+       gpioe: gpio@44280000 {
+               status = "okay";
+               ngpios = <16>;
+               gpio-ranges = <&pinctrl 0 64 16>;
+       };
+
+       gpiof: gpio@44290000 {
+               status = "okay";
+               ngpios = <16>;
+               gpio-ranges = <&pinctrl 0 80 16>;
+       };
+
+       gpiog: gpio@442a0000 {
+               status = "okay";
+               ngpios = <16>;
+               gpio-ranges = <&pinctrl 0 96 16>;
+       };
+
+       gpioh: gpio@442b0000 {
+               status = "okay";
+               ngpios = <12>;
+               gpio-ranges = <&pinctrl 2 114 12>;
+       };
+
+       gpioi: gpio@442c0000 {
+               status = "okay";
+               ngpios = <12>;
+               gpio-ranges = <&pinctrl 0 128 12>;
+       };
+};
+
+&pinctrl_z {
+       gpioz: gpio@46200000 {
+               status = "okay";
+               ngpios = <10>;
+               gpio-ranges = <&pinctrl_z 0 400 10>;
+       };
+};