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 {
13 compatible = "st,stm32mp157-pinctrl";
14 ranges = <0 0x50002000 0xa400>;
15 interrupt-parent = <&exti>;
16 st,syscfg = <&exti 0x60 0xff>;
19 gpioa: gpio@50002000 {
23 #interrupt-cells = <2>;
25 clocks = <&clk_pll3_p>;
26 st,bank-name = "GPIOA";
28 gpio-ranges = <&pinctrl 0 0 16>;
31 gpiob: gpio@50003000 {
35 #interrupt-cells = <2>;
37 clocks = <&clk_pll3_p>;
38 st,bank-name = "GPIOB";
40 gpio-ranges = <&pinctrl 0 16 16>;
43 gpioc: gpio@50004000 {
47 #interrupt-cells = <2>;
49 clocks = <&clk_pll3_p>;
50 st,bank-name = "GPIOC";
52 gpio-ranges = <&pinctrl 0 32 16>;
55 gpiod: gpio@50005000 {
59 #interrupt-cells = <2>;
61 clocks = <&clk_pll3_p>;
62 st,bank-name = "GPIOD";
64 gpio-ranges = <&pinctrl 0 48 16>;
67 gpioe: gpio@50006000 {
71 #interrupt-cells = <2>;
73 clocks = <&clk_pll3_p>;
74 st,bank-name = "GPIOE";
76 gpio-ranges = <&pinctrl 0 64 16>;
79 gpiof: gpio@50007000 {
83 #interrupt-cells = <2>;
85 clocks = <&clk_pll3_p>;
86 st,bank-name = "GPIOF";
88 gpio-ranges = <&pinctrl 0 80 16>;
91 gpiog: gpio@50008000 {
95 #interrupt-cells = <2>;
97 clocks = <&clk_pll3_p>;
98 st,bank-name = "GPIOG";
100 gpio-ranges = <&pinctrl 0 96 16>;
103 gpioh: gpio@50009000 {
106 interrupt-controller;
107 #interrupt-cells = <2>;
108 reg = <0x7000 0x400>;
109 clocks = <&clk_pll3_p>;
110 st,bank-name = "GPIOH";
112 gpio-ranges = <&pinctrl 0 112 16>;
115 gpioi: gpio@5000a000 {
118 interrupt-controller;
119 #interrupt-cells = <2>;
120 reg = <0x8000 0x400>;
121 clocks = <&clk_pll3_p>;
122 st,bank-name = "GPIOI";
124 gpio-ranges = <&pinctrl 0 128 16>;
127 gpioj: gpio@5000b000 {
130 interrupt-controller;
131 #interrupt-cells = <2>;
132 reg = <0x9000 0x400>;
133 clocks = <&clk_pll3_p>;
134 st,bank-name = "GPIOJ";
136 gpio-ranges = <&pinctrl 0 144 16>;
139 gpiok: gpio@5000c000 {
142 interrupt-controller;
143 #interrupt-cells = <2>;
144 reg = <0xa000 0x400>;
145 clocks = <&clk_pll3_p>;
146 st,bank-name = "GPIOK";
148 gpio-ranges = <&pinctrl 0 160 8>;
151 uart4_pins_a: uart4@0 {
153 pinmux = <STM32_PINMUX('G', 11, AF6)>; /* UART4_TX */
159 pinmux = <STM32_PINMUX('B', 2, AF8)>; /* UART4_RX */
165 pinctrl_z: pin-controller-z {
166 #address-cells = <1>;
168 compatible = "st,stm32mp157-z-pinctrl";
169 ranges = <0 0x54004000 0x400>;
171 interrupt-parent = <&exti>;
172 st,syscfg = <&exti 0x60 0xff>;
175 gpioz: gpio@54004000 {
178 interrupt-controller;
179 #interrupt-cells = <2>;
181 clocks = <&clk_pll2_p>;
182 st,bank-name = "GPIOZ";
183 st,bank-ioport = <11>;
185 gpio-ranges = <&pinctrl_z 0 400 8>;