From: Antonio Borneo <antonio.borneo@foss.st.com>
To: Linus Walleij <linus.walleij@linaro.org>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Maxime Coquelin <mcoquelin.stm32@gmail.com>,
Alexandre Torgue <alexandre.torgue@foss.st.com>,
<linux-gpio@vger.kernel.org>, <devicetree@vger.kernel.org>,
<linux-stm32@st-md-mailman.stormreply.com>,
<linux-arm-kernel@lists.infradead.org>,
<linux-kernel@vger.kernel.org>
Cc: "Antonio Borneo" <antonio.borneo@foss.st.com>,
"Clément Le Goffic" <legoffic.clement@gmail.com>,
"Amelie Delaunay" <amelie.delaunay@foss.st.com>,
"Pascal Paillet" <p.paillet@foss.st.com>
Subject: [PATCH v2 10/15] arm64: dts: st: introduce stm32mp21 pinctrl files
Date: Tue, 18 Nov 2025 17:19:31 +0100 [thread overview]
Message-ID: <20251118161936.1085477-11-antonio.borneo@foss.st.com> (raw)
In-Reply-To: <20251118161936.1085477-1-antonio.borneo@foss.st.com>
From: Amelie Delaunay <amelie.delaunay@foss.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@foss.st.com>
Signed-off-by: Antonio Borneo <antonio.borneo@foss.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@foss.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@foss.st.com> for STMicroelectronics.
+ */
+
+&pinctrl {
+ st,package = "AL";
+
+ gpioa: gpio@44240000 {
+ ngpios = <16>;
+ gpio-ranges = <&pinctrl 0 0 16>;
+ status = "okay";
+ };
+
+ gpiob: gpio@44250000 {
+ ngpios = <13>;
+ gpio-ranges = <&pinctrl 1 17 3>, <&pinctrl 5 21 3>, <&pinctrl 9 25 7>;
+ status = "okay";
+ };
+
+ gpioc: gpio@44260000 {
+ ngpios = <14>;
+ gpio-ranges = <&pinctrl 0 32 14>;
+ status = "okay";
+ };
+
+ gpiod: gpio@44270000 {
+ ngpios = <16>;
+ gpio-ranges = <&pinctrl 0 48 16>;
+ status = "okay";
+ };
+
+ gpioe: gpio@44280000 {
+ ngpios = <16>;
+ gpio-ranges = <&pinctrl 0 64 16>;
+ status = "okay";
+ };
+
+ gpiof: gpio@44290000 {
+ ngpios = <15>;
+ gpio-ranges = <&pinctrl 0 80 14>, <&pinctrl 15 95 1>;
+ status = "okay";
+ };
+
+ gpiog: gpio@442a0000 {
+ ngpios = <15>;
+ gpio-ranges = <&pinctrl 0 96 6>, <&pinctrl 7 103 9>;
+ status = "okay";
+ };
+
+ gpioh: gpio@442b0000 {
+ ngpios = <9>;
+ gpio-ranges = <&pinctrl 4 116 2>, <&pinctrl 7 119 7>;
+ status = "okay";
+ };
+
+ gpioi: gpio@442c0000 {
+ ngpios = <6>;
+ gpio-ranges = <&pinctrl 0 128 2>, <&pinctrl 4 132 3>, <&pinctrl 8 136 1>;
+ status = "okay";
+ };
+};
+
+&pinctrl_z {
+ gpioz: gpio@46200000 {
+ 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@foss.st.com> for STMicroelectronics.
+ */
+
+&pinctrl {
+ st,package = "AM";
+
+ gpioa: gpio@44240000 {
+ ngpios = <16>;
+ gpio-ranges = <&pinctrl 0 0 16>;
+ status = "okay";
+ };
+
+ gpiob: gpio@44250000 {
+ ngpios = <13>;
+ gpio-ranges = <&pinctrl 1 17 3>, <&pinctrl 5 21 3>, <&pinctrl 9 25 7>;
+ status = "okay";
+ };
+
+ gpioc: gpio@44260000 {
+ ngpios = <14>;
+ gpio-ranges = <&pinctrl 0 32 14>;
+ status = "okay";
+ };
+
+ gpiod: gpio@44270000 {
+ ngpios = <16>;
+ gpio-ranges = <&pinctrl 0 48 16>;
+ status = "okay";
+ };
+
+ gpioe: gpio@44280000 {
+ ngpios = <16>;
+ gpio-ranges = <&pinctrl 0 64 16>;
+ status = "okay";
+ };
+
+ gpiof: gpio@44290000 {
+ ngpios = <15>;
+ gpio-ranges = <&pinctrl 0 80 14>, <&pinctrl 15 95 1>;
+ status = "okay";
+ };
+
+ gpiog: gpio@442a0000 {
+ ngpios = <15>;
+ gpio-ranges = <&pinctrl 0 96 6>, <&pinctrl 7 103 9>;
+ status = "okay";
+ };
+
+ gpioh: gpio@442b0000 {
+ ngpios = <9>;
+ gpio-ranges = <&pinctrl 4 116 2>, <&pinctrl 7 119 7>;
+ status = "okay";
+ };
+
+ gpioi: gpio@442c0000 {
+ ngpios = <6>;
+ gpio-ranges = <&pinctrl 0 128 2>, <&pinctrl 4 132 3>, <&pinctrl 8 136 1>;
+ status = "okay";
+ };
+};
+
+&pinctrl_z {
+ gpioz: gpio@46200000 {
+ 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@foss.st.com> for STMicroelectronics.
+ */
+
+&pinctrl {
+ st,package = "AN";
+
+ gpioa: gpio@44240000 {
+ ngpios = <16>;
+ gpio-ranges = <&pinctrl 0 0 16>;
+ status = "okay";
+ };
+
+ gpiob: gpio@44250000 {
+ ngpios = <13>;
+ gpio-ranges = <&pinctrl 1 17 3>, <&pinctrl 5 21 3>, <&pinctrl 9 25 7>;
+ status = "okay";
+ };
+
+ gpioc: gpio@44260000 {
+ ngpios = <14>;
+ gpio-ranges = <&pinctrl 0 32 14>;
+ status = "okay";
+ };
+
+ gpiod: gpio@44270000 {
+ ngpios = <16>;
+ gpio-ranges = <&pinctrl 0 48 16>;
+ status = "okay";
+ };
+
+ gpioe: gpio@44280000 {
+ ngpios = <16>;
+ gpio-ranges = <&pinctrl 0 64 16>;
+ status = "okay";
+ };
+
+ gpiof: gpio@44290000 {
+ ngpios = <15>;
+ gpio-ranges = <&pinctrl 0 80 14>, <&pinctrl 15 95 1>;
+ status = "okay";
+ };
+
+ gpiog: gpio@442a0000 {
+ ngpios = <15>;
+ gpio-ranges = <&pinctrl 0 96 6>, <&pinctrl 7 103 9>;
+ status = "okay";
+ };
+
+ gpioh: gpio@442b0000 {
+ ngpios = <9>;
+ gpio-ranges = <&pinctrl 4 116 2>, <&pinctrl 7 119 7>;
+ status = "okay";
+ };
+
+ gpioi: gpio@442c0000 {
+ ngpios = <6>;
+ gpio-ranges = <&pinctrl 0 128 2>, <&pinctrl 4 132 3>, <&pinctrl 8 136 1>;
+ status = "okay";
+ };
+};
+
+&pinctrl_z {
+ gpioz: gpio@46200000 {
+ 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@foss.st.com> for STMicroelectronics.
+ */
+
+&pinctrl {
+ st,package = "AO";
+
+ gpioa: gpio@44240000 {
+ ngpios = <15>;
+ gpio-ranges = <&pinctrl 0 0 12>, <&pinctrl 13 13 3>;
+ status = "okay";
+ };
+
+ gpiob: gpio@44250000 {
+ ngpios = <5>;
+ gpio-ranges = <&pinctrl 11 27 5>;
+ status = "okay";
+ };
+
+ gpioc: gpio@44260000 {
+ ngpios = <14>;
+ gpio-ranges = <&pinctrl 0 32 14>;
+ status = "okay";
+ };
+
+ gpiod: gpio@44270000 {
+ ngpios = <16>;
+ gpio-ranges = <&pinctrl 0 48 16>;
+ status = "okay";
+ };
+
+ gpioe: gpio@44280000 {
+ ngpios = <14>;
+ gpio-ranges = <&pinctrl 0 64 10>, <&pinctrl 11 75 3>, <&pinctrl 15 79 1>;
+ status = "okay";
+ };
+
+ gpiof: gpio@44290000 {
+ ngpios = <15>;
+ gpio-ranges = <&pinctrl 0 80 14>, <&pinctrl 15 95 1>;
+ status = "okay";
+ };
+
+ gpiog: gpio@442a0000 {
+ ngpios = <9>;
+ gpio-ranges = <&pinctrl 0 96 6>, <&pinctrl 7 103 1>, <&pinctrl 11 107 2>;
+ status = "okay";
+ };
+
+ gpioh: gpio@442b0000 {
+ ngpios = <7>;
+ gpio-ranges = <&pinctrl 4 116 2>, <&pinctrl 9 121 5>;
+ status = "okay";
+ };
+
+ gpioi: gpio@442c0000 {
+ ngpios = <3>;
+ gpio-ranges = <&pinctrl 0 128 2>, <&pinctrl 4 132 1>;
+ status = "okay";
+ };
+};
--
2.34.1
next prev parent reply other threads:[~2025-11-18 17:05 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-18 16:19 [PATCH v2 00/15] pinctrl: stm32: rework SoC package and add STM32MP21 Antonio Borneo
2025-11-18 16:19 ` [PATCH v2 01/15] pinctrl: stm32: accept string value for property 'st,package' Antonio Borneo
2025-11-18 16:19 ` [PATCH v2 02/15] dt-bindings: pinctrl: stm32: use strings for enum " Antonio Borneo
2025-11-19 7:27 ` Krzysztof Kozlowski
2025-11-19 14:16 ` Linus Walleij
2025-11-20 9:50 ` Antonio Borneo
2025-11-18 16:19 ` [PATCH v2 03/15] arm: dts: stm32: update property 'st,package' to new bindings Antonio Borneo
2025-11-18 16:19 ` [PATCH v2 04/15] arm64: dts: st: " Antonio Borneo
2025-11-18 16:19 ` [PATCH v2 05/15] pinctrl: stm32: add new package to stm32mp257 pinctrl support Antonio Borneo
2025-11-20 4:25 ` kernel test robot
2025-11-18 16:19 ` [PATCH v2 06/15] dt-bindings: " Antonio Borneo
2025-11-18 16:19 ` [PATCH v2 07/15] arm64: dts: st: add new package file for stm32mp25 pinctrl Antonio Borneo
2025-11-18 16:19 ` [PATCH v2 08/15] pinctrl: stm32: add stm32mp215 pinctrl support Antonio Borneo
2025-11-18 16:19 ` [PATCH v2 09/15] dt-bindings: pinctrl: stm32: support for stm32mp215 and additional packages Antonio Borneo
2025-11-18 16:19 ` Antonio Borneo [this message]
2025-11-18 16:19 ` [PATCH v2 11/15] arm64: dts: st: add interrupt to optee node on stm32mp21 Antonio Borneo
2025-11-18 16:19 ` [PATCH v2 12/15] arm64: dts: st: add exti1 and exti2 nodes " Antonio Borneo
2025-11-18 16:19 ` [PATCH v2 13/15] arm64: dts: st: add pinctrl " Antonio Borneo
2025-11-18 16:19 ` [PATCH v2 14/15] arm64: dts: st: add pinctrl to usart2 on stm32mp215f-dk board Antonio Borneo
2025-11-18 16:19 ` [PATCH v2 15/15] arm64: dts: st: add heartbeat LED " Antonio Borneo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20251118161936.1085477-11-antonio.borneo@foss.st.com \
--to=antonio.borneo@foss.st.com \
--cc=alexandre.torgue@foss.st.com \
--cc=amelie.delaunay@foss.st.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=krzk+dt@kernel.org \
--cc=legoffic.clement@gmail.com \
--cc=linus.walleij@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-stm32@st-md-mailman.stormreply.com \
--cc=mcoquelin.stm32@gmail.com \
--cc=p.paillet@foss.st.com \
--cc=robh@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).