[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251118161936.1085477-11-antonio.borneo@foss.st.com>
Date: Tue, 18 Nov 2025 17:19:31 +0100
From: Antonio Borneo <antonio.borneo@...s.st.com>
To: Linus Walleij <linus.walleij@...aro.org>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
Maxime Coquelin <mcoquelin.stm32@...il.com>,
Alexandre Torgue
<alexandre.torgue@...s.st.com>,
<linux-gpio@...r.kernel.org>, <devicetree@...r.kernel.org>,
<linux-stm32@...md-mailman.stormreply.com>,
<linux-arm-kernel@...ts.infradead.org>, <linux-kernel@...r.kernel.org>
CC: Antonio Borneo <antonio.borneo@...s.st.com>,
Clément Le Goffic <legoffic.clement@...il.com>,
"Amelie
Delaunay" <amelie.delaunay@...s.st.com>,
Pascal Paillet
<p.paillet@...s.st.com>
Subject: [PATCH v2 10/15] arm64: dts: st: introduce stm32mp21 pinctrl files
From: Amelie Delaunay <amelie.delaunay@...s.st.com>
Four packages exist for stm32mp21 dies. As ball-out is different between
them, this patch cover those differences by introducing dedicated pinctrl
dtsi files. Each dtsi pinctrl package file describes the package ball-out
through gpio-ranges.
Available packages are:
STM32MP21xxAL: 10*10 VFBGA361 / 123 GPIOs
STM32MP21xxAM: 14*14 VFBGA289 / 123 GPIOs
STM32MP21xxAN: 11*11 VFBGA273 / 123 GPIOs
STM32MP21xxAO: 8*8 VFBGA225 / 98 GPIOs
It includes also the common file used for pin groups definition.
Signed-off-by: Amelie Delaunay <amelie.delaunay@...s.st.com>
Signed-off-by: Antonio Borneo <antonio.borneo@...s.st.com>
---
arch/arm64/boot/dts/st/stm32mp21-pinctrl.dtsi | 6 ++
.../boot/dts/st/stm32mp21xxal-pinctrl.dtsi | 71 +++++++++++++++++++
.../boot/dts/st/stm32mp21xxam-pinctrl.dtsi | 71 +++++++++++++++++++
.../boot/dts/st/stm32mp21xxan-pinctrl.dtsi | 71 +++++++++++++++++++
.../boot/dts/st/stm32mp21xxao-pinctrl.dtsi | 63 ++++++++++++++++
5 files changed, 282 insertions(+)
create mode 100644 arch/arm64/boot/dts/st/stm32mp21-pinctrl.dtsi
create mode 100644 arch/arm64/boot/dts/st/stm32mp21xxal-pinctrl.dtsi
create mode 100644 arch/arm64/boot/dts/st/stm32mp21xxam-pinctrl.dtsi
create mode 100644 arch/arm64/boot/dts/st/stm32mp21xxan-pinctrl.dtsi
create mode 100644 arch/arm64/boot/dts/st/stm32mp21xxao-pinctrl.dtsi
diff --git a/arch/arm64/boot/dts/st/stm32mp21-pinctrl.dtsi b/arch/arm64/boot/dts/st/stm32mp21-pinctrl.dtsi
new file mode 100644
index 0000000000000..7e9b74f3d9d96
--- /dev/null
+++ b/arch/arm64/boot/dts/st/stm32mp21-pinctrl.dtsi
@@ -0,0 +1,6 @@
+// SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause)
+/*
+ * Copyright (C) 2024-2025, STMicroelectronics - All Rights Reserved
+ * Author: Amelie Delaunay <amelie.delaunay@...s.st.com> for STMicroelectronics.
+ */
+#include <dt-bindings/pinctrl/stm32-pinfunc.h>
diff --git a/arch/arm64/boot/dts/st/stm32mp21xxal-pinctrl.dtsi b/arch/arm64/boot/dts/st/stm32mp21xxal-pinctrl.dtsi
new file mode 100644
index 0000000000000..7acf8a7e40e62
--- /dev/null
+++ b/arch/arm64/boot/dts/st/stm32mp21xxal-pinctrl.dtsi
@@ -0,0 +1,71 @@
+// SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause)
+/*
+ * Copyright (C) STMicroelectronics 2024-2025 - All Rights Reserved
+ * Author: Amelie Delaunay <amelie.delaunay@...s.st.com> for STMicroelectronics.
+ */
+
+&pinctrl {
+ st,package = "AL";
+
+ gpioa: gpio@...40000 {
+ ngpios = <16>;
+ gpio-ranges = <&pinctrl 0 0 16>;
+ status = "okay";
+ };
+
+ gpiob: gpio@...50000 {
+ ngpios = <13>;
+ gpio-ranges = <&pinctrl 1 17 3>, <&pinctrl 5 21 3>, <&pinctrl 9 25 7>;
+ status = "okay";
+ };
+
+ gpioc: gpio@...60000 {
+ ngpios = <14>;
+ gpio-ranges = <&pinctrl 0 32 14>;
+ status = "okay";
+ };
+
+ gpiod: gpio@...70000 {
+ ngpios = <16>;
+ gpio-ranges = <&pinctrl 0 48 16>;
+ status = "okay";
+ };
+
+ gpioe: gpio@...80000 {
+ ngpios = <16>;
+ gpio-ranges = <&pinctrl 0 64 16>;
+ status = "okay";
+ };
+
+ gpiof: gpio@...90000 {
+ ngpios = <15>;
+ gpio-ranges = <&pinctrl 0 80 14>, <&pinctrl 15 95 1>;
+ status = "okay";
+ };
+
+ gpiog: gpio@...a0000 {
+ ngpios = <15>;
+ gpio-ranges = <&pinctrl 0 96 6>, <&pinctrl 7 103 9>;
+ status = "okay";
+ };
+
+ gpioh: gpio@...b0000 {
+ ngpios = <9>;
+ gpio-ranges = <&pinctrl 4 116 2>, <&pinctrl 7 119 7>;
+ status = "okay";
+ };
+
+ gpioi: gpio@...c0000 {
+ ngpios = <6>;
+ gpio-ranges = <&pinctrl 0 128 2>, <&pinctrl 4 132 3>, <&pinctrl 8 136 1>;
+ status = "okay";
+ };
+};
+
+&pinctrl_z {
+ gpioz: gpio@...00000 {
+ ngpios = <3>;
+ gpio-ranges = <&pinctrl_z 0 400 2>, <&pinctrl_z 3 403 1>;
+ status = "okay";
+ };
+};
diff --git a/arch/arm64/boot/dts/st/stm32mp21xxam-pinctrl.dtsi b/arch/arm64/boot/dts/st/stm32mp21xxam-pinctrl.dtsi
new file mode 100644
index 0000000000000..2e66028f50a6c
--- /dev/null
+++ b/arch/arm64/boot/dts/st/stm32mp21xxam-pinctrl.dtsi
@@ -0,0 +1,71 @@
+// SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause)
+/*
+ * Copyright (C) STMicroelectronics 2024-2025 - All Rights Reserved
+ * Author: Amelie Delaunay <amelie.delaunay@...s.st.com> for STMicroelectronics.
+ */
+
+&pinctrl {
+ st,package = "AM";
+
+ gpioa: gpio@...40000 {
+ ngpios = <16>;
+ gpio-ranges = <&pinctrl 0 0 16>;
+ status = "okay";
+ };
+
+ gpiob: gpio@...50000 {
+ ngpios = <13>;
+ gpio-ranges = <&pinctrl 1 17 3>, <&pinctrl 5 21 3>, <&pinctrl 9 25 7>;
+ status = "okay";
+ };
+
+ gpioc: gpio@...60000 {
+ ngpios = <14>;
+ gpio-ranges = <&pinctrl 0 32 14>;
+ status = "okay";
+ };
+
+ gpiod: gpio@...70000 {
+ ngpios = <16>;
+ gpio-ranges = <&pinctrl 0 48 16>;
+ status = "okay";
+ };
+
+ gpioe: gpio@...80000 {
+ ngpios = <16>;
+ gpio-ranges = <&pinctrl 0 64 16>;
+ status = "okay";
+ };
+
+ gpiof: gpio@...90000 {
+ ngpios = <15>;
+ gpio-ranges = <&pinctrl 0 80 14>, <&pinctrl 15 95 1>;
+ status = "okay";
+ };
+
+ gpiog: gpio@...a0000 {
+ ngpios = <15>;
+ gpio-ranges = <&pinctrl 0 96 6>, <&pinctrl 7 103 9>;
+ status = "okay";
+ };
+
+ gpioh: gpio@...b0000 {
+ ngpios = <9>;
+ gpio-ranges = <&pinctrl 4 116 2>, <&pinctrl 7 119 7>;
+ status = "okay";
+ };
+
+ gpioi: gpio@...c0000 {
+ ngpios = <6>;
+ gpio-ranges = <&pinctrl 0 128 2>, <&pinctrl 4 132 3>, <&pinctrl 8 136 1>;
+ status = "okay";
+ };
+};
+
+&pinctrl_z {
+ gpioz: gpio@...00000 {
+ ngpios = <3>;
+ gpio-ranges = <&pinctrl_z 0 400 2>, <&pinctrl_z 3 403 1>;
+ status = "okay";
+ };
+};
diff --git a/arch/arm64/boot/dts/st/stm32mp21xxan-pinctrl.dtsi b/arch/arm64/boot/dts/st/stm32mp21xxan-pinctrl.dtsi
new file mode 100644
index 0000000000000..0e48f411262f1
--- /dev/null
+++ b/arch/arm64/boot/dts/st/stm32mp21xxan-pinctrl.dtsi
@@ -0,0 +1,71 @@
+// SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause)
+/*
+ * Copyright (C) STMicroelectronics 2024-2025 - All Rights Reserved
+ * Author: Amelie Delaunay <amelie.delaunay@...s.st.com> for STMicroelectronics.
+ */
+
+&pinctrl {
+ st,package = "AN";
+
+ gpioa: gpio@...40000 {
+ ngpios = <16>;
+ gpio-ranges = <&pinctrl 0 0 16>;
+ status = "okay";
+ };
+
+ gpiob: gpio@...50000 {
+ ngpios = <13>;
+ gpio-ranges = <&pinctrl 1 17 3>, <&pinctrl 5 21 3>, <&pinctrl 9 25 7>;
+ status = "okay";
+ };
+
+ gpioc: gpio@...60000 {
+ ngpios = <14>;
+ gpio-ranges = <&pinctrl 0 32 14>;
+ status = "okay";
+ };
+
+ gpiod: gpio@...70000 {
+ ngpios = <16>;
+ gpio-ranges = <&pinctrl 0 48 16>;
+ status = "okay";
+ };
+
+ gpioe: gpio@...80000 {
+ ngpios = <16>;
+ gpio-ranges = <&pinctrl 0 64 16>;
+ status = "okay";
+ };
+
+ gpiof: gpio@...90000 {
+ ngpios = <15>;
+ gpio-ranges = <&pinctrl 0 80 14>, <&pinctrl 15 95 1>;
+ status = "okay";
+ };
+
+ gpiog: gpio@...a0000 {
+ ngpios = <15>;
+ gpio-ranges = <&pinctrl 0 96 6>, <&pinctrl 7 103 9>;
+ status = "okay";
+ };
+
+ gpioh: gpio@...b0000 {
+ ngpios = <9>;
+ gpio-ranges = <&pinctrl 4 116 2>, <&pinctrl 7 119 7>;
+ status = "okay";
+ };
+
+ gpioi: gpio@...c0000 {
+ ngpios = <6>;
+ gpio-ranges = <&pinctrl 0 128 2>, <&pinctrl 4 132 3>, <&pinctrl 8 136 1>;
+ status = "okay";
+ };
+};
+
+&pinctrl_z {
+ gpioz: gpio@...00000 {
+ ngpios = <3>;
+ gpio-ranges = <&pinctrl_z 0 400 2>, <&pinctrl_z 3 403 1>;
+ status = "okay";
+ };
+};
diff --git a/arch/arm64/boot/dts/st/stm32mp21xxao-pinctrl.dtsi b/arch/arm64/boot/dts/st/stm32mp21xxao-pinctrl.dtsi
new file mode 100644
index 0000000000000..0c4ed4a6d6401
--- /dev/null
+++ b/arch/arm64/boot/dts/st/stm32mp21xxao-pinctrl.dtsi
@@ -0,0 +1,63 @@
+// SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause)
+/*
+ * Copyright (C) STMicroelectronics 2024-2025 - All Rights Reserved
+ * Author: Amelie Delaunay <amelie.delaunay@...s.st.com> for STMicroelectronics.
+ */
+
+&pinctrl {
+ st,package = "AO";
+
+ gpioa: gpio@...40000 {
+ ngpios = <15>;
+ gpio-ranges = <&pinctrl 0 0 12>, <&pinctrl 13 13 3>;
+ status = "okay";
+ };
+
+ gpiob: gpio@...50000 {
+ ngpios = <5>;
+ gpio-ranges = <&pinctrl 11 27 5>;
+ status = "okay";
+ };
+
+ gpioc: gpio@...60000 {
+ ngpios = <14>;
+ gpio-ranges = <&pinctrl 0 32 14>;
+ status = "okay";
+ };
+
+ gpiod: gpio@...70000 {
+ ngpios = <16>;
+ gpio-ranges = <&pinctrl 0 48 16>;
+ status = "okay";
+ };
+
+ gpioe: gpio@...80000 {
+ ngpios = <14>;
+ gpio-ranges = <&pinctrl 0 64 10>, <&pinctrl 11 75 3>, <&pinctrl 15 79 1>;
+ status = "okay";
+ };
+
+ gpiof: gpio@...90000 {
+ ngpios = <15>;
+ gpio-ranges = <&pinctrl 0 80 14>, <&pinctrl 15 95 1>;
+ status = "okay";
+ };
+
+ gpiog: gpio@...a0000 {
+ ngpios = <9>;
+ gpio-ranges = <&pinctrl 0 96 6>, <&pinctrl 7 103 1>, <&pinctrl 11 107 2>;
+ status = "okay";
+ };
+
+ gpioh: gpio@...b0000 {
+ ngpios = <7>;
+ gpio-ranges = <&pinctrl 4 116 2>, <&pinctrl 9 121 5>;
+ status = "okay";
+ };
+
+ gpioi: gpio@...c0000 {
+ ngpios = <3>;
+ gpio-ranges = <&pinctrl 0 128 2>, <&pinctrl 4 132 1>;
+ status = "okay";
+ };
+};
--
2.34.1
Powered by blists - more mailing lists