1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
2*f126890aSEmmanuel Vadot/*
3*f126890aSEmmanuel Vadot * Copyright (c) STMicroelectronics 2019 - All Rights Reserved
4*f126890aSEmmanuel Vadot * Copyright (c) 2020 Engicam srl
5*f126890aSEmmanuel Vadot * Copyright (c) 2020 Amarula Solutions(India)
6*f126890aSEmmanuel Vadot */
7*f126890aSEmmanuel Vadot
8*f126890aSEmmanuel Vadot/ {
9*f126890aSEmmanuel Vadot	compatible = "engicam,microgea-stm32mp1", "st,stm32mp157";
10*f126890aSEmmanuel Vadot
11*f126890aSEmmanuel Vadot	memory@c0000000 {
12*f126890aSEmmanuel Vadot		device_type = "memory";
13*f126890aSEmmanuel Vadot		reg = <0xc0000000 0x10000000>;
14*f126890aSEmmanuel Vadot	};
15*f126890aSEmmanuel Vadot
16*f126890aSEmmanuel Vadot	reserved-memory {
17*f126890aSEmmanuel Vadot		#address-cells = <1>;
18*f126890aSEmmanuel Vadot		#size-cells = <1>;
19*f126890aSEmmanuel Vadot		ranges;
20*f126890aSEmmanuel Vadot
21*f126890aSEmmanuel Vadot		mcuram2: mcuram2@10000000 {
22*f126890aSEmmanuel Vadot			compatible = "shared-dma-pool";
23*f126890aSEmmanuel Vadot			reg = <0x10000000 0x40000>;
24*f126890aSEmmanuel Vadot			no-map;
25*f126890aSEmmanuel Vadot		};
26*f126890aSEmmanuel Vadot
27*f126890aSEmmanuel Vadot		vdev0vring0: vdev0vring0@10040000 {
28*f126890aSEmmanuel Vadot			compatible = "shared-dma-pool";
29*f126890aSEmmanuel Vadot			reg = <0x10040000 0x1000>;
30*f126890aSEmmanuel Vadot			no-map;
31*f126890aSEmmanuel Vadot		};
32*f126890aSEmmanuel Vadot
33*f126890aSEmmanuel Vadot		vdev0vring1: vdev0vring1@10041000 {
34*f126890aSEmmanuel Vadot			compatible = "shared-dma-pool";
35*f126890aSEmmanuel Vadot			reg = <0x10041000 0x1000>;
36*f126890aSEmmanuel Vadot			no-map;
37*f126890aSEmmanuel Vadot		};
38*f126890aSEmmanuel Vadot
39*f126890aSEmmanuel Vadot		vdev0buffer: vdev0buffer@10042000 {
40*f126890aSEmmanuel Vadot			compatible = "shared-dma-pool";
41*f126890aSEmmanuel Vadot			reg = <0x10042000 0x4000>;
42*f126890aSEmmanuel Vadot			no-map;
43*f126890aSEmmanuel Vadot		};
44*f126890aSEmmanuel Vadot
45*f126890aSEmmanuel Vadot		mcuram: mcuram@30000000 {
46*f126890aSEmmanuel Vadot			compatible = "shared-dma-pool";
47*f126890aSEmmanuel Vadot			reg = <0x30000000 0x40000>;
48*f126890aSEmmanuel Vadot			no-map;
49*f126890aSEmmanuel Vadot		};
50*f126890aSEmmanuel Vadot
51*f126890aSEmmanuel Vadot		retram: retram@38000000 {
52*f126890aSEmmanuel Vadot			compatible = "shared-dma-pool";
53*f126890aSEmmanuel Vadot			reg = <0x38000000 0x10000>;
54*f126890aSEmmanuel Vadot			no-map;
55*f126890aSEmmanuel Vadot		};
56*f126890aSEmmanuel Vadot	};
57*f126890aSEmmanuel Vadot
58*f126890aSEmmanuel Vadot	vin: regulator-vin {
59*f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
60*f126890aSEmmanuel Vadot		regulator-name = "vin";
61*f126890aSEmmanuel Vadot		regulator-min-microvolt = <5000000>;
62*f126890aSEmmanuel Vadot		regulator-max-microvolt = <5000000>;
63*f126890aSEmmanuel Vadot		regulator-always-on;
64*f126890aSEmmanuel Vadot	};
65*f126890aSEmmanuel Vadot
66*f126890aSEmmanuel Vadot	vddcore: regulator-vddcore {
67*f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
68*f126890aSEmmanuel Vadot		regulator-name = "vddcore";
69*f126890aSEmmanuel Vadot		regulator-min-microvolt = <1200000>;
70*f126890aSEmmanuel Vadot		regulator-max-microvolt = <1200000>;
71*f126890aSEmmanuel Vadot		regulator-always-on;
72*f126890aSEmmanuel Vadot		vin-supply = <&vin>;
73*f126890aSEmmanuel Vadot	};
74*f126890aSEmmanuel Vadot
75*f126890aSEmmanuel Vadot	vdd: regulator-vdd {
76*f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
77*f126890aSEmmanuel Vadot		regulator-name = "vdd";
78*f126890aSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
79*f126890aSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
80*f126890aSEmmanuel Vadot		regulator-always-on;
81*f126890aSEmmanuel Vadot		vin-supply = <&vin>;
82*f126890aSEmmanuel Vadot	};
83*f126890aSEmmanuel Vadot
84*f126890aSEmmanuel Vadot	vddq_ddr: regulator-vddq-ddr {
85*f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
86*f126890aSEmmanuel Vadot		regulator-name = "vddq_ddr";
87*f126890aSEmmanuel Vadot		regulator-min-microvolt = <1350000>;
88*f126890aSEmmanuel Vadot		regulator-max-microvolt = <1350000>;
89*f126890aSEmmanuel Vadot		regulator-always-on;
90*f126890aSEmmanuel Vadot		vin-supply = <&vin>;
91*f126890aSEmmanuel Vadot	};
92*f126890aSEmmanuel Vadot};
93*f126890aSEmmanuel Vadot
94*f126890aSEmmanuel Vadot&dts {
95*f126890aSEmmanuel Vadot	status = "okay";
96*f126890aSEmmanuel Vadot};
97*f126890aSEmmanuel Vadot
98*f126890aSEmmanuel Vadot&fmc {
99*f126890aSEmmanuel Vadot	pinctrl-names = "default", "sleep";
100*f126890aSEmmanuel Vadot	pinctrl-0 = <&fmc_pins_a>;
101*f126890aSEmmanuel Vadot	pinctrl-1 = <&fmc_sleep_pins_a>;
102*f126890aSEmmanuel Vadot	status = "okay";
103*f126890aSEmmanuel Vadot
104*f126890aSEmmanuel Vadot	nand-controller@4,0 {
105*f126890aSEmmanuel Vadot		status = "okay";
106*f126890aSEmmanuel Vadot
107*f126890aSEmmanuel Vadot		nand@0 {
108*f126890aSEmmanuel Vadot			reg = <0>;
109*f126890aSEmmanuel Vadot			nand-on-flash-bbt;
110*f126890aSEmmanuel Vadot			#address-cells = <1>;
111*f126890aSEmmanuel Vadot			#size-cells = <1>;
112*f126890aSEmmanuel Vadot		};
113*f126890aSEmmanuel Vadot	};
114*f126890aSEmmanuel Vadot};
115*f126890aSEmmanuel Vadot
116*f126890aSEmmanuel Vadot&ipcc {
117*f126890aSEmmanuel Vadot	status = "okay";
118*f126890aSEmmanuel Vadot};
119*f126890aSEmmanuel Vadot
120*f126890aSEmmanuel Vadot&iwdg2 {
121*f126890aSEmmanuel Vadot	timeout-sec = <32>;
122*f126890aSEmmanuel Vadot	status = "okay";
123*f126890aSEmmanuel Vadot};
124*f126890aSEmmanuel Vadot
125*f126890aSEmmanuel Vadot&m4_rproc {
126*f126890aSEmmanuel Vadot	memory-region = <&retram>, <&mcuram>, <&mcuram2>, <&vdev0vring0>,
127*f126890aSEmmanuel Vadot			<&vdev0vring1>, <&vdev0buffer>;
128*f126890aSEmmanuel Vadot	mboxes = <&ipcc 0>, <&ipcc 1>, <&ipcc 2>;
129*f126890aSEmmanuel Vadot	mbox-names = "vq0", "vq1", "shutdown";
130*f126890aSEmmanuel Vadot	interrupt-parent = <&exti>;
131*f126890aSEmmanuel Vadot	interrupts = <68 1>;
132*f126890aSEmmanuel Vadot	status = "okay";
133*f126890aSEmmanuel Vadot};
134*f126890aSEmmanuel Vadot
135*f126890aSEmmanuel Vadot&rng1 {
136*f126890aSEmmanuel Vadot	status = "okay";
137*f126890aSEmmanuel Vadot};
138*f126890aSEmmanuel Vadot
139*f126890aSEmmanuel Vadot&rtc {
140*f126890aSEmmanuel Vadot	status = "okay";
141*f126890aSEmmanuel Vadot};
142*f126890aSEmmanuel Vadot
143*f126890aSEmmanuel Vadot&vrefbuf {
144*f126890aSEmmanuel Vadot	regulator-min-microvolt = <2500000>;
145*f126890aSEmmanuel Vadot	regulator-max-microvolt = <2500000>;
146*f126890aSEmmanuel Vadot	vdda-supply = <&vdd>;
147*f126890aSEmmanuel Vadot	status = "okay";
148*f126890aSEmmanuel Vadot};
149