Merge tag 'u-boot-imx-20191105' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx
[oweals/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 "stm32mp157xaa-pinctrl.dtsi"
10 #include <dt-bindings/gpio/gpio.h>
11 #include <dt-bindings/mfd/st,stpmic1.h>
12
13 / {
14         model = "STMicroelectronics STM32MP157C eval daughter";
15         compatible = "st,stm32mp157c-ed1", "st,stm32mp157";
16
17         chosen {
18                 stdout-path = "serial0:115200n8";
19         };
20
21         memory@c0000000 {
22                 device_type = "memory";
23                 reg = <0xC0000000 0x40000000>;
24         };
25
26         reserved-memory {
27                 #address-cells = <1>;
28                 #size-cells = <1>;
29                 ranges;
30
31                 gpu_reserved: gpu@e8000000 {
32                         reg = <0xe8000000 0x8000000>;
33                         no-map;
34                 };
35         };
36
37         aliases {
38                 serial0 = &uart4;
39         };
40
41         sd_switch: regulator-sd_switch {
42                 compatible = "regulator-gpio";
43                 regulator-name = "sd_switch";
44                 regulator-min-microvolt = <1800000>;
45                 regulator-max-microvolt = <2900000>;
46                 regulator-type = "voltage";
47                 regulator-always-on;
48
49                 gpios = <&gpiof 14 GPIO_ACTIVE_HIGH>;
50                 gpios-states = <0>;
51                 states = <1800000 0x1 2900000 0x0>;
52         };
53 };
54
55 &dts {
56         status = "okay";
57 };
58
59 &gpu {
60         contiguous-area = <&gpu_reserved>;
61         status = "okay";
62 };
63
64 &i2c4 {
65         pinctrl-names = "default";
66         pinctrl-0 = <&i2c4_pins_a>;
67         i2c-scl-rising-time-ns = <185>;
68         i2c-scl-falling-time-ns = <20>;
69         status = "okay";
70         /* spare dmas for other usage */
71         /delete-property/dmas;
72         /delete-property/dma-names;
73
74         pmic: stpmic@33 {
75                 compatible = "st,stpmic1";
76                 reg = <0x33>;
77                 interrupts-extended = <&gpioa 0 IRQ_TYPE_EDGE_FALLING>;
78                 interrupt-controller;
79                 #interrupt-cells = <2>;
80                 status = "okay";
81
82                 regulators {
83                         compatible = "st,stpmic1-regulators";
84                         ldo1-supply = <&v3v3>;
85                         ldo2-supply = <&v3v3>;
86                         ldo3-supply = <&vdd_ddr>;
87                         ldo5-supply = <&v3v3>;
88                         ldo6-supply = <&v3v3>;
89                         pwr_sw1-supply = <&bst_out>;
90                         pwr_sw2-supply = <&bst_out>;
91
92                         vddcore: buck1 {
93                                 regulator-name = "vddcore";
94                                 regulator-min-microvolt = <800000>;
95                                 regulator-max-microvolt = <1350000>;
96                                 regulator-always-on;
97                                 regulator-initial-mode = <0>;
98                                 regulator-over-current-protection;
99                         };
100
101                         vdd_ddr: buck2 {
102                                 regulator-name = "vdd_ddr";
103                                 regulator-min-microvolt = <1350000>;
104                                 regulator-max-microvolt = <1350000>;
105                                 regulator-always-on;
106                                 regulator-initial-mode = <0>;
107                                 regulator-over-current-protection;
108                         };
109
110                         vdd: buck3 {
111                                 regulator-name = "vdd";
112                                 regulator-min-microvolt = <3300000>;
113                                 regulator-max-microvolt = <3300000>;
114                                 regulator-always-on;
115                                 st,mask-reset;
116                                 regulator-initial-mode = <0>;
117                                 regulator-over-current-protection;
118                         };
119
120                         v3v3: buck4 {
121                                 regulator-name = "v3v3";
122                                 regulator-min-microvolt = <3300000>;
123                                 regulator-max-microvolt = <3300000>;
124                                 regulator-always-on;
125                                 regulator-over-current-protection;
126                                 regulator-initial-mode = <0>;
127                         };
128
129                         vdda: ldo1 {
130                                 regulator-name = "vdda";
131                                 regulator-min-microvolt = <2900000>;
132                                 regulator-max-microvolt = <2900000>;
133                                 interrupts = <IT_CURLIM_LDO1 0>;
134                         };
135
136                         v2v8: ldo2 {
137                                 regulator-name = "v2v8";
138                                 regulator-min-microvolt = <2800000>;
139                                 regulator-max-microvolt = <2800000>;
140                                 interrupts = <IT_CURLIM_LDO2 0>;
141                         };
142
143                         vtt_ddr: ldo3 {
144                                 regulator-name = "vtt_ddr";
145                                 regulator-min-microvolt = <500000>;
146                                 regulator-max-microvolt = <750000>;
147                                 regulator-always-on;
148                                 regulator-over-current-protection;
149                         };
150
151                         vdd_usb: ldo4 {
152                                 regulator-name = "vdd_usb";
153                                 regulator-min-microvolt = <3300000>;
154                                 regulator-max-microvolt = <3300000>;
155                                 interrupts = <IT_CURLIM_LDO4 0>;
156                         };
157
158                         vdd_sd: ldo5 {
159                                 regulator-name = "vdd_sd";
160                                 regulator-min-microvolt = <2900000>;
161                                 regulator-max-microvolt = <2900000>;
162                                 interrupts = <IT_CURLIM_LDO5 0>;
163                                 regulator-boot-on;
164                         };
165
166                         v1v8: ldo6 {
167                                 regulator-name = "v1v8";
168                                 regulator-min-microvolt = <1800000>;
169                                 regulator-max-microvolt = <1800000>;
170                                 interrupts = <IT_CURLIM_LDO6 0>;
171                         };
172
173                         vref_ddr: vref_ddr {
174                                 regulator-name = "vref_ddr";
175                                 regulator-always-on;
176                                 regulator-over-current-protection;
177                         };
178
179                          bst_out: boost {
180                                 regulator-name = "bst_out";
181                                 interrupts = <IT_OCP_BOOST 0>;
182                          };
183
184                         vbus_otg: pwr_sw1 {
185                                 regulator-name = "vbus_otg";
186                                 interrupts = <IT_OCP_OTG 0>;
187                          };
188
189                          vbus_sw: pwr_sw2 {
190                                 regulator-name = "vbus_sw";
191                                 interrupts = <IT_OCP_SWOUT 0>;
192                                 regulator-active-discharge;
193                          };
194                 };
195
196                 onkey {
197                         compatible = "st,stpmic1-onkey";
198                         interrupts = <IT_PONKEY_F 0>, <IT_PONKEY_R 0>;
199                         interrupt-names = "onkey-falling", "onkey-rising";
200                         power-off-time-sec = <10>;
201                         status = "okay";
202                 };
203
204                 watchdog {
205                         compatible = "st,stpmic1-wdt";
206                         status = "disabled";
207                 };
208         };
209 };
210
211 &ipcc {
212         status = "okay";
213 };
214
215 &iwdg2 {
216         timeout-sec = <32>;
217         status = "okay";
218 };
219
220 &m4_rproc {
221         mboxes = <&ipcc 0>, <&ipcc 1>, <&ipcc 2>;
222         mbox-names = "vq0", "vq1", "shutdown";
223         status = "okay";
224 };
225
226 &pwr {
227         pwr-regulators {
228                 vdd-supply = <&vdd>;
229                 vdd_3v3_usbfs-supply = <&vdd_usb>;
230         };
231 };
232
233 &rng1 {
234         status = "okay";
235 };
236
237 &rtc {
238         status = "okay";
239 };
240
241 &sdmmc1 {
242         pinctrl-names = "default", "opendrain", "sleep";
243         pinctrl-0 = <&sdmmc1_b4_pins_a &sdmmc1_dir_pins_a>;
244         pinctrl-1 = <&sdmmc1_b4_od_pins_a &sdmmc1_dir_pins_a>;
245         pinctrl-2 = <&sdmmc1_b4_sleep_pins_a &sdmmc1_dir_sleep_pins_a>;
246         broken-cd;
247         st,sig-dir;
248         st,neg-edge;
249         st,use-ckin;
250         bus-width = <4>;
251         vmmc-supply = <&vdd_sd>;
252         vqmmc-supply = <&sd_switch>;
253         status = "okay";
254 };
255
256 &sdmmc2 {
257         pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_a>;
258         non-removable;
259         no-sd;
260         no-sdio;
261         st,sig-dir;
262         st,neg-edge;
263         bus-width = <8>;
264         vmmc-supply = <&v3v3>;
265         vqmmc-supply = <&vdd>;
266         status = "okay";
267 };
268
269 &timers6 {
270         status = "okay";
271         /* spare dmas for other usage */
272         /delete-property/dmas;
273         /delete-property/dma-names;
274         timer@5 {
275                 status = "okay";
276         };
277 };
278
279 &uart4 {
280         pinctrl-names = "default";
281         pinctrl-0 = <&uart4_pins_a>;
282         status = "okay";
283 };
284
285 &usbotg_hs {
286         vbus-supply = <&vbus_otg>;
287 };
288
289 &usbphyc_port0 {
290         phy-supply = <&vdd_usb>;
291 };
292
293 &usbphyc_port1 {
294         phy-supply = <&vdd_usb>;
295 };