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