pinctrl: meson: axg: Fix GPIO pin offsets
[platform/kernel/u-boot.git] / arch / arm / dts / stm32mp157c-ed1.dts
1 // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
2 /*
3  * Copyright (C) STMicroelectronics 2017 - All Rights Reserved
4  * Author: Ludovic Barre <ludovic.barre@st.com> for STMicroelectronics.
5  */
6 /dts-v1/;
7
8 #include "stm32mp157c.dtsi"
9 #include "stm32mp157-pinctrl.dtsi"
10 #include <dt-bindings/gpio/gpio.h>
11 #include <dt-bindings/mfd/st,stpmu1.h>
12
13 / {
14         model = "STMicroelectronics STM32MP157C eval daughter";
15         compatible = "st,stm32mp157c-ed1", "st,stm32mp157";
16
17         chosen {
18                 stdout-path = "serial3:115200n8";
19         };
20
21         memory@c0000000 {
22                 reg = <0xC0000000 0x40000000>;
23         };
24
25         sd_switch: regulator-sd_switch {
26                 compatible = "regulator-gpio";
27                 regulator-name = "sd_switch";
28                 regulator-min-microvolt = <1800000>;
29                 regulator-max-microvolt = <2900000>;
30                 regulator-type = "voltage";
31                 regulator-always-on;
32
33                 gpios = <&gpiof 14 GPIO_ACTIVE_HIGH>;
34                 gpios-states = <0>;
35                 states = <1800000 0x1 2900000 0x0>;
36         };
37 };
38
39 &rng1 {
40         status = "okay";
41 };
42
43 &timers6 {
44         status = "okay";
45         timer@5 {
46                 status = "okay";
47         };
48 };
49
50 &i2c4 {
51         pinctrl-names = "default";
52         pinctrl-0 = <&i2c4_pins_a>;
53         i2c-scl-rising-time-ns = <185>;
54         i2c-scl-falling-time-ns = <20>;
55         status = "okay";
56
57         pmic: stpmu1@33 {
58                 compatible = "st,stpmu1";
59                 reg = <0x33>;
60                 interrupts = <0 2>;
61                 interrupt-parent = <&gpioa>;
62                 interrupt-controller;
63                 #interrupt-cells = <2>;
64                 status = "okay";
65
66                 st,main_control_register = <0x04>;
67                 st,vin_control_register = <0xc0>;
68                 st,usb_control_register = <0x30>;
69
70                 regulators {
71                         compatible = "st,stpmu1-regulators";
72
73                         ldo1-supply = <&v3v3>;
74                         ldo2-supply = <&v3v3>;
75                         ldo3-supply = <&vdd_ddr>;
76                         ldo5-supply = <&v3v3>;
77                         ldo6-supply = <&v3v3>;
78                         pwr_sw1-supply = <&bst_out>;
79                         pwr_sw2-supply = <&bst_out>;
80
81                         vddcore: buck1 {
82                                 regulator-name = "vddcore";
83                                 regulator-min-microvolt = <800000>;
84                                 regulator-max-microvolt = <1350000>;
85                                 regulator-always-on;
86                                 regulator-initial-mode = <2>;
87                                 regulator-over-current-protection;
88
89                                 regulator-state-standby {
90                                         regulator-on-in-suspend;
91                                         regulator-suspend-microvolt = <1200000>;
92                                         regulator-mode = <8>;
93                                 };
94                                 regulator-state-mem {
95                                         regulator-off-in-suspend;
96                                 };
97                                 regulator-state-disk {
98                                         regulator-off-in-suspend;
99                                 };
100                         };
101
102                         vdd_ddr: buck2 {
103                                 regulator-name = "vdd_ddr";
104                                 regulator-min-microvolt = <1350000>;
105                                 regulator-max-microvolt = <1350000>;
106                                 regulator-always-on;
107                                 regulator-initial-mode = <2>;
108                                 regulator-over-current-protection;
109
110                                 regulator-state-standby {
111                                         regulator-suspend-microvolt = <1350000>;
112                                         regulator-on-in-suspend;
113                                         regulator-mode = <8>;
114                                 };
115                                 regulator-state-mem {
116                                         regulator-suspend-microvolt = <1350000>;
117                                         regulator-on-in-suspend;
118                                         regulator-mode = <8>;
119                                 };
120                                 regulator-state-disk {
121                                         regulator-off-in-suspend;
122                                 };
123                         };
124
125                         vdd: buck3 {
126                                 regulator-name = "vdd";
127                                 regulator-min-microvolt = <3300000>;
128                                 regulator-max-microvolt = <3300000>;
129                                 regulator-always-on;
130                                 st,mask_reset;
131                                 regulator-initial-mode = <8>;
132                                 regulator-over-current-protection;
133
134                                 regulator-state-standby {
135                                         regulator-suspend-microvolt = <3300000>;
136                                         regulator-on-in-suspend;
137                                         regulator-mode = <8>;
138                                 };
139                                 regulator-state-mem {
140                                         regulator-suspend-microvolt = <3300000>;
141                                         regulator-on-in-suspend;
142                                         regulator-mode = <8>;
143                                 };
144                                 regulator-state-disk {
145                                         regulator-suspend-microvolt = <3300000>;
146                                         regulator-on-in-suspend;
147                                         regulator-mode = <8>;
148                                 };
149                         };
150
151                         v3v3: buck4 {
152                                 regulator-name = "v3v3";
153                                 regulator-min-microvolt = <3300000>;
154                                 regulator-max-microvolt = <3300000>;
155                                 regulator-boot-on;
156                                 regulator-over-current-protection;
157                                 regulator-initial-mode = <8>;
158
159                                 regulator-state-standby {
160                                         regulator-suspend-microvolt = <3300000>;
161                                         regulator-unchanged-in-suspend;
162                                         regulator-mode = <8>;
163                                 };
164                                 regulator-state-mem {
165                                         regulator-off-in-suspend;
166                                 };
167                                 regulator-state-disk {
168                                         regulator-off-in-suspend;
169                                 };
170                         };
171
172                         vdda: ldo1 {
173                                 regulator-name = "vdda";
174                                 regulator-min-microvolt = <2900000>;
175                                 regulator-max-microvolt = <2900000>;
176                                 interrupts = <IT_CURLIM_LDO1 0>;
177                                 interrupt-parent = <&pmic>;
178
179                                 regulator-state-standby {
180                                         regulator-suspend-microvolt = <2900000>;
181                                         regulator-unchanged-in-suspend;
182                                 };
183                                 regulator-state-mem {
184                                         regulator-off-in-suspend;
185                                 };
186                                 regulator-state-disk {
187                                         regulator-off-in-suspend;
188                                 };
189                         };
190
191                         v2v8: ldo2 {
192                                 regulator-name = "v2v8";
193                                 regulator-min-microvolt = <2800000>;
194                                 regulator-max-microvolt = <2800000>;
195                                 interrupts = <IT_CURLIM_LDO2 0>;
196                                 interrupt-parent = <&pmic>;
197
198                                 regulator-state-standby {
199                                         regulator-suspend-microvolt = <2800000>;
200                                         regulator-unchanged-in-suspend;
201                                 };
202                                 regulator-state-mem {
203                                         regulator-off-in-suspend;
204                                 };
205                                 regulator-state-disk {
206                                         regulator-off-in-suspend;
207                                 };
208                         };
209
210                         vtt_ddr: ldo3 {
211                                 regulator-name = "vtt_ddr";
212                                 regulator-min-microvolt = <0000000>;
213                                 regulator-max-microvolt = <1000000>;
214                                 regulator-always-on;
215                                 regulator-over-current-protection;
216
217                                 regulator-state-standby {
218                                         regulator-off-in-suspend;
219                                 };
220                                 regulator-state-mem {
221                                         regulator-off-in-suspend;
222                                 };
223                                 regulator-state-disk {
224                                         regulator-off-in-suspend;
225                                 };
226                         };
227
228                         vdd_usb: ldo4 {
229                                 regulator-name = "vdd_usb";
230                                 regulator-min-microvolt = <3300000>;
231                                 regulator-max-microvolt = <3300000>;
232                                 interrupts = <IT_CURLIM_LDO4 0>;
233                                 interrupt-parent = <&pmic>;
234
235                                 regulator-state-standby {
236                                         regulator-unchanged-in-suspend;
237                                 };
238                                 regulator-state-mem {
239                                         regulator-off-in-suspend;
240                                 };
241                                 regulator-state-disk {
242                                         regulator-off-in-suspend;
243                                 };
244                         };
245
246                         vdd_sd: ldo5 {
247                                 regulator-name = "vdd_sd";
248                                 regulator-min-microvolt = <2900000>;
249                                 regulator-max-microvolt = <2900000>;
250                                 interrupts = <IT_CURLIM_LDO5 0>;
251                                 interrupt-parent = <&pmic>;
252                                 regulator-boot-on;
253
254                                 regulator-state-standby {
255                                         regulator-suspend-microvolt = <2900000>;
256                                         regulator-unchanged-in-suspend;
257                                 };
258                                 regulator-state-mem {
259                                         regulator-off-in-suspend;
260                                 };
261                                 regulator-state-disk {
262                                         regulator-off-in-suspend;
263                                 };
264                         };
265
266                         v1v8: ldo6 {
267                                 regulator-name = "v1v8";
268                                 regulator-min-microvolt = <1800000>;
269                                 regulator-max-microvolt = <1800000>;
270                                 interrupts = <IT_CURLIM_LDO6 0>;
271                                 interrupt-parent = <&pmic>;
272
273                                 regulator-state-standby {
274                                         regulator-suspend-microvolt = <1800000>;
275                                         regulator-unchanged-in-suspend;
276                                 };
277                                 regulator-state-mem {
278                                         regulator-off-in-suspend;
279                                 };
280                                 regulator-state-disk {
281                                         regulator-off-in-suspend;
282                                 };
283                         };
284
285                         vref_ddr: vref_ddr {
286                                 regulator-name = "vref_ddr";
287                                 regulator-always-on;
288                                 regulator-over-current-protection;
289
290                                 regulator-state-standby {
291                                         regulator-on-in-suspend;
292                                 };
293                                 regulator-state-mem {
294                                         regulator-on-in-suspend;
295                                 };
296                                 regulator-state-disk {
297                                         regulator-off-in-suspend;
298                                 };
299                         };
300
301                          bst_out: boost {
302                                 regulator-name = "bst_out";
303                                 interrupts = <IT_OCP_BOOST 0>;
304                                 interrupt-parent = <&pmic>;
305                          };
306
307                         vbus_otg: pwr_sw1 {
308                                 regulator-name = "vbus_otg";
309                                 interrupts = <IT_OCP_OTG 0>;
310                                 interrupt-parent = <&pmic>;
311                                 regulator-active-discharge;
312                          };
313
314                          vbus_sw: pwr_sw2 {
315                                 regulator-name = "vbus_sw";
316                                 interrupts = <IT_OCP_SWOUT 0>;
317                                 interrupt-parent = <&pmic>;
318                                 regulator-active-discharge;
319                          };
320                 };
321         };
322 };
323
324 &pwr {
325         pwr-supply = <&vdd>;
326 };
327
328 &sdmmc1 {
329         pinctrl-0 = <&sdmmc1_b4_pins_a &sdmmc1_dir_pins_a>;
330         broken-cd;
331         st,dirpol;
332         st,negedge;
333         st,pin-ckin;
334         bus-width = <4>;
335         vmmc-supply = <&vdd_sd>;
336         vqmmc-supply = <&sd_switch>;
337         sd-uhs-sdr12;
338         sd-uhs-sdr25;
339         sd-uhs-sdr50;
340         sd-uhs-ddr50;
341         sd-uhs-sdr104;
342         status = "okay";
343 };
344
345 &sdmmc2 {
346         pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_a>;
347         non-removable;
348         no-sd;
349         no-sdio;
350         st,dirpol;
351         st,negedge;
352         bus-width = <8>;
353         vmmc-supply = <&v3v3>;
354         vqmmc-supply = <&vdd>;
355         status = "okay";
356 };
357
358 &uart4 {
359         pinctrl-names = "default";
360         pinctrl-0 = <&uart4_pins_a>;
361         status = "okay";
362 };
363
364 &usbotg_hs {
365         usb33d-supply = <&usb33>;
366 };
367
368 &usbphyc_port0 {
369         phy-supply = <&vdd_usb>;
370         vdda1v1-supply = <&reg11>;
371         vdda1v8-supply = <&reg18>;
372 };
373
374 &usbphyc_port1 {
375         phy-supply = <&vdd_usb>;
376         vdda1v1-supply = <&reg11>;
377         vdda1v8-supply = <&reg18>;
378 };