Merge tag 'u-boot-atmel-fixes-2020.07-a' of https://gitlab.denx.de/u-boot/custodians...
[oweals/u-boot.git] / arch / arm / dts / stm32mp15xx-dhcom.dtsi
1 // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
2 /*
3  * Copyright (C) 2019 Marek Vasut <marex@denx.de>
4  */
5 /dts-v1/;
6
7 #include "stm32mp157.dtsi"
8 #include "stm32mp15xc.dtsi"
9 #include "stm32mp15-pinctrl.dtsi"
10 #include "stm32mp15xxaa-pinctrl.dtsi"
11 #include <dt-bindings/gpio/gpio.h>
12 #include <dt-bindings/mfd/st,stpmic1.h>
13
14 / {
15         aliases {
16                 eeprom0 = &eeprom0;
17         };
18
19         memory@c0000000 {
20                 device_type = "memory";
21                 reg = <0xC0000000 0x40000000>;
22         };
23 };
24
25 &cec {
26         pinctrl-names = "default";
27         pinctrl-0 = <&cec_pins_a>;
28         status = "okay";
29 };
30
31 &dcmi {
32         status = "okay";
33         pinctrl-names = "default", "sleep";
34         pinctrl-0 = <&dcmi_pins_a>;
35         pinctrl-1 = <&dcmi_sleep_pins_a>;
36 };
37
38 &dts {
39         status = "okay";
40 };
41
42 &i2c2 {
43         pinctrl-names = "default";
44         pinctrl-0 = <&i2c2_pins_a>;
45         i2c-scl-rising-time-ns = <185>;
46         i2c-scl-falling-time-ns = <20>;
47         status = "okay";
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         /* spare dmas for other usage */
57         /delete-property/dmas;
58         /delete-property/dma-names;
59
60         pmic: stpmic@33 {
61                 compatible = "st,stpmic1";
62                 reg = <0x33>;
63                 interrupts-extended = <&gpioa 0 IRQ_TYPE_EDGE_FALLING>;
64                 interrupt-controller;
65                 #interrupt-cells = <2>;
66                 status = "okay";
67
68                 regulators {
69                         compatible = "st,stpmic1-regulators";
70                         ldo1-supply = <&v3v3>;
71                         ldo2-supply = <&v3v3>;
72                         ldo3-supply = <&vdd_ddr>;
73                         ldo5-supply = <&v3v3>;
74                         ldo6-supply = <&v3v3>;
75                         pwr_sw1-supply = <&bst_out>;
76                         pwr_sw2-supply = <&bst_out>;
77
78                         vddcore: buck1 {
79                                 regulator-name = "vddcore";
80                                 regulator-min-microvolt = <800000>;
81                                 regulator-max-microvolt = <1350000>;
82                                 regulator-always-on;
83                                 regulator-initial-mode = <0>;
84                                 regulator-over-current-protection;
85                         };
86
87                         vdd_ddr: buck2 {
88                                 regulator-name = "vdd_ddr";
89                                 regulator-min-microvolt = <1350000>;
90                                 regulator-max-microvolt = <1350000>;
91                                 regulator-always-on;
92                                 regulator-initial-mode = <0>;
93                                 regulator-over-current-protection;
94                         };
95
96                         vdd: buck3 {
97                                 regulator-name = "vdd";
98                                 regulator-min-microvolt = <3300000>;
99                                 regulator-max-microvolt = <3300000>;
100                                 regulator-always-on;
101                                 st,mask-reset;
102                                 regulator-initial-mode = <0>;
103                                 regulator-over-current-protection;
104                         };
105
106                         v3v3: buck4 {
107                                 regulator-name = "v3v3";
108                                 regulator-min-microvolt = <3300000>;
109                                 regulator-max-microvolt = <3300000>;
110                                 regulator-always-on;
111                                 regulator-over-current-protection;
112                                 regulator-initial-mode = <0>;
113                         };
114
115                         vdda: ldo1 {
116                                 regulator-name = "vdda";
117                                 regulator-min-microvolt = <2900000>;
118                                 regulator-max-microvolt = <2900000>;
119                                 interrupts = <IT_CURLIM_LDO1 0>;
120                         };
121
122                         v2v8: ldo2 {
123                                 regulator-name = "v2v8";
124                                 regulator-min-microvolt = <2800000>;
125                                 regulator-max-microvolt = <2800000>;
126                                 interrupts = <IT_CURLIM_LDO2 0>;
127                         };
128
129                         vtt_ddr: ldo3 {
130                                 regulator-name = "vtt_ddr";
131                                 regulator-min-microvolt = <500000>;
132                                 regulator-max-microvolt = <750000>;
133                                 regulator-always-on;
134                                 regulator-over-current-protection;
135                         };
136
137                         vdd_usb: ldo4 {
138                                 regulator-name = "vdd_usb";
139                                 regulator-min-microvolt = <3300000>;
140                                 regulator-max-microvolt = <3300000>;
141                                 interrupts = <IT_CURLIM_LDO4 0>;
142                         };
143
144                         vdd_sd: ldo5 {
145                                 regulator-name = "vdd_sd";
146                                 regulator-min-microvolt = <2900000>;
147                                 regulator-max-microvolt = <2900000>;
148                                 interrupts = <IT_CURLIM_LDO5 0>;
149                                 regulator-boot-on;
150                         };
151
152                         v1v8: ldo6 {
153                                 regulator-name = "v1v8";
154                                 regulator-min-microvolt = <1800000>;
155                                 regulator-max-microvolt = <1800000>;
156                                 interrupts = <IT_CURLIM_LDO6 0>;
157                         };
158
159                         vref_ddr: vref_ddr {
160                                 regulator-name = "vref_ddr";
161                                 regulator-always-on;
162                                 regulator-over-current-protection;
163                         };
164
165                          bst_out: boost {
166                                 regulator-name = "bst_out";
167                                 interrupts = <IT_OCP_BOOST 0>;
168                          };
169
170                         vbus_otg: pwr_sw1 {
171                                 regulator-name = "vbus_otg";
172                                 interrupts = <IT_OCP_OTG 0>;
173                          };
174
175                          vbus_sw: pwr_sw2 {
176                                 regulator-name = "vbus_sw";
177                                 interrupts = <IT_OCP_SWOUT 0>;
178                                 regulator-active-discharge;
179                          };
180                 };
181
182                 onkey {
183                         compatible = "st,stpmic1-onkey";
184                         interrupts = <IT_PONKEY_F 0>, <IT_PONKEY_R 0>;
185                         interrupt-names = "onkey-falling", "onkey-rising";
186                         power-off-time-sec = <10>;
187                         status = "okay";
188                 };
189
190                 watchdog {
191                         compatible = "st,stpmic1-wdt";
192                         status = "disabled";
193                 };
194         };
195
196         eeprom0: eeprom@50 {
197                 compatible = "atmel,24c02";
198                 reg = <0x50>;
199                 pagesize = <16>;
200         };
201 };
202
203 &i2c5 {
204         pinctrl-names = "default";
205         pinctrl-0 = <&i2c5_pins_a>;
206         i2c-scl-rising-time-ns = <185>;
207         i2c-scl-falling-time-ns = <20>;
208         status = "okay";
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_regulators {
227         vdd-supply = <&vdd>;
228         vdd_3v3_usbfs-supply = <&vdd_usb>;
229 };
230
231 &qspi {
232         pinctrl-names = "default", "sleep";
233         pinctrl-0 = <&qspi_clk_pins_a &qspi_bk1_pins_a &qspi_bk2_pins_a>;
234         pinctrl-1 = <&qspi_clk_sleep_pins_a &qspi_bk1_sleep_pins_a &qspi_bk2_sleep_pins_a>;
235         reg = <0x58003000 0x1000>, <0x70000000 0x4000000>;
236         #address-cells = <1>;
237         #size-cells = <0>;
238         status = "okay";
239
240         flash0: mx66l51235l@0 {
241                 compatible = "jedec,spi-nor";
242                 reg = <0>;
243                 spi-rx-bus-width = <4>;
244                 spi-max-frequency = <108000000>;
245                 #address-cells = <1>;
246                 #size-cells = <1>;
247         };
248
249         flash1: mx66l51235l@1 {
250                 compatible = "jedec,spi-nor";
251                 reg = <1>;
252                 spi-rx-bus-width = <4>;
253                 spi-max-frequency = <108000000>;
254                 #address-cells = <1>;
255                 #size-cells = <1>;
256         };
257 };
258
259 &rng1 {
260         status = "okay";
261 };
262
263 &rtc {
264         status = "okay";
265 };
266
267 &sdmmc1 {
268         pinctrl-names = "default", "opendrain", "sleep";
269         pinctrl-0 = <&sdmmc1_b4_pins_a &sdmmc1_dir_pins_a>;
270         pinctrl-1 = <&sdmmc1_b4_od_pins_a &sdmmc1_dir_pins_a>;
271         pinctrl-2 = <&sdmmc1_b4_sleep_pins_a &sdmmc1_dir_sleep_pins_a>;
272         cd-gpios = <&gpioi 8 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
273         disable-wp;
274         st,sig-dir;
275         st,neg-edge;
276         st,use-ckin;
277         bus-width = <4>;
278         vmmc-supply = <&vdd_sd>;
279         status = "okay";
280 };
281
282 &sdmmc2 {
283         pinctrl-names = "default";
284         pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_a>;
285         non-removable;
286         no-sd;
287         no-sdio;
288         st,sig-dir;
289         st,neg-edge;
290         bus-width = <8>;
291         vmmc-supply = <&v3v3>;
292         status = "okay";
293 };
294
295 &spi1 {
296         pinctrl-names = "default";
297         pinctrl-0 = <&spi1_pins_a>;
298         status = "disabled";
299 };
300
301 &timers2 {
302         /* spare dmas for other usage (un-delete to enable pwm capture) */
303         /delete-property/dmas;
304         /delete-property/dma-names;
305         status = "disabled";
306         pwm {
307                 pinctrl-0 = <&pwm2_pins_a>;
308                 pinctrl-names = "default";
309                 status = "okay";
310         };
311         timer@1 {
312                 status = "okay";
313         };
314 };
315
316 &timers6 {
317         status = "okay";
318         /* spare dmas for other usage */
319         /delete-property/dmas;
320         /delete-property/dma-names;
321         timer@5 {
322                 status = "okay";
323         };
324 };
325
326 &timers8 {
327         /delete-property/dmas;
328         /delete-property/dma-names;
329         status = "disabled";
330         pwm {
331                 pinctrl-0 = <&pwm8_pins_a>;
332                 pinctrl-names = "default";
333                 status = "okay";
334         };
335         timer@7 {
336                 status = "okay";
337         };
338 };
339
340 &timers12 {
341         /delete-property/dmas;
342         /delete-property/dma-names;
343         status = "disabled";
344         pwm {
345                 pinctrl-0 = <&pwm12_pins_a>;
346                 pinctrl-names = "default";
347                 status = "okay";
348         };
349         timer@11 {
350                 status = "okay";
351         };
352 };
353
354 &uart4 {
355         pinctrl-names = "default";
356         pinctrl-0 = <&uart4_pins_a>;
357         status = "okay";
358 };
359
360 &usbh_ehci {
361         phys = <&usbphyc_port0>;
362         phy-names = "usb";
363         status = "okay";
364 };
365
366 &usbotg_hs {
367         dr_mode = "peripheral";
368         phys = <&usbphyc_port1 0>;
369         phy-names = "usb2-phy";
370         vbus-supply = <&vbus_otg>;
371         status = "okay";
372 };
373
374 &usbphyc {
375         status = "okay";
376 };
377
378 &usbphyc_port0 {
379         phy-supply = <&vdd_usb>;
380 };
381
382 &usbphyc_port1 {
383         phy-supply = <&vdd_usb>;
384 };