Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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};