Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso...
[linux-2.6-microblaze.git] / arch / arm / boot / dts / stm32mp157c-dhcom-som.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         memory@c0000000 {
16                 device_type = "memory";
17                 reg = <0xC0000000 0x40000000>;
18         };
19
20         reserved-memory {
21                 #address-cells = <1>;
22                 #size-cells = <1>;
23                 ranges;
24
25                 mcuram2: mcuram2@10000000 {
26                         compatible = "shared-dma-pool";
27                         reg = <0x10000000 0x40000>;
28                         no-map;
29                 };
30
31                 vdev0vring0: vdev0vring0@10040000 {
32                         compatible = "shared-dma-pool";
33                         reg = <0x10040000 0x1000>;
34                         no-map;
35                 };
36
37                 vdev0vring1: vdev0vring1@10041000 {
38                         compatible = "shared-dma-pool";
39                         reg = <0x10041000 0x1000>;
40                         no-map;
41                 };
42
43                 vdev0buffer: vdev0buffer@10042000 {
44                         compatible = "shared-dma-pool";
45                         reg = <0x10042000 0x4000>;
46                         no-map;
47                 };
48
49                 mcuram: mcuram@30000000 {
50                         compatible = "shared-dma-pool";
51                         reg = <0x30000000 0x40000>;
52                         no-map;
53                 };
54
55                 retram: retram@38000000 {
56                         compatible = "shared-dma-pool";
57                         reg = <0x38000000 0x10000>;
58                         no-map;
59                 };
60         };
61 };
62
63 &adc {
64         vdd-supply = <&vdd>;
65         vdda-supply = <&vdda>;
66         vref-supply = <&vdda>;
67         status = "okay";
68
69         adc1: adc@0 {
70                 st,min-sample-time-nsecs = <5000>;
71                 st,adc-channels = <0>;
72                 status = "okay";
73         };
74
75         adc2: adc@100 {
76                 st,adc-channels = <1>;
77                 st,min-sample-time-nsecs = <5000>;
78                 status = "okay";
79         };
80 };
81
82 &dac {
83         pinctrl-names = "default";
84         pinctrl-0 = <&dac_ch1_pins_a &dac_ch2_pins_a>;
85         vref-supply = <&vdda>;
86         status = "okay";
87
88         dac1: dac@1 {
89                 status = "okay";
90         };
91         dac2: dac@2 {
92                 status = "okay";
93         };
94 };
95
96 &dts {
97         status = "okay";
98 };
99
100 &gpu {
101         status = "okay";
102 };
103
104 &i2c4 {
105         pinctrl-names = "default";
106         pinctrl-0 = <&i2c4_pins_a>;
107         i2c-scl-rising-time-ns = <185>;
108         i2c-scl-falling-time-ns = <20>;
109         status = "okay";
110         /* spare dmas for other usage */
111         /delete-property/dmas;
112         /delete-property/dma-names;
113
114         rtc@32 {
115                 compatible = "microcrystal,rv8803";
116                 reg = <0x32>;
117         };
118
119         pmic: stpmic@33 {
120                 compatible = "st,stpmic1";
121                 reg = <0x33>;
122                 interrupts-extended = <&gpioa 0 IRQ_TYPE_EDGE_FALLING>;
123                 interrupt-controller;
124                 #interrupt-cells = <2>;
125                 status = "okay";
126
127                 regulators {
128                         compatible = "st,stpmic1-regulators";
129                         ldo1-supply = <&v3v3>;
130                         ldo2-supply = <&v3v3>;
131                         ldo3-supply = <&vdd_ddr>;
132                         ldo5-supply = <&v3v3>;
133                         ldo6-supply = <&v3v3>;
134                         pwr_sw1-supply = <&bst_out>;
135                         pwr_sw2-supply = <&bst_out>;
136
137                         vddcore: buck1 {
138                                 regulator-name = "vddcore";
139                                 regulator-min-microvolt = <800000>;
140                                 regulator-max-microvolt = <1350000>;
141                                 regulator-always-on;
142                                 regulator-initial-mode = <0>;
143                                 regulator-over-current-protection;
144                         };
145
146                         vdd_ddr: buck2 {
147                                 regulator-name = "vdd_ddr";
148                                 regulator-min-microvolt = <1350000>;
149                                 regulator-max-microvolt = <1350000>;
150                                 regulator-always-on;
151                                 regulator-initial-mode = <0>;
152                                 regulator-over-current-protection;
153                         };
154
155                         vdd: buck3 {
156                                 regulator-name = "vdd";
157                                 regulator-min-microvolt = <3300000>;
158                                 regulator-max-microvolt = <3300000>;
159                                 regulator-always-on;
160                                 st,mask-reset;
161                                 regulator-initial-mode = <0>;
162                                 regulator-over-current-protection;
163                         };
164
165                         v3v3: buck4 {
166                                 regulator-name = "v3v3";
167                                 regulator-min-microvolt = <3300000>;
168                                 regulator-max-microvolt = <3300000>;
169                                 regulator-always-on;
170                                 regulator-over-current-protection;
171                                 regulator-initial-mode = <0>;
172                         };
173
174                         vdda: ldo1 {
175                                 regulator-name = "vdda";
176                                 regulator-min-microvolt = <2900000>;
177                                 regulator-max-microvolt = <2900000>;
178                                 interrupts = <IT_CURLIM_LDO1 0>;
179                         };
180
181                         v2v8: ldo2 {
182                                 regulator-name = "v2v8";
183                                 regulator-min-microvolt = <2800000>;
184                                 regulator-max-microvolt = <2800000>;
185                                 interrupts = <IT_CURLIM_LDO2 0>;
186                         };
187
188                         vtt_ddr: ldo3 {
189                                 regulator-name = "vtt_ddr";
190                                 regulator-min-microvolt = <500000>;
191                                 regulator-max-microvolt = <750000>;
192                                 regulator-always-on;
193                                 regulator-over-current-protection;
194                         };
195
196                         vdd_usb: ldo4 {
197                                 regulator-name = "vdd_usb";
198                                 regulator-min-microvolt = <3300000>;
199                                 regulator-max-microvolt = <3300000>;
200                                 interrupts = <IT_CURLIM_LDO4 0>;
201                         };
202
203                         vdd_sd: ldo5 {
204                                 regulator-name = "vdd_sd";
205                                 regulator-min-microvolt = <2900000>;
206                                 regulator-max-microvolt = <2900000>;
207                                 interrupts = <IT_CURLIM_LDO5 0>;
208                                 regulator-boot-on;
209                         };
210
211                         v1v8: ldo6 {
212                                 regulator-name = "v1v8";
213                                 regulator-min-microvolt = <1800000>;
214                                 regulator-max-microvolt = <1800000>;
215                                 interrupts = <IT_CURLIM_LDO6 0>;
216                         };
217
218                         vref_ddr: vref_ddr {
219                                 regulator-name = "vref_ddr";
220                                 regulator-always-on;
221                                 regulator-over-current-protection;
222                         };
223
224                         bst_out: boost {
225                                 regulator-name = "bst_out";
226                                 interrupts = <IT_OCP_BOOST 0>;
227                         };
228
229                         vbus_otg: pwr_sw1 {
230                                 regulator-name = "vbus_otg";
231                                 interrupts = <IT_OCP_OTG 0>;
232                         };
233
234                         vbus_sw: pwr_sw2 {
235                                 regulator-name = "vbus_sw";
236                                 interrupts = <IT_OCP_SWOUT 0>;
237                                 regulator-active-discharge;
238                         };
239                 };
240
241                 onkey {
242                         compatible = "st,stpmic1-onkey";
243                         interrupts = <IT_PONKEY_F 0>, <IT_PONKEY_R 0>;
244                         interrupt-names = "onkey-falling", "onkey-rising";
245                         power-off-time-sec = <10>;
246                         status = "okay";
247                 };
248
249                 watchdog {
250                         compatible = "st,stpmic1-wdt";
251                         status = "disabled";
252                 };
253         };
254
255         touchscreen@49 {
256                 compatible = "ti,tsc2004";
257                 reg = <0x49>;
258                 vio-supply = <&v3v3>;
259                 interrupts-extended = <&gpioh 3 IRQ_TYPE_EDGE_FALLING>;
260         };
261
262         eeprom@50 {
263                 compatible = "atmel,24c02";
264                 reg = <0x50>;
265                 pagesize = <16>;
266         };
267 };
268
269 &ipcc {
270         status = "okay";
271 };
272
273 &iwdg2 {
274         timeout-sec = <32>;
275         status = "okay";
276 };
277
278 &m4_rproc {
279         memory-region = <&retram>, <&mcuram>, <&mcuram2>, <&vdev0vring0>,
280                         <&vdev0vring1>, <&vdev0buffer>;
281         mboxes = <&ipcc 0>, <&ipcc 1>, <&ipcc 2>;
282         mbox-names = "vq0", "vq1", "shutdown";
283         interrupt-parent = <&exti>;
284         interrupts = <68 1>;
285         status = "okay";
286 };
287
288 &pwr_regulators {
289         vdd-supply = <&vdd>;
290         vdd_3v3_usbfs-supply = <&vdd_usb>;
291 };
292
293 &qspi {
294         pinctrl-names = "default", "sleep";
295         pinctrl-0 = <&qspi_clk_pins_a &qspi_bk1_pins_a &qspi_bk2_pins_a>;
296         pinctrl-1 = <&qspi_clk_sleep_pins_a &qspi_bk1_sleep_pins_a &qspi_bk2_sleep_pins_a>;
297         reg = <0x58003000 0x1000>, <0x70000000 0x4000000>;
298         #address-cells = <1>;
299         #size-cells = <0>;
300         status = "okay";
301
302         flash0: mx66l51235l@0 {
303                 compatible = "jedec,spi-nor";
304                 reg = <0>;
305                 spi-rx-bus-width = <4>;
306                 spi-max-frequency = <108000000>;
307                 #address-cells = <1>;
308                 #size-cells = <1>;
309         };
310 };
311
312 &rng1 {
313         status = "okay";
314 };
315
316 &rtc {
317         status = "okay";
318 };
319
320 &sdmmc1 {
321         pinctrl-names = "default", "opendrain", "sleep";
322         pinctrl-0 = <&sdmmc1_b4_pins_a &sdmmc1_dir_pins_a>;
323         pinctrl-1 = <&sdmmc1_b4_od_pins_a &sdmmc1_dir_pins_a>;
324         pinctrl-2 = <&sdmmc1_b4_sleep_pins_a &sdmmc1_dir_sleep_pins_a>;
325         broken-cd;
326         st,sig-dir;
327         st,neg-edge;
328         st,use-ckin;
329         bus-width = <4>;
330         vmmc-supply = <&vdd_sd>;
331         status = "okay";
332 };
333
334 &sdmmc2 {
335         pinctrl-names = "default", "opendrain", "sleep";
336         pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_a>;
337         pinctrl-1 = <&sdmmc2_b4_od_pins_a &sdmmc2_d47_pins_a>;
338         pinctrl-2 = <&sdmmc2_b4_sleep_pins_a &sdmmc2_d47_sleep_pins_a>;
339         non-removable;
340         no-sd;
341         no-sdio;
342         st,neg-edge;
343         bus-width = <8>;
344         vmmc-supply = <&v3v3>;
345         vqmmc-supply = <&v3v3>;
346         mmc-ddr-3_3v;
347         status = "okay";
348 };
349
350 &sdmmc3 {
351         pinctrl-names = "default", "opendrain", "sleep";
352         pinctrl-0 = <&sdmmc3_b4_pins_a>;
353         pinctrl-1 = <&sdmmc3_b4_od_pins_a>;
354         pinctrl-2 = <&sdmmc3_b4_sleep_pins_a>;
355         broken-cd;
356         st,neg-edge;
357         bus-width = <4>;
358         vmmc-supply = <&v3v3>;
359         vqmmc-supply = <&v3v3>;
360         mmc-ddr-3_3v;
361         status = "okay";
362 };
363
364 &uart4 {
365         pinctrl-names = "default";
366         pinctrl-0 = <&uart4_pins_a>;
367         status = "okay";
368 };