]> Git Repo - J-linux.git/blob - arch/arm/boot/dts/st/stm32mp157c-ed1.dts
Merge tag 'x86-cleanups-2024-01-08' of git://git.kernel.org/pub/scm/linux/kernel...
[J-linux.git] / arch / arm / boot / dts / st / 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 <[email protected]> for STMicroelectronics.
5  */
6 /dts-v1/;
7
8 #include "stm32mp157.dtsi"
9 #include "stm32mp15xc.dtsi"
10 #include "stm32mp15-pinctrl.dtsi"
11 #include "stm32mp15xxaa-pinctrl.dtsi"
12 #include <dt-bindings/gpio/gpio.h>
13 #include <dt-bindings/mfd/st,stpmic1.h>
14
15 / {
16         model = "STMicroelectronics STM32MP157C eval daughter";
17         compatible = "st,stm32mp157c-ed1", "st,stm32mp157";
18
19         aliases {
20                 serial0 = &uart4;
21         };
22
23         chosen {
24                 stdout-path = "serial0:115200n8";
25         };
26
27         memory@c0000000 {
28                 device_type = "memory";
29                 reg = <0xC0000000 0x40000000>;
30         };
31
32         reserved-memory {
33                 #address-cells = <1>;
34                 #size-cells = <1>;
35                 ranges;
36
37                 mcuram2: mcuram2@10000000 {
38                         compatible = "shared-dma-pool";
39                         reg = <0x10000000 0x40000>;
40                         no-map;
41                 };
42
43                 vdev0vring0: vdev0vring0@10040000 {
44                         compatible = "shared-dma-pool";
45                         reg = <0x10040000 0x1000>;
46                         no-map;
47                 };
48
49                 vdev0vring1: vdev0vring1@10041000 {
50                         compatible = "shared-dma-pool";
51                         reg = <0x10041000 0x1000>;
52                         no-map;
53                 };
54
55                 vdev0buffer: vdev0buffer@10042000 {
56                         compatible = "shared-dma-pool";
57                         reg = <0x10042000 0x4000>;
58                         no-map;
59                 };
60
61                 mcuram: mcuram@30000000 {
62                         compatible = "shared-dma-pool";
63                         reg = <0x30000000 0x40000>;
64                         no-map;
65                 };
66
67                 retram: retram@38000000 {
68                         compatible = "shared-dma-pool";
69                         reg = <0x38000000 0x10000>;
70                         no-map;
71                 };
72         };
73
74         sd_switch: regulator-sd_switch {
75                 compatible = "regulator-gpio";
76                 regulator-name = "sd_switch";
77                 regulator-min-microvolt = <1800000>;
78                 regulator-max-microvolt = <2900000>;
79                 regulator-type = "voltage";
80                 regulator-always-on;
81
82                 gpios = <&gpiof 14 GPIO_ACTIVE_HIGH>;
83                 gpios-states = <0>;
84                 states = <1800000 0x1>,
85                          <2900000 0x0>;
86         };
87
88         vin: vin {
89                 compatible = "regulator-fixed";
90                 regulator-name = "vin";
91                 regulator-min-microvolt = <5000000>;
92                 regulator-max-microvolt = <5000000>;
93                 regulator-always-on;
94         };
95 };
96
97 &adc {
98         /* ANA0, ANA1 are dedicated pins and don't need pinctrl: only in6. */
99         pinctrl-0 = <&adc1_in6_pins_a>;
100         pinctrl-names = "default";
101         vdd-supply = <&vdd>;
102         vdda-supply = <&vdda>;
103         vref-supply = <&vdda>;
104         status = "disabled";
105         adc1: adc@0 {
106                 status = "okay";
107                 channel@0 {
108                         reg = <0>;
109                         /* 16.5 ck_cycles sampling time */
110                         st,min-sample-time-ns = <400>;
111                 };
112                 channel@1 {
113                         reg = <1>;
114                         st,min-sample-time-ns = <400>;
115                 };
116                 channel@6 {
117                         reg = <6>;
118                         st,min-sample-time-ns = <400>;
119                 };
120         };
121 };
122
123 &crc1 {
124         status = "okay";
125 };
126
127 &cryp1 {
128         status = "okay";
129 };
130
131 &dac {
132         pinctrl-names = "default";
133         pinctrl-0 = <&dac_ch1_pins_a &dac_ch2_pins_a>;
134         vref-supply = <&vdda>;
135         status = "disabled";
136         dac1: dac@1 {
137                 status = "okay";
138         };
139         dac2: dac@2 {
140                 status = "okay";
141         };
142 };
143
144 &dts {
145         status = "okay";
146 };
147
148 &hash1 {
149         status = "okay";
150 };
151
152 &i2c4 {
153         pinctrl-names = "default", "sleep";
154         pinctrl-0 = <&i2c4_pins_a>;
155         pinctrl-1 = <&i2c4_sleep_pins_a>;
156         i2c-scl-rising-time-ns = <185>;
157         i2c-scl-falling-time-ns = <20>;
158         clock-frequency = <400000>;
159         status = "okay";
160         /* spare dmas for other usage */
161         /delete-property/dmas;
162         /delete-property/dma-names;
163
164         pmic: stpmic@33 {
165                 compatible = "st,stpmic1";
166                 reg = <0x33>;
167                 interrupts-extended = <&gpioa 0 IRQ_TYPE_EDGE_FALLING>;
168                 interrupt-controller;
169                 #interrupt-cells = <2>;
170                 status = "okay";
171
172                 regulators {
173                         compatible = "st,stpmic1-regulators";
174                         buck1-supply = <&vin>;
175                         buck2-supply = <&vin>;
176                         buck3-supply = <&vin>;
177                         buck4-supply = <&vin>;
178                         ldo1-supply = <&v3v3>;
179                         ldo2-supply = <&v3v3>;
180                         ldo3-supply = <&vdd_ddr>;
181                         ldo4-supply = <&vin>;
182                         ldo5-supply = <&v3v3>;
183                         ldo6-supply = <&v3v3>;
184                         vref_ddr-supply = <&vin>;
185                         boost-supply = <&vin>;
186                         pwr_sw1-supply = <&bst_out>;
187                         pwr_sw2-supply = <&bst_out>;
188
189                         vddcore: buck1 {
190                                 regulator-name = "vddcore";
191                                 regulator-min-microvolt = <1200000>;
192                                 regulator-max-microvolt = <1350000>;
193                                 regulator-always-on;
194                                 regulator-initial-mode = <0>;
195                                 regulator-over-current-protection;
196                         };
197
198                         vdd_ddr: buck2 {
199                                 regulator-name = "vdd_ddr";
200                                 regulator-min-microvolt = <1350000>;
201                                 regulator-max-microvolt = <1350000>;
202                                 regulator-always-on;
203                                 regulator-initial-mode = <0>;
204                                 regulator-over-current-protection;
205                         };
206
207                         vdd: buck3 {
208                                 regulator-name = "vdd";
209                                 regulator-min-microvolt = <3300000>;
210                                 regulator-max-microvolt = <3300000>;
211                                 regulator-always-on;
212                                 st,mask-reset;
213                                 regulator-initial-mode = <0>;
214                                 regulator-over-current-protection;
215                         };
216
217                         v3v3: buck4 {
218                                 regulator-name = "v3v3";
219                                 regulator-min-microvolt = <3300000>;
220                                 regulator-max-microvolt = <3300000>;
221                                 regulator-always-on;
222                                 regulator-over-current-protection;
223                                 regulator-initial-mode = <0>;
224                         };
225
226                         vdda: ldo1 {
227                                 regulator-name = "vdda";
228                                 regulator-min-microvolt = <2900000>;
229                                 regulator-max-microvolt = <2900000>;
230                                 interrupts = <IT_CURLIM_LDO1 0>;
231                         };
232
233                         v2v8: ldo2 {
234                                 regulator-name = "v2v8";
235                                 regulator-min-microvolt = <2800000>;
236                                 regulator-max-microvolt = <2800000>;
237                                 interrupts = <IT_CURLIM_LDO2 0>;
238                         };
239
240                         vtt_ddr: ldo3 {
241                                 regulator-name = "vtt_ddr";
242                                 regulator-min-microvolt = <500000>;
243                                 regulator-max-microvolt = <750000>;
244                                 regulator-always-on;
245                                 regulator-over-current-protection;
246                         };
247
248                         vdd_usb: ldo4 {
249                                 regulator-name = "vdd_usb";
250                                 interrupts = <IT_CURLIM_LDO4 0>;
251                         };
252
253                         vdd_sd: ldo5 {
254                                 regulator-name = "vdd_sd";
255                                 regulator-min-microvolt = <2900000>;
256                                 regulator-max-microvolt = <2900000>;
257                                 interrupts = <IT_CURLIM_LDO5 0>;
258                                 regulator-boot-on;
259                         };
260
261                         v1v8: ldo6 {
262                                 regulator-name = "v1v8";
263                                 regulator-min-microvolt = <1800000>;
264                                 regulator-max-microvolt = <1800000>;
265                                 interrupts = <IT_CURLIM_LDO6 0>;
266                         };
267
268                         vref_ddr: vref_ddr {
269                                 regulator-name = "vref_ddr";
270                                 regulator-always-on;
271                         };
272
273                         bst_out: boost {
274                                 regulator-name = "bst_out";
275                                 interrupts = <IT_OCP_BOOST 0>;
276                         };
277
278                         vbus_otg: pwr_sw1 {
279                                 regulator-name = "vbus_otg";
280                                 interrupts = <IT_OCP_OTG 0>;
281                          };
282
283                          vbus_sw: pwr_sw2 {
284                                 regulator-name = "vbus_sw";
285                                 interrupts = <IT_OCP_SWOUT 0>;
286                                 regulator-active-discharge = <1>;
287                          };
288                 };
289
290                 onkey {
291                         compatible = "st,stpmic1-onkey";
292                         interrupts = <IT_PONKEY_F 0>, <IT_PONKEY_R 0>;
293                         interrupt-names = "onkey-falling", "onkey-rising";
294                         power-off-time-sec = <10>;
295                         status = "okay";
296                 };
297
298                 watchdog {
299                         compatible = "st,stpmic1-wdt";
300                         status = "disabled";
301                 };
302         };
303 };
304
305 &ipcc {
306         status = "okay";
307 };
308
309 &iwdg2 {
310         timeout-sec = <32>;
311         status = "okay";
312 };
313
314 &m4_rproc {
315         memory-region = <&retram>, <&mcuram>, <&mcuram2>, <&vdev0vring0>,
316                         <&vdev0vring1>, <&vdev0buffer>;
317         mboxes = <&ipcc 0>, <&ipcc 1>, <&ipcc 2>, <&ipcc 3>;
318         mbox-names = "vq0", "vq1", "shutdown", "detach";
319         interrupt-parent = <&exti>;
320         interrupts = <68 1>;
321         status = "okay";
322 };
323
324 &pwr_regulators {
325         vdd-supply = <&vdd>;
326         vdd_3v3_usbfs-supply = <&vdd_usb>;
327 };
328
329 &rng1 {
330         status = "okay";
331 };
332
333 &rtc {
334         status = "okay";
335 };
336
337 &sdmmc1 {
338         pinctrl-names = "default", "opendrain", "sleep";
339         pinctrl-0 = <&sdmmc1_b4_pins_a &sdmmc1_dir_pins_a>;
340         pinctrl-1 = <&sdmmc1_b4_od_pins_a &sdmmc1_dir_pins_a>;
341         pinctrl-2 = <&sdmmc1_b4_sleep_pins_a &sdmmc1_dir_sleep_pins_a>;
342         cd-gpios = <&gpiog 1 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
343         disable-wp;
344         st,sig-dir;
345         st,neg-edge;
346         st,use-ckin;
347         bus-width = <4>;
348         vmmc-supply = <&vdd_sd>;
349         vqmmc-supply = <&sd_switch>;
350         sd-uhs-sdr12;
351         sd-uhs-sdr25;
352         sd-uhs-sdr50;
353         sd-uhs-ddr50;
354         status = "okay";
355 };
356
357 &sdmmc2 {
358         pinctrl-names = "default", "opendrain", "sleep";
359         pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_a>;
360         pinctrl-1 = <&sdmmc2_b4_od_pins_a &sdmmc2_d47_pins_a>;
361         pinctrl-2 = <&sdmmc2_b4_sleep_pins_a &sdmmc2_d47_sleep_pins_a>;
362         non-removable;
363         no-sd;
364         no-sdio;
365         st,neg-edge;
366         bus-width = <8>;
367         vmmc-supply = <&v3v3>;
368         vqmmc-supply = <&vdd>;
369         mmc-ddr-3_3v;
370         status = "okay";
371 };
372
373 &timers6 {
374         status = "okay";
375         /* spare dmas for other usage */
376         /delete-property/dmas;
377         /delete-property/dma-names;
378         timer@5 {
379                 status = "okay";
380         };
381 };
382
383 &uart4 {
384         pinctrl-names = "default", "sleep", "idle";
385         pinctrl-0 = <&uart4_pins_a>;
386         pinctrl-1 = <&uart4_sleep_pins_a>;
387         pinctrl-2 = <&uart4_idle_pins_a>;
388         /delete-property/dmas;
389         /delete-property/dma-names;
390         status = "okay";
391 };
392
393 &usbotg_hs {
394         vbus-supply = <&vbus_otg>;
395 };
396
397 &usbphyc_port0 {
398         phy-supply = <&vdd_usb>;
399 };
400
401 &usbphyc_port1 {
402         phy-supply = <&vdd_usb>;
403 };
This page took 0.0584 seconds and 4 git commands to generate.