1*aa1a8ff2SEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0 OR MIT)
2f126890aSEmmanuel Vadot//
3f126890aSEmmanuel Vadot// Copyright (c) 2021 emtrion GmbH
4f126890aSEmmanuel Vadot// Author: Reinhold Müller <reinhold.mueller@emtrion.de>.
5f126890aSEmmanuel Vadot//
6f126890aSEmmanuel Vadot
7f126890aSEmmanuel Vadot#include "stm32mp157.dtsi"
8f126890aSEmmanuel Vadot#include "stm32mp15xc.dtsi"
9f126890aSEmmanuel Vadot#include "stm32mp15-pinctrl.dtsi"
10f126890aSEmmanuel Vadot#include "stm32mp15xxac-pinctrl.dtsi"
11f126890aSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
12f126890aSEmmanuel Vadot#include <dt-bindings/mfd/st,stpmic1.h>
13f126890aSEmmanuel Vadot
14f126890aSEmmanuel Vadot/ {
15f126890aSEmmanuel Vadot	aliases {
16f126890aSEmmanuel Vadot		ethernet0 = &ethernet0;
17f126890aSEmmanuel Vadot		serial0 = &uart4;
18f126890aSEmmanuel Vadot		serial1 = &usart2;
19f126890aSEmmanuel Vadot		serial2 = &usart3;
20f126890aSEmmanuel Vadot	};
21f126890aSEmmanuel Vadot
22f126890aSEmmanuel Vadot	chosen {
23f126890aSEmmanuel Vadot		stdout-path = "serial0:115200n8";
24f126890aSEmmanuel Vadot	};
25f126890aSEmmanuel Vadot
26f126890aSEmmanuel Vadot	memory@c0000000 {
27f126890aSEmmanuel Vadot		device_type = "memory";
28f126890aSEmmanuel Vadot		reg = <0xc0000000 0x20000000>;
29f126890aSEmmanuel Vadot	};
30f126890aSEmmanuel Vadot
31f126890aSEmmanuel Vadot	reserved-memory {
32f126890aSEmmanuel Vadot		#address-cells = <1>;
33f126890aSEmmanuel Vadot		#size-cells = <1>;
34f126890aSEmmanuel Vadot		ranges;
35f126890aSEmmanuel Vadot
36f126890aSEmmanuel Vadot		mcuram2: mcuram2@10000000 {
37f126890aSEmmanuel Vadot			compatible = "shared-dma-pool";
38f126890aSEmmanuel Vadot			reg = <0x10000000 0x40000>;
39f126890aSEmmanuel Vadot			no-map;
40f126890aSEmmanuel Vadot		};
41f126890aSEmmanuel Vadot
42f126890aSEmmanuel Vadot		vdev0vring0: vdev0vring0@10040000 {
43f126890aSEmmanuel Vadot			compatible = "shared-dma-pool";
44f126890aSEmmanuel Vadot			reg = <0x10040000 0x2000>;
45f126890aSEmmanuel Vadot			no-map;
46f126890aSEmmanuel Vadot		};
47f126890aSEmmanuel Vadot
48f126890aSEmmanuel Vadot		vdev0vring1: vdev0vring1@10042000 {
49f126890aSEmmanuel Vadot			compatible = "shared-dma-pool";
50f126890aSEmmanuel Vadot			reg = <0x10042000 0x2000>;
51f126890aSEmmanuel Vadot			no-map;
52f126890aSEmmanuel Vadot		};
53f126890aSEmmanuel Vadot
54f126890aSEmmanuel Vadot		vdev0buffer: vdev0buffer@10044000 {
55f126890aSEmmanuel Vadot			compatible = "shared-dma-pool";
56f126890aSEmmanuel Vadot			reg = <0x10044000 0x4000>;
57f126890aSEmmanuel Vadot			no-map;
58f126890aSEmmanuel Vadot		};
59f126890aSEmmanuel Vadot
60f126890aSEmmanuel Vadot		mcuram: mcuram@30000000 {
61f126890aSEmmanuel Vadot			compatible = "shared-dma-pool";
62f126890aSEmmanuel Vadot			reg = <0x30000000 0x40000>;
63f126890aSEmmanuel Vadot			no-map;
64f126890aSEmmanuel Vadot		};
65f126890aSEmmanuel Vadot
66f126890aSEmmanuel Vadot		retram: retram@38000000 {
67f126890aSEmmanuel Vadot			compatible = "shared-dma-pool";
68f126890aSEmmanuel Vadot			reg = <0x38000000 0x10000>;
69f126890aSEmmanuel Vadot			no-map;
70f126890aSEmmanuel Vadot		};
71f126890aSEmmanuel Vadot	};
72f126890aSEmmanuel Vadot
73f126890aSEmmanuel Vadot	led: gpio_leds {
74f126890aSEmmanuel Vadot		compatible = "gpio-leds";
75f126890aSEmmanuel Vadot		led-0 {
76f126890aSEmmanuel Vadot			label = "panic";
77f126890aSEmmanuel Vadot			gpios = <&gpioa 13 GPIO_ACTIVE_LOW>;
78f126890aSEmmanuel Vadot			linux,default-trigger = "none";
79f126890aSEmmanuel Vadot			default-state = "off";
80f126890aSEmmanuel Vadot			panic-indicator;
81f126890aSEmmanuel Vadot		};
82f126890aSEmmanuel Vadot		led-1 {
83f126890aSEmmanuel Vadot			label = "heartbeat";
84f126890aSEmmanuel Vadot			gpios = <&gpioa 14 GPIO_ACTIVE_LOW>;
85f126890aSEmmanuel Vadot			linux,default-trigger = "heartbeat";
86f126890aSEmmanuel Vadot			default-state = "on";
87f126890aSEmmanuel Vadot		};
88f126890aSEmmanuel Vadot	};
89f126890aSEmmanuel Vadot};
90f126890aSEmmanuel Vadot
91f126890aSEmmanuel Vadot&adc {
92f126890aSEmmanuel Vadot	vdd-supply = <&vdd>;
93f126890aSEmmanuel Vadot	vdda-supply = <&vdd>;
94f126890aSEmmanuel Vadot	vref-supply = <&vrefbuf>;
95f126890aSEmmanuel Vadot	status = "okay";
96f126890aSEmmanuel Vadot
97f126890aSEmmanuel Vadot	adc1: adc@0 {
98f126890aSEmmanuel Vadot		pinctrl-names = "default";
99f126890aSEmmanuel Vadot		pinctrl-0 = <&adc1_in6_pins_a>;
100f126890aSEmmanuel Vadot		status = "disabled";
101f126890aSEmmanuel Vadot		channel@6 {
102f126890aSEmmanuel Vadot			reg = <6>;
103f126890aSEmmanuel Vadot			st,min-sample-time-ns = <5000>;
104f126890aSEmmanuel Vadot		};
105f126890aSEmmanuel Vadot	};
106f126890aSEmmanuel Vadot
107f126890aSEmmanuel Vadot	adc2: adc@100 {
108f126890aSEmmanuel Vadot		#address-cells = <1>;
109f126890aSEmmanuel Vadot		#size-cells = <0>;
110f126890aSEmmanuel Vadot		status = "okay";
111f126890aSEmmanuel Vadot		channel@12 {
112f126890aSEmmanuel Vadot			reg = <12>;
113f126890aSEmmanuel Vadot			label = "sense_temp";
114f126890aSEmmanuel Vadot			st,min-sample-time-ns = <9000>;
115f126890aSEmmanuel Vadot		};
116f126890aSEmmanuel Vadot		channel@15 {
117f126890aSEmmanuel Vadot			reg = <15>;
118f126890aSEmmanuel Vadot			label = "vbat";
119f126890aSEmmanuel Vadot			st,min-sample-time-ns = <9000>;
120f126890aSEmmanuel Vadot		};
121f126890aSEmmanuel Vadot		channel@16 {
122f126890aSEmmanuel Vadot			reg = <16>;
123f126890aSEmmanuel Vadot			label = "dac_out1";
124f126890aSEmmanuel Vadot			st,min-sample-time-ns = <9000>;
125f126890aSEmmanuel Vadot		};
126f126890aSEmmanuel Vadot		channel@17 {
127f126890aSEmmanuel Vadot			reg = <17>;
128f126890aSEmmanuel Vadot			label = "dac_out1";
129f126890aSEmmanuel Vadot			st,min-sample-time-ns = <9000>;
130f126890aSEmmanuel Vadot		};
131f126890aSEmmanuel Vadot	};
132f126890aSEmmanuel Vadot};
133f126890aSEmmanuel Vadot
134f126890aSEmmanuel Vadot&crc1 {
135f126890aSEmmanuel Vadot	status = "okay";
136f126890aSEmmanuel Vadot};
137f126890aSEmmanuel Vadot
138f126890aSEmmanuel Vadot&cryp1 {
139f126890aSEmmanuel Vadot	status = "okay";
140f126890aSEmmanuel Vadot};
141f126890aSEmmanuel Vadot
142f126890aSEmmanuel Vadot&dac {
143f126890aSEmmanuel Vadot	pinctrl-names = "default";
144f126890aSEmmanuel Vadot	pinctrl-0 = <&dac_ch1_pins_a &dac_ch2_pins_a>;
145f126890aSEmmanuel Vadot	vref-supply = <&vdda>;
146f126890aSEmmanuel Vadot	status = "disabled";
147f126890aSEmmanuel Vadot
148f126890aSEmmanuel Vadot	dac1: dac@1 {
149f126890aSEmmanuel Vadot		status = "okay";
150f126890aSEmmanuel Vadot	};
151f126890aSEmmanuel Vadot	dac2: dac@2 {
152f126890aSEmmanuel Vadot		status = "okay";
153f126890aSEmmanuel Vadot	};
154f126890aSEmmanuel Vadot};
155f126890aSEmmanuel Vadot
156f126890aSEmmanuel Vadot&dts {
157f126890aSEmmanuel Vadot	status = "okay";
158f126890aSEmmanuel Vadot};
159f126890aSEmmanuel Vadot
160f126890aSEmmanuel Vadot&ethernet0 {
161f126890aSEmmanuel Vadot	status = "okay";
162f126890aSEmmanuel Vadot	snps,reset-gpio = <&gpioa 1 GPIO_ACTIVE_LOW>;
163f126890aSEmmanuel Vadot	snps,reset-active-low;
164f126890aSEmmanuel Vadot	snps,reset-delays-us = <0 30000 50000>;
165f126890aSEmmanuel Vadot	pinctrl-0 = <&ethernet0_rmii_pins_b>;
166f126890aSEmmanuel Vadot	pinctrl-1 = <&ethernet0_rmii_sleep_pins_b>;
167f126890aSEmmanuel Vadot	pinctrl-names = "default", "sleep";
168f126890aSEmmanuel Vadot	phy-mode = "rmii";
169f126890aSEmmanuel Vadot	max-speed = <100>;
170f126890aSEmmanuel Vadot	phy-handle = <&phy0>;
171f126890aSEmmanuel Vadot	st,eth-ref-clk-sel;
172f126890aSEmmanuel Vadot
173f126890aSEmmanuel Vadot	mdio {
174f126890aSEmmanuel Vadot		#address-cells = <1>;
175f126890aSEmmanuel Vadot		#size-cells = <0>;
176f126890aSEmmanuel Vadot		compatible = "snps,dwmac-mdio";
177f126890aSEmmanuel Vadot		phy0: ethernet-phy@0 {
178f126890aSEmmanuel Vadot			reg = <0>;
179f126890aSEmmanuel Vadot		};
180f126890aSEmmanuel Vadot	};
181f126890aSEmmanuel Vadot};
182f126890aSEmmanuel Vadot
183f126890aSEmmanuel Vadot&hash1 {
184f126890aSEmmanuel Vadot	status = "okay";
185f126890aSEmmanuel Vadot};
186f126890aSEmmanuel Vadot
187f126890aSEmmanuel Vadot&i2c1 {
188f126890aSEmmanuel Vadot	pinctrl-names = "default", "sleep";
189f126890aSEmmanuel Vadot	pinctrl-0 = <&i2c1_pins_a>;
190f126890aSEmmanuel Vadot	pinctrl-1 = <&i2c1_sleep_pins_a>;
191f126890aSEmmanuel Vadot	i2c-scl-rising-time-ns = <100>;
192f126890aSEmmanuel Vadot	i2c-scl-falling-time-ns = <7>;
193f126890aSEmmanuel Vadot	status = "disabled";
194f126890aSEmmanuel Vadot	/delete-property/dmas;
195f126890aSEmmanuel Vadot	/delete-property/dma-names;
196f126890aSEmmanuel Vadot};
197f126890aSEmmanuel Vadot
198f126890aSEmmanuel Vadot&i2c4 {
199f126890aSEmmanuel Vadot	pinctrl-names = "default", "sleep";
200f126890aSEmmanuel Vadot	pinctrl-0 = <&i2c4_pins_a>;
201f126890aSEmmanuel Vadot	pinctrl-1 = <&i2c4_sleep_pins_a>;
202f126890aSEmmanuel Vadot	i2c-scl-rising-time-ns = <185>;
203f126890aSEmmanuel Vadot	i2c-scl-falling-time-ns = <20>;
204f126890aSEmmanuel Vadot	status = "okay";
205f126890aSEmmanuel Vadot	/delete-property/dmas;
206f126890aSEmmanuel Vadot	/delete-property/dma-names;
207f126890aSEmmanuel Vadot
208f126890aSEmmanuel Vadot	pmic: stpmic@33 {
209f126890aSEmmanuel Vadot		compatible = "st,stpmic1";
210f126890aSEmmanuel Vadot		reg = <0x33>;
211f126890aSEmmanuel Vadot		interrupts-extended = <&gpioa 0 IRQ_TYPE_EDGE_FALLING>;
212f126890aSEmmanuel Vadot		interrupt-controller;
213f126890aSEmmanuel Vadot		#interrupt-cells = <2>;
214f126890aSEmmanuel Vadot		status = "okay";
215f126890aSEmmanuel Vadot
216f126890aSEmmanuel Vadot		regulators {
217f126890aSEmmanuel Vadot			compatible = "st,stpmic1-regulators";
218f126890aSEmmanuel Vadot
219f126890aSEmmanuel Vadot			ldo1-supply = <&v3v3>;
220f126890aSEmmanuel Vadot			ldo3-supply = <&vdd_ddr>;
221f126890aSEmmanuel Vadot			ldo6-supply = <&v3v3>;
222f126890aSEmmanuel Vadot			pwr_sw1-supply = <&bst_out>;
223f126890aSEmmanuel Vadot			pwr_sw2-supply = <&bst_out>;
224f126890aSEmmanuel Vadot
225f126890aSEmmanuel Vadot			vddcore: buck1 {
226f126890aSEmmanuel Vadot				regulator-name = "vddcore";
227f126890aSEmmanuel Vadot				regulator-min-microvolt = <1200000>;
228f126890aSEmmanuel Vadot				regulator-max-microvolt = <1350000>;
229f126890aSEmmanuel Vadot				regulator-always-on;
230f126890aSEmmanuel Vadot				regulator-initial-mode = <0>;
231f126890aSEmmanuel Vadot				regulator-over-current-protection;
232f126890aSEmmanuel Vadot			};
233f126890aSEmmanuel Vadot
234f126890aSEmmanuel Vadot			vdd_ddr: buck2 {
235f126890aSEmmanuel Vadot				regulator-name = "vdd_ddr";
236f126890aSEmmanuel Vadot				regulator-min-microvolt = <1350000>;
237f126890aSEmmanuel Vadot				regulator-max-microvolt = <1350000>;
238f126890aSEmmanuel Vadot				regulator-always-on;
239f126890aSEmmanuel Vadot				regulator-initial-mode = <0>;
240f126890aSEmmanuel Vadot				regulator-over-current-protection;
241f126890aSEmmanuel Vadot			};
242f126890aSEmmanuel Vadot
243f126890aSEmmanuel Vadot			vdd: buck3 {
244f126890aSEmmanuel Vadot				regulator-name = "vdd";
245f126890aSEmmanuel Vadot				regulator-min-microvolt = <3300000>;
246f126890aSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
247f126890aSEmmanuel Vadot				regulator-always-on;
248f126890aSEmmanuel Vadot				st,mask-reset;
249f126890aSEmmanuel Vadot				regulator-initial-mode = <0>;
250f126890aSEmmanuel Vadot				regulator-over-current-protection;
251f126890aSEmmanuel Vadot			};
252f126890aSEmmanuel Vadot
253f126890aSEmmanuel Vadot			v3v3: buck4 {
254f126890aSEmmanuel Vadot				regulator-name = "v3v3";
255f126890aSEmmanuel Vadot				regulator-min-microvolt = <3300000>;
256f126890aSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
257f126890aSEmmanuel Vadot				regulator-always-on;
258f126890aSEmmanuel Vadot				regulator-over-current-protection;
259f126890aSEmmanuel Vadot				regulator-initial-mode = <0>;
260f126890aSEmmanuel Vadot			};
261f126890aSEmmanuel Vadot
262f126890aSEmmanuel Vadot			v1v8_audio: ldo1 {
263f126890aSEmmanuel Vadot				regulator-name = "v1v8_audio";
264f126890aSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
265f126890aSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
266f126890aSEmmanuel Vadot				regulator-always-on;
267f126890aSEmmanuel Vadot				interrupts = <IT_CURLIM_LDO1 0>;
268f126890aSEmmanuel Vadot			};
269f126890aSEmmanuel Vadot
270f126890aSEmmanuel Vadot			v3v3_hdmi: ldo2 {
271f126890aSEmmanuel Vadot				regulator-name = "v3v3_hdmi";
272f126890aSEmmanuel Vadot				regulator-min-microvolt = <3300000>;
273f126890aSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
274f126890aSEmmanuel Vadot				regulator-always-on;
275f126890aSEmmanuel Vadot				interrupts = <IT_CURLIM_LDO2 0>;
276f126890aSEmmanuel Vadot			};
277f126890aSEmmanuel Vadot
278f126890aSEmmanuel Vadot			vtt_ddr: ldo3 {
279f126890aSEmmanuel Vadot				regulator-name = "vtt_ddr";
280f126890aSEmmanuel Vadot				regulator-min-microvolt = <500000>;
281f126890aSEmmanuel Vadot				regulator-max-microvolt = <750000>;
282f126890aSEmmanuel Vadot				regulator-always-on;
283f126890aSEmmanuel Vadot				regulator-over-current-protection;
284f126890aSEmmanuel Vadot			};
285f126890aSEmmanuel Vadot
286f126890aSEmmanuel Vadot			vdd_usb: ldo4 {
287f126890aSEmmanuel Vadot				regulator-name = "vdd_usb";
288f126890aSEmmanuel Vadot				regulator-min-microvolt = <3300000>;
289f126890aSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
290f126890aSEmmanuel Vadot				interrupts = <IT_CURLIM_LDO4 0>;
291f126890aSEmmanuel Vadot			};
292f126890aSEmmanuel Vadot
293f126890aSEmmanuel Vadot			vdd_sd: ldo5 {
294f126890aSEmmanuel Vadot				regulator-name = "vdd_sd";
295f126890aSEmmanuel Vadot				regulator-min-microvolt = <3300000>;
296f126890aSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
297f126890aSEmmanuel Vadot				interrupts = <IT_CURLIM_LDO5 0>;
298f126890aSEmmanuel Vadot				regulator-always-on;
299f126890aSEmmanuel Vadot			};
300f126890aSEmmanuel Vadot
301f126890aSEmmanuel Vadot			vdda: ldo6 {
302f126890aSEmmanuel Vadot				regulator-name = "vdda";
303f126890aSEmmanuel Vadot				regulator-min-microvolt = <2900000>;
304f126890aSEmmanuel Vadot				regulator-max-microvolt = <2900000>;
305f126890aSEmmanuel Vadot				regulator-always-on;
306f126890aSEmmanuel Vadot				interrupts = <IT_CURLIM_LDO6 0>;
307f126890aSEmmanuel Vadot				regulator-boot-on;
308f126890aSEmmanuel Vadot			};
309f126890aSEmmanuel Vadot
310f126890aSEmmanuel Vadot			vref_ddr: vref_ddr {
311f126890aSEmmanuel Vadot				regulator-name = "vref_ddr";
312f126890aSEmmanuel Vadot				regulator-always-on;
313f126890aSEmmanuel Vadot			};
314f126890aSEmmanuel Vadot
315f126890aSEmmanuel Vadot			bst_out: boost {
316f126890aSEmmanuel Vadot				regulator-name = "bst_out";
317f126890aSEmmanuel Vadot				interrupts = <IT_OCP_BOOST 0>;
318f126890aSEmmanuel Vadot			};
319f126890aSEmmanuel Vadot
320f126890aSEmmanuel Vadot			vbus_otg: pwr_sw1 {
321f126890aSEmmanuel Vadot				regulator-name = "vbus_otg";
322f126890aSEmmanuel Vadot				interrupts = <IT_OCP_OTG 0>;
323*aa1a8ff2SEmmanuel Vadot				regulator-active-discharge = <1>;
324f126890aSEmmanuel Vadot			};
325f126890aSEmmanuel Vadot
326f126890aSEmmanuel Vadot			vbus_usbh: pwr_sw2 {
327f126890aSEmmanuel Vadot				regulator-name = "usbh_vbus";
328f126890aSEmmanuel Vadot				interrupts = <IT_OCP_SWOUT 0>;
329f126890aSEmmanuel Vadot				regulator-always-on;
330f126890aSEmmanuel Vadot				regulator-boot-on;
331f126890aSEmmanuel Vadot			};
332f126890aSEmmanuel Vadot		};
333f126890aSEmmanuel Vadot
334f126890aSEmmanuel Vadot		onkey {
335f126890aSEmmanuel Vadot			compatible = "st,stpmic1-onkey";
336f126890aSEmmanuel Vadot			interrupts = <IT_PONKEY_F 0>, <IT_PONKEY_R 1>;
337f126890aSEmmanuel Vadot			interrupt-names = "onkey-falling", "onkey-rising";
338f126890aSEmmanuel Vadot			status = "okay";
339f126890aSEmmanuel Vadot		};
340f126890aSEmmanuel Vadot
341f126890aSEmmanuel Vadot		watchdog {
342f126890aSEmmanuel Vadot			compatible = "st,stpmic1-wdt";
343f126890aSEmmanuel Vadot			status = "disabled";
344f126890aSEmmanuel Vadot		};
345f126890aSEmmanuel Vadot	};
346f126890aSEmmanuel Vadot};
347f126890aSEmmanuel Vadot
348f126890aSEmmanuel Vadot&i2c5 {
349f126890aSEmmanuel Vadot	pinctrl-names = "default", "sleep";
350f126890aSEmmanuel Vadot	pinctrl-0 = <&i2c5_pins_a>;
351f126890aSEmmanuel Vadot	pinctrl-1 = <&i2c5_sleep_pins_a>;
352f126890aSEmmanuel Vadot	i2c-scl-rising-time-ns = <185>;
353f126890aSEmmanuel Vadot	i2c-scl-falling-time-ns = <20>;
354f126890aSEmmanuel Vadot	/delete-property/dmas;
355f126890aSEmmanuel Vadot	/delete-property/dma-names;
356f126890aSEmmanuel Vadot};
357f126890aSEmmanuel Vadot
358f126890aSEmmanuel Vadot&ipcc {
359f126890aSEmmanuel Vadot	status = "okay";
360f126890aSEmmanuel Vadot};
361f126890aSEmmanuel Vadot
362f126890aSEmmanuel Vadot&iwdg2 {
363f126890aSEmmanuel Vadot	timeout-sec = <32>;
364f126890aSEmmanuel Vadot	status = "okay";
365f126890aSEmmanuel Vadot};
366f126890aSEmmanuel Vadot
367f126890aSEmmanuel Vadot&m4_rproc {
368f126890aSEmmanuel Vadot	memory-region = <&retram>, <&mcuram>, <&mcuram2>, <&vdev0vring0>,
369f126890aSEmmanuel Vadot			<&vdev0vring1>, <&vdev0buffer>;
370*aa1a8ff2SEmmanuel Vadot	mboxes = <&ipcc 0>, <&ipcc 1>, <&ipcc 2>, <&ipcc 3>;
371*aa1a8ff2SEmmanuel Vadot	mbox-names = "vq0", "vq1", "shutdown", "detach";
372f126890aSEmmanuel Vadot	interrupt-parent = <&exti>;
373f126890aSEmmanuel Vadot	interrupts = <68 1>;
374f126890aSEmmanuel Vadot	interrupt-names = "wdg";
375f126890aSEmmanuel Vadot	recovery;
376f126890aSEmmanuel Vadot	status = "okay";
377f126890aSEmmanuel Vadot};
378f126890aSEmmanuel Vadot
379f126890aSEmmanuel Vadot&pwr_regulators {
380f126890aSEmmanuel Vadot	vdd-supply = <&vdd>;
381f126890aSEmmanuel Vadot	vdd_3v3_usbfs-supply = <&vdd_usb>;
382f126890aSEmmanuel Vadot};
383f126890aSEmmanuel Vadot
384f126890aSEmmanuel Vadot&qspi {
385f126890aSEmmanuel Vadot	pinctrl-names = "default", "sleep";
386f126890aSEmmanuel Vadot	pinctrl-0 = <&qspi_clk_pins_a
387f126890aSEmmanuel Vadot		     &qspi_bk1_pins_a
388f126890aSEmmanuel Vadot		     &qspi_cs1_pins_a>;
389f126890aSEmmanuel Vadot	pinctrl-1 = <&qspi_clk_sleep_pins_a
390f126890aSEmmanuel Vadot		     &qspi_bk1_sleep_pins_a
391f126890aSEmmanuel Vadot		     &qspi_cs1_sleep_pins_a>;
392f126890aSEmmanuel Vadot	reg = <0x58003000 0x1000>, <0x70000000 0x4000000>;
393f126890aSEmmanuel Vadot	#address-cells = <1>;
394f126890aSEmmanuel Vadot	#size-cells = <0>;
395f126890aSEmmanuel Vadot	status = "okay";
396f126890aSEmmanuel Vadot
397f126890aSEmmanuel Vadot	flash0: flash@0 {
398f126890aSEmmanuel Vadot		compatible = "jedec,spi-nor";
399f126890aSEmmanuel Vadot		reg = <0>;
400f126890aSEmmanuel Vadot		spi-max-frequency = <133000000>;
401f126890aSEmmanuel Vadot		spi-rx-bus-width = <1>;
402f126890aSEmmanuel Vadot		spi-tx-bus-width = <1>;
403f126890aSEmmanuel Vadot		#address-cells = <1>;
404f126890aSEmmanuel Vadot		#size-cells = <1>;
405f126890aSEmmanuel Vadot	};
406f126890aSEmmanuel Vadot};
407f126890aSEmmanuel Vadot
408f126890aSEmmanuel Vadot&rng1 {
409f126890aSEmmanuel Vadot	status = "okay";
410f126890aSEmmanuel Vadot};
411f126890aSEmmanuel Vadot
412f126890aSEmmanuel Vadot&rtc {
413f126890aSEmmanuel Vadot	status = "okay";
414f126890aSEmmanuel Vadot};
415f126890aSEmmanuel Vadot
416f126890aSEmmanuel Vadot&sdmmc2 {
417f126890aSEmmanuel Vadot	arm,primecell-periphid = <0x10153180>;
418f126890aSEmmanuel Vadot	pinctrl-names = "default", "opendrain", "sleep";
419f126890aSEmmanuel Vadot	pinctrl-0 = <&sdmmc2_b4_pins_b>;
420f126890aSEmmanuel Vadot	pinctrl-1 = <&sdmmc2_b4_od_pins_b>;
421f126890aSEmmanuel Vadot	pinctrl-2 = <&sdmmc2_b4_sleep_pins_a>;
422f126890aSEmmanuel Vadot	non-removable;
423f126890aSEmmanuel Vadot	st,neg-edge;
424f126890aSEmmanuel Vadot	bus-width = <4>;
425f126890aSEmmanuel Vadot	vmmc-supply = <&v3v3>;
426f126890aSEmmanuel Vadot	status = "okay";
427f126890aSEmmanuel Vadot};
428f126890aSEmmanuel Vadot
429f126890aSEmmanuel Vadot&spi1 {
430f126890aSEmmanuel Vadot	pinctrl-names = "default";
431f126890aSEmmanuel Vadot	pinctrl-0 = <&spi1_pins_a>;
432f126890aSEmmanuel Vadot	cs-gpios = <&gpioz 3 0>;
433f126890aSEmmanuel Vadot	status = "disabled";
434f126890aSEmmanuel Vadot};
435f126890aSEmmanuel Vadot
436f126890aSEmmanuel Vadot&timers1 {
437f126890aSEmmanuel Vadot	/* spare dmas for other usage */
438f126890aSEmmanuel Vadot	/delete-property/dmas;
439f126890aSEmmanuel Vadot	/delete-property/dma-names;
440f126890aSEmmanuel Vadot	pwm {
441f126890aSEmmanuel Vadot		pinctrl-0 = <&pwm1_pins_b>;
442f126890aSEmmanuel Vadot		pinctrl-1 = <&pwm1_sleep_pins_b>;
443f126890aSEmmanuel Vadot		pinctrl-names = "default", "sleep";
444f126890aSEmmanuel Vadot		status = "okay";
445f126890aSEmmanuel Vadot	};
446f126890aSEmmanuel Vadot	timer@0 {
447f126890aSEmmanuel Vadot		status = "okay";
448f126890aSEmmanuel Vadot	};
449f126890aSEmmanuel Vadot};
450f126890aSEmmanuel Vadot
451f126890aSEmmanuel Vadot&timers4 {
452f126890aSEmmanuel Vadot	/delete-property/dmas;
453f126890aSEmmanuel Vadot	/delete-property/dma-names;
454f126890aSEmmanuel Vadot	pwm {
455f126890aSEmmanuel Vadot		pinctrl-0 = <&pwm4_pins_b>;
456f126890aSEmmanuel Vadot		pinctrl-1 = <&pwm4_sleep_pins_b>;
457f126890aSEmmanuel Vadot		pinctrl-names = "default", "sleep";
458f126890aSEmmanuel Vadot		status = "okay";
459f126890aSEmmanuel Vadot	};
460f126890aSEmmanuel Vadot	timer@3 {
461f126890aSEmmanuel Vadot		status = "okay";
462f126890aSEmmanuel Vadot	};
463f126890aSEmmanuel Vadot};
464f126890aSEmmanuel Vadot
465f126890aSEmmanuel Vadot&timers5 {
466f126890aSEmmanuel Vadot	/delete-property/dmas;
467f126890aSEmmanuel Vadot	/delete-property/dma-names;
468f126890aSEmmanuel Vadot	pwm {
469f126890aSEmmanuel Vadot		pinctrl-0 = <&pwm5_pins_a>;
470f126890aSEmmanuel Vadot		pinctrl-1 = <&pwm5_sleep_pins_a>;
471f126890aSEmmanuel Vadot		pinctrl-names = "default", "sleep";
472f126890aSEmmanuel Vadot		status = "okay";
473f126890aSEmmanuel Vadot	};
474f126890aSEmmanuel Vadot	timer@4 {
475f126890aSEmmanuel Vadot		status = "okay";
476f126890aSEmmanuel Vadot	};
477f126890aSEmmanuel Vadot};
478f126890aSEmmanuel Vadot
479f126890aSEmmanuel Vadot&uart4 {
480f126890aSEmmanuel Vadot	pinctrl-names = "default", "sleep", "idle";
481f126890aSEmmanuel Vadot	pinctrl-0 = <&uart4_pins_a>;
482f126890aSEmmanuel Vadot	pinctrl-1 = <&uart4_sleep_pins_a>;
483f126890aSEmmanuel Vadot	pinctrl-2 = <&uart4_idle_pins_a>;
484f126890aSEmmanuel Vadot	status = "okay";
485f126890aSEmmanuel Vadot};
486f126890aSEmmanuel Vadot
487f126890aSEmmanuel Vadot&usart2 {
488f126890aSEmmanuel Vadot	pinctrl-names = "default", "sleep";
489f126890aSEmmanuel Vadot	pinctrl-0 = <&usart2_pins_a>;
490f126890aSEmmanuel Vadot	pinctrl-1 = <&usart2_sleep_pins_a>;
491f126890aSEmmanuel Vadot	status = "okay";
492f126890aSEmmanuel Vadot};
493f126890aSEmmanuel Vadot
494f126890aSEmmanuel Vadot&usart3 {
495f126890aSEmmanuel Vadot	pinctrl-names = "default", "sleep", "idle";
496f126890aSEmmanuel Vadot	pinctrl-0 = <&usart3_pins_d>;
497f126890aSEmmanuel Vadot	pinctrl-1 = <&usart3_sleep_pins_d>;
498f126890aSEmmanuel Vadot	pinctrl-2 = <&usart3_idle_pins_d>;
499f126890aSEmmanuel Vadot	status = "okay";
500f126890aSEmmanuel Vadot};
501f126890aSEmmanuel Vadot
502f126890aSEmmanuel Vadot&usbh_ehci {
503f126890aSEmmanuel Vadot	status = "okay";
504f126890aSEmmanuel Vadot};
505f126890aSEmmanuel Vadot
506f126890aSEmmanuel Vadot&usbh_ohci {
507f126890aSEmmanuel Vadot	status = "okay";
508f126890aSEmmanuel Vadot};
509f126890aSEmmanuel Vadot
510f126890aSEmmanuel Vadot&usbotg_hs {
511f126890aSEmmanuel Vadot	dr_mode = "peripheral";
512f126890aSEmmanuel Vadot	pinctrl-names = "default";
513f126890aSEmmanuel Vadot	pinctrl-0 = <&usbotg_hs_pins_a>;
514f126890aSEmmanuel Vadot	phy-names = "usb2-phy";
515f126890aSEmmanuel Vadot	phys = <&usbphyc_port1 0>;
516f126890aSEmmanuel Vadot	vbus-supply = <&vbus_otg>;
517f126890aSEmmanuel Vadot	status = "okay";
518f126890aSEmmanuel Vadot};
519f126890aSEmmanuel Vadot
520f126890aSEmmanuel Vadot&usbphyc {
521f126890aSEmmanuel Vadot	status = "okay";
522f126890aSEmmanuel Vadot};
523f126890aSEmmanuel Vadot
524f126890aSEmmanuel Vadot&usbphyc_port0 {
525f126890aSEmmanuel Vadot	phy-supply = <&vdd_usb>;
526f126890aSEmmanuel Vadot};
527f126890aSEmmanuel Vadot
528f126890aSEmmanuel Vadot&usbphyc_port1 {
529f126890aSEmmanuel Vadot	phy-supply = <&vdd_usb>;
530f126890aSEmmanuel Vadot};
531f126890aSEmmanuel Vadot
532f126890aSEmmanuel Vadot&vrefbuf {
533f126890aSEmmanuel Vadot	regulator-min-microvolt = <2500000>;
534f126890aSEmmanuel Vadot	regulator-max-microvolt = <2500000>;
535f126890aSEmmanuel Vadot	vdda-supply = <&vdd>;
536f126890aSEmmanuel Vadot	status = "okay";
537f126890aSEmmanuel Vadot};
538f126890aSEmmanuel Vadot
539