1// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
2/*
3 * Copyright (c) STMicroelectronics 2019 - All Rights Reserved
4 * Copyright (c) 2020 Engicam srl
5 * Copyright (c) 2020 Amarula Solutions(India)
6 */
7
8/ {
9	compatible = "engicam,icore-stm32mp1", "st,stm32mp157";
10
11	memory@c0000000 {
12		device_type = "memory";
13		reg = <0xc0000000 0x20000000>;
14	};
15
16	reserved-memory {
17		#address-cells = <1>;
18		#size-cells = <1>;
19		ranges;
20
21		mcuram2: mcuram2@10000000 {
22			compatible = "shared-dma-pool";
23			reg = <0x10000000 0x40000>;
24			no-map;
25		};
26
27		vdev0vring0: vdev0vring0@10040000 {
28			compatible = "shared-dma-pool";
29			reg = <0x10040000 0x1000>;
30			no-map;
31		};
32
33		vdev0vring1: vdev0vring1@10041000 {
34			compatible = "shared-dma-pool";
35			reg = <0x10041000 0x1000>;
36			no-map;
37		};
38
39		vdev0buffer: vdev0buffer@10042000 {
40			compatible = "shared-dma-pool";
41			reg = <0x10042000 0x4000>;
42			no-map;
43		};
44
45		mcuram: mcuram@30000000 {
46			compatible = "shared-dma-pool";
47			reg = <0x30000000 0x40000>;
48			no-map;
49		};
50
51		retram: retram@38000000 {
52			compatible = "shared-dma-pool";
53			reg = <0x38000000 0x10000>;
54			no-map;
55		};
56	};
57
58	vddcore: regulator-vddcore {
59		compatible = "regulator-fixed";
60		regulator-name = "vddcore";
61		regulator-min-microvolt = <1200000>;
62		regulator-max-microvolt = <1200000>;
63		regulator-always-on;
64	};
65
66	vdd: regulator-vdd {
67		compatible = "regulator-fixed";
68		regulator-name = "vdd";
69		regulator-min-microvolt = <3300000>;
70		regulator-max-microvolt = <3300000>;
71		regulator-always-on;
72	};
73
74	vdd_usb: regulator-vdd-usb {
75		compatible = "regulator-fixed";
76		regulator-name = "vdd_usb";
77		regulator-min-microvolt = <3300000>;
78		regulator-max-microvolt = <3300000>;
79		regulator-always-on;
80	};
81
82	vdda: regulator-vdda {
83		compatible = "regulator-fixed";
84		regulator-name = "vdda";
85		regulator-min-microvolt = <3300000>;
86		regulator-max-microvolt = <3300000>;
87		regulator-always-on;
88	};
89
90	vdd_ddr: regulator-vdd-ddr {
91		compatible = "regulator-fixed";
92		regulator-name = "vdd_ddr";
93		regulator-min-microvolt = <1350000>;
94		regulator-max-microvolt = <1350000>;
95		regulator-always-on;
96	};
97
98	vtt_ddr: regulator-vtt-ddr {
99		compatible = "regulator-fixed";
100		regulator-name = "vtt_ddr";
101		regulator-min-microvolt = <675000>;
102		regulator-max-microvolt = <675000>;
103		regulator-always-on;
104		vin-supply = <&vdd>;
105	};
106
107	vref_ddr: regulator-vref-ddr {
108		compatible = "regulator-fixed";
109		regulator-name = "vref_ddr";
110		regulator-min-microvolt = <675000>;
111		regulator-max-microvolt = <675000>;
112		regulator-always-on;
113		vin-supply = <&vdd>;
114	};
115
116	vdd_sd: regulator-vdd-sd {
117		compatible = "regulator-fixed";
118		regulator-name = "vdd_sd";
119		regulator-min-microvolt = <3300000>;
120		regulator-max-microvolt = <3300000>;
121		regulator-always-on;
122	};
123
124	v3v3: regulator-v3v3 {
125		compatible = "regulator-fixed";
126		regulator-name = "v3v3";
127		regulator-min-microvolt = <3300000>;
128		regulator-max-microvolt = <3300000>;
129		regulator-always-on;
130	};
131
132	v2v8: regulator-v2v8 {
133		compatible = "regulator-fixed";
134		regulator-name = "v2v8";
135		regulator-min-microvolt = <2800000>;
136		regulator-max-microvolt = <2800000>;
137		regulator-always-on;
138		vin-supply = <&v3v3>;
139	};
140
141	v1v8: regulator-v1v8 {
142		compatible = "regulator-fixed";
143		regulator-name = "v1v8";
144		regulator-min-microvolt = <1800000>;
145		regulator-max-microvolt = <1800000>;
146		regulator-always-on;
147		vin-supply = <&v3v3>;
148	};
149};
150
151&dts {
152	status = "okay";
153};
154
155&i2c2 {
156	i2c-scl-falling-time-ns = <20>;
157	i2c-scl-rising-time-ns = <185>;
158	pinctrl-names = "default", "sleep";
159	pinctrl-0 = <&i2c2_pins_a>;
160	pinctrl-1 = <&i2c2_sleep_pins_a>;
161	status = "okay";
162};
163
164&ipcc {
165	status = "okay";
166};
167
168&iwdg2 {
169	timeout-sec = <32>;
170	status = "okay";
171};
172
173&m4_rproc {
174	memory-region = <&retram>, <&mcuram>, <&mcuram2>, <&vdev0vring0>,
175			<&vdev0vring1>, <&vdev0buffer>;
176	mboxes = <&ipcc 0>, <&ipcc 1>, <&ipcc 2>;
177	mbox-names = "vq0", "vq1", "shutdown";
178	interrupt-parent = <&exti>;
179	interrupts = <68 1>;
180	status = "okay";
181};
182
183&rng1 {
184	status = "okay";
185};
186
187&rtc {
188	status = "okay";
189};
190
191&vrefbuf {
192	regulator-min-microvolt = <2500000>;
193	regulator-max-microvolt = <2500000>;
194	vdda-supply = <&vdd>;
195	status = "okay";
196};
197