1 // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
3 * Copyright (C) STMicroelectronics 2017 - All Rights Reserved
4 * Author: Ludovic Barre <ludovic.barre@st.com> for STMicroelectronics.
6 #include <dt-bindings/pinctrl/stm32-pinfunc.h>
10 pinctrl: pin-controller@50002000 {
13 compatible = "st,stm32mp157-pinctrl";
14 ranges = <0 0x50002000 0xa400>;
17 gpioa: gpio@50002000 {
21 #interrupt-cells = <2>;
23 clocks = <&rcc GPIOA>;
24 st,bank-name = "GPIOA";
26 gpio-ranges = <&pinctrl 0 0 16>;
29 gpiob: gpio@50003000 {
33 #interrupt-cells = <2>;
35 clocks = <&rcc GPIOB>;
36 st,bank-name = "GPIOB";
38 gpio-ranges = <&pinctrl 0 16 16>;
41 gpioc: gpio@50004000 {
45 #interrupt-cells = <2>;
47 clocks = <&rcc GPIOC>;
48 st,bank-name = "GPIOC";
50 gpio-ranges = <&pinctrl 0 32 16>;
53 gpiod: gpio@50005000 {
57 #interrupt-cells = <2>;
59 clocks = <&rcc GPIOD>;
60 st,bank-name = "GPIOD";
62 gpio-ranges = <&pinctrl 0 48 16>;
65 gpioe: gpio@50006000 {
69 #interrupt-cells = <2>;
71 clocks = <&rcc GPIOE>;
72 st,bank-name = "GPIOE";
74 gpio-ranges = <&pinctrl 0 64 16>;
77 gpiof: gpio@50007000 {
81 #interrupt-cells = <2>;
83 clocks = <&rcc GPIOF>;
84 st,bank-name = "GPIOF";
86 gpio-ranges = <&pinctrl 0 80 16>;
89 gpiog: gpio@50008000 {
93 #interrupt-cells = <2>;
95 clocks = <&rcc GPIOG>;
96 st,bank-name = "GPIOG";
98 gpio-ranges = <&pinctrl 0 96 16>;
101 gpioh: gpio@50009000 {
104 interrupt-controller;
105 #interrupt-cells = <2>;
106 reg = <0x7000 0x400>;
107 clocks = <&rcc GPIOH>;
108 st,bank-name = "GPIOH";
110 gpio-ranges = <&pinctrl 0 112 16>;
113 gpioi: gpio@5000a000 {
116 interrupt-controller;
117 #interrupt-cells = <2>;
118 reg = <0x8000 0x400>;
119 clocks = <&rcc GPIOI>;
120 st,bank-name = "GPIOI";
122 gpio-ranges = <&pinctrl 0 128 16>;
125 gpioj: gpio@5000b000 {
128 interrupt-controller;
129 #interrupt-cells = <2>;
130 reg = <0x9000 0x400>;
131 clocks = <&rcc GPIOJ>;
132 st,bank-name = "GPIOJ";
134 gpio-ranges = <&pinctrl 0 144 16>;
137 gpiok: gpio@5000c000 {
140 interrupt-controller;
141 #interrupt-cells = <2>;
142 reg = <0xa000 0x400>;
143 clocks = <&rcc GPIOK>;
144 st,bank-name = "GPIOK";
146 gpio-ranges = <&pinctrl 0 160 8>;
151 pinmux = <STM32_PINMUX('A', 15, AF4)>;
158 i2c1_pins_a: i2c1-0 {
160 pinmux = <STM32_PINMUX('D', 12, AF5)>, /* I2C1_SCL */
161 <STM32_PINMUX('F', 15, AF5)>; /* I2C1_SDA */
168 i2c2_pins_a: i2c2-0 {
170 pinmux = <STM32_PINMUX('H', 4, AF4)>, /* I2C2_SCL */
171 <STM32_PINMUX('H', 5, AF4)>; /* I2C2_SDA */
178 i2c5_pins_a: i2c5-0 {
180 pinmux = <STM32_PINMUX('A', 11, AF4)>, /* I2C5_SCL */
181 <STM32_PINMUX('A', 12, AF4)>; /* I2C5_SDA */
188 pwm2_pins_a: pwm2-0 {
190 pinmux = <STM32_PINMUX('A', 3, AF1)>; /* TIM2_CH4 */
197 pwm8_pins_a: pwm8-0 {
199 pinmux = <STM32_PINMUX('I', 2, AF3)>; /* TIM8_CH4 */
206 pwm12_pins_a: pwm12-0 {
208 pinmux = <STM32_PINMUX('H', 6, AF2)>; /* TIM12_CH1 */
215 qspi_clk_pins_a: qspi-clk-0 {
217 pinmux = <STM32_PINMUX('F', 10, AF9)>; /* QSPI_CLK */
224 qspi_bk1_pins_a: qspi-bk1-0 {
226 pinmux = <STM32_PINMUX('F', 8, AF10)>, /* QSPI_BK1_IO0 */
227 <STM32_PINMUX('F', 9, AF10)>, /* QSPI_BK1_IO1 */
228 <STM32_PINMUX('F', 7, AF9)>, /* QSPI_BK1_IO2 */
229 <STM32_PINMUX('F', 6, AF9)>; /* QSPI_BK1_IO3 */
235 pinmux = <STM32_PINMUX('B', 6, AF10)>; /* QSPI_BK1_NCS */
242 qspi_bk2_pins_a: qspi-bk2-0 {
244 pinmux = <STM32_PINMUX('H', 2, AF9)>, /* QSPI_BK2_IO0 */
245 <STM32_PINMUX('H', 3, AF9)>, /* QSPI_BK2_IO1 */
246 <STM32_PINMUX('G', 10, AF11)>, /* QSPI_BK2_IO2 */
247 <STM32_PINMUX('G', 7, AF11)>; /* QSPI_BK2_IO3 */
253 pinmux = <STM32_PINMUX('C', 0, AF10)>; /* QSPI_BK2_NCS */
260 uart4_pins_a: uart4-0 {
262 pinmux = <STM32_PINMUX('G', 11, AF6)>; /* UART4_TX */
268 pinmux = <STM32_PINMUX('B', 2, AF8)>; /* UART4_RX */
274 pinctrl_z: pin-controller-z@54004000 {
275 #address-cells = <1>;
277 compatible = "st,stm32mp157-z-pinctrl";
278 ranges = <0 0x54004000 0x400>;
282 gpioz: gpio@54004000 {
285 interrupt-controller;
286 #interrupt-cells = <2>;
288 clocks = <&rcc GPIOZ>;
289 st,bank-name = "GPIOZ";
290 st,bank-ioport = <11>;
292 gpio-ranges = <&pinctrl_z 0 400 8>;
295 i2c4_pins_a: i2c4-0 {
297 pinmux = <STM32_PINMUX('Z', 4, AF6)>, /* I2C4_SCL */
298 <STM32_PINMUX('Z', 5, AF6)>; /* I2C4_SDA */