xref: /freebsd/sys/contrib/device-tree/src/arm/st/ste-dbx5x0.dtsi (revision 8d13bc63c0e1d50bc9e47ac1f26329c999bfecf0)
1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-or-later
2*f126890aSEmmanuel Vadot/*
3*f126890aSEmmanuel Vadot * Copyright 2012 Linaro Ltd
4*f126890aSEmmanuel Vadot */
5*f126890aSEmmanuel Vadot
6*f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h>
7*f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h>
8*f126890aSEmmanuel Vadot#include <dt-bindings/clock/ste-db8500-clkout.h>
9*f126890aSEmmanuel Vadot#include <dt-bindings/reset/stericsson,db8500-prcc-reset.h>
10*f126890aSEmmanuel Vadot#include <dt-bindings/mfd/dbx500-prcmu.h>
11*f126890aSEmmanuel Vadot#include <dt-bindings/arm/ux500_pm_domains.h>
12*f126890aSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
13*f126890aSEmmanuel Vadot#include <dt-bindings/thermal/thermal.h>
14*f126890aSEmmanuel Vadot
15*f126890aSEmmanuel Vadot/ {
16*f126890aSEmmanuel Vadot	#address-cells = <1>;
17*f126890aSEmmanuel Vadot	#size-cells = <1>;
18*f126890aSEmmanuel Vadot
19*f126890aSEmmanuel Vadot	/* This stablilizes the device enumeration */
20*f126890aSEmmanuel Vadot	aliases {
21*f126890aSEmmanuel Vadot		i2c0 = &i2c0;
22*f126890aSEmmanuel Vadot		i2c1 = &i2c1;
23*f126890aSEmmanuel Vadot		i2c2 = &i2c2;
24*f126890aSEmmanuel Vadot		i2c3 = &i2c3;
25*f126890aSEmmanuel Vadot		i2c4 = &i2c4;
26*f126890aSEmmanuel Vadot		spi0 = &spi0;
27*f126890aSEmmanuel Vadot		spi1 = &spi1;
28*f126890aSEmmanuel Vadot		spi2 = &spi2;
29*f126890aSEmmanuel Vadot		spi3 = &spi3;
30*f126890aSEmmanuel Vadot		serial0 = &serial0;
31*f126890aSEmmanuel Vadot		serial1 = &serial1;
32*f126890aSEmmanuel Vadot		serial2 = &serial2;
33*f126890aSEmmanuel Vadot	};
34*f126890aSEmmanuel Vadot
35*f126890aSEmmanuel Vadot	chosen {
36*f126890aSEmmanuel Vadot	};
37*f126890aSEmmanuel Vadot
38*f126890aSEmmanuel Vadot	cpus {
39*f126890aSEmmanuel Vadot		#address-cells = <1>;
40*f126890aSEmmanuel Vadot		#size-cells = <0>;
41*f126890aSEmmanuel Vadot		enable-method = "ste,dbx500-smp";
42*f126890aSEmmanuel Vadot
43*f126890aSEmmanuel Vadot		cpu-map {
44*f126890aSEmmanuel Vadot			cluster0 {
45*f126890aSEmmanuel Vadot				core0 {
46*f126890aSEmmanuel Vadot					cpu = <&CPU0>;
47*f126890aSEmmanuel Vadot				};
48*f126890aSEmmanuel Vadot				core1 {
49*f126890aSEmmanuel Vadot					cpu = <&CPU1>;
50*f126890aSEmmanuel Vadot				};
51*f126890aSEmmanuel Vadot			};
52*f126890aSEmmanuel Vadot		};
53*f126890aSEmmanuel Vadot		CPU0: cpu@300 {
54*f126890aSEmmanuel Vadot			device_type = "cpu";
55*f126890aSEmmanuel Vadot			compatible = "arm,cortex-a9";
56*f126890aSEmmanuel Vadot			reg = <0x300>;
57*f126890aSEmmanuel Vadot			clocks = <&prcmu_clk PRCMU_ARMSS>;
58*f126890aSEmmanuel Vadot			clock-names = "cpu";
59*f126890aSEmmanuel Vadot			clock-latency = <20000>;
60*f126890aSEmmanuel Vadot			#cooling-cells = <2>;
61*f126890aSEmmanuel Vadot		};
62*f126890aSEmmanuel Vadot		CPU1: cpu@301 {
63*f126890aSEmmanuel Vadot			device_type = "cpu";
64*f126890aSEmmanuel Vadot			compatible = "arm,cortex-a9";
65*f126890aSEmmanuel Vadot			reg = <0x301>;
66*f126890aSEmmanuel Vadot		};
67*f126890aSEmmanuel Vadot	};
68*f126890aSEmmanuel Vadot
69*f126890aSEmmanuel Vadot	thermal-zones {
70*f126890aSEmmanuel Vadot		/*
71*f126890aSEmmanuel Vadot		 * Thermal zone for the SoC, using the thermal sensor in the
72*f126890aSEmmanuel Vadot		 * PRCMU for temperature and the cpufreq driver for passive
73*f126890aSEmmanuel Vadot		 * cooling.
74*f126890aSEmmanuel Vadot		 */
75*f126890aSEmmanuel Vadot		cpu_thermal: cpu-thermal {
76*f126890aSEmmanuel Vadot			polling-delay-passive = <250>;
77*f126890aSEmmanuel Vadot			/*
78*f126890aSEmmanuel Vadot			 * This sensor fires interrupts to update the thermal
79*f126890aSEmmanuel Vadot			 * zone, so no polling is needed.
80*f126890aSEmmanuel Vadot			 */
81*f126890aSEmmanuel Vadot			polling-delay = <0>;
82*f126890aSEmmanuel Vadot
83*f126890aSEmmanuel Vadot			thermal-sensors = <&thermal>;
84*f126890aSEmmanuel Vadot
85*f126890aSEmmanuel Vadot			trips {
86*f126890aSEmmanuel Vadot				cpu_alert: cpu-alert {
87*f126890aSEmmanuel Vadot					temperature = <70000>;
88*f126890aSEmmanuel Vadot					hysteresis = <2000>;
89*f126890aSEmmanuel Vadot					type = "passive";
90*f126890aSEmmanuel Vadot				};
91*f126890aSEmmanuel Vadot				cpu-crit {
92*f126890aSEmmanuel Vadot					temperature = <85000>;
93*f126890aSEmmanuel Vadot					hysteresis = <0>;
94*f126890aSEmmanuel Vadot					type = "critical";
95*f126890aSEmmanuel Vadot				};
96*f126890aSEmmanuel Vadot			};
97*f126890aSEmmanuel Vadot
98*f126890aSEmmanuel Vadot			cooling-maps {
99*f126890aSEmmanuel Vadot				trip = <&cpu_alert>;
100*f126890aSEmmanuel Vadot				cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
101*f126890aSEmmanuel Vadot				contribution = <100>;
102*f126890aSEmmanuel Vadot			};
103*f126890aSEmmanuel Vadot		};
104*f126890aSEmmanuel Vadot	};
105*f126890aSEmmanuel Vadot
106*f126890aSEmmanuel Vadot	soc {
107*f126890aSEmmanuel Vadot		#address-cells = <1>;
108*f126890aSEmmanuel Vadot		#size-cells = <1>;
109*f126890aSEmmanuel Vadot		compatible = "stericsson,db8500", "simple-bus";
110*f126890aSEmmanuel Vadot		interrupt-parent = <&intc>;
111*f126890aSEmmanuel Vadot		ranges;
112*f126890aSEmmanuel Vadot
113*f126890aSEmmanuel Vadot		/*
114*f126890aSEmmanuel Vadot		 * 640KB ESRAM (embedded static random access memory), divided
115*f126890aSEmmanuel Vadot		 * into 5 banks of 128 KB each. This is a fast memory usually
116*f126890aSEmmanuel Vadot		 * used by different accelerators. We group these according to
117*f126890aSEmmanuel Vadot		 * their power domains: ESRAM0 (always on) ESRAM 1+2 and
118*f126890aSEmmanuel Vadot		 * ESRAM 3+4.
119*f126890aSEmmanuel Vadot		 */
120*f126890aSEmmanuel Vadot		sram@40000000 {
121*f126890aSEmmanuel Vadot			/* The first (always on) ESRAM 0, 128 KB */
122*f126890aSEmmanuel Vadot			compatible = "mmio-sram";
123*f126890aSEmmanuel Vadot			reg = <0x40000000 0x20000>;
124*f126890aSEmmanuel Vadot			#address-cells = <1>;
125*f126890aSEmmanuel Vadot			#size-cells = <1>;
126*f126890aSEmmanuel Vadot			ranges = <0 0x40000000 0x20000>;
127*f126890aSEmmanuel Vadot
128*f126890aSEmmanuel Vadot			sram@0 {
129*f126890aSEmmanuel Vadot				compatible = "stericsson,u8500-esram";
130*f126890aSEmmanuel Vadot				reg = <0x0 0x10000>;
131*f126890aSEmmanuel Vadot				pool;
132*f126890aSEmmanuel Vadot			};
133*f126890aSEmmanuel Vadot			lcpa: sram@10000 {
134*f126890aSEmmanuel Vadot				/*
135*f126890aSEmmanuel Vadot				 * This eSRAM is used by the DMA40 DMA controller
136*f126890aSEmmanuel Vadot				 * for Logical Channel Paramers (LCP), the address
137*f126890aSEmmanuel Vadot				 * where these parameters are stored is called "LCPA".
138*f126890aSEmmanuel Vadot				 * This is addressed directly by the driver so no
139*f126890aSEmmanuel Vadot				 * pool is used.
140*f126890aSEmmanuel Vadot				 */
141*f126890aSEmmanuel Vadot				compatible = "stericsson,u8500-esram";
142*f126890aSEmmanuel Vadot				label = "DMA40-LCPA";
143*f126890aSEmmanuel Vadot				reg = <0x10000 0x800>;
144*f126890aSEmmanuel Vadot			};
145*f126890aSEmmanuel Vadot			sram@10800 {
146*f126890aSEmmanuel Vadot				compatible = "stericsson,u8500-esram";
147*f126890aSEmmanuel Vadot				reg = <0x10800 0xf800>;
148*f126890aSEmmanuel Vadot				pool;
149*f126890aSEmmanuel Vadot			};
150*f126890aSEmmanuel Vadot		};
151*f126890aSEmmanuel Vadot		sram@40020000 {
152*f126890aSEmmanuel Vadot			/* ESRAM 1+2, 256 KB */
153*f126890aSEmmanuel Vadot			compatible = "mmio-sram";
154*f126890aSEmmanuel Vadot			reg = <0x40020000 0x40000>;
155*f126890aSEmmanuel Vadot			#address-cells = <1>;
156*f126890aSEmmanuel Vadot			#size-cells = <1>;
157*f126890aSEmmanuel Vadot			ranges = <0 0x40020000 0x40000>;
158*f126890aSEmmanuel Vadot		};
159*f126890aSEmmanuel Vadot		sram@40060000 {
160*f126890aSEmmanuel Vadot			/* ESRAM 3+4, 256 KB */
161*f126890aSEmmanuel Vadot			compatible = "mmio-sram";
162*f126890aSEmmanuel Vadot			reg = <0x40060000 0x40000>;
163*f126890aSEmmanuel Vadot			#address-cells = <1>;
164*f126890aSEmmanuel Vadot			#size-cells = <1>;
165*f126890aSEmmanuel Vadot			ranges = <0 0x40060000 0x40000>;
166*f126890aSEmmanuel Vadot
167*f126890aSEmmanuel Vadot			lcla: sram@20000 {
168*f126890aSEmmanuel Vadot				/*
169*f126890aSEmmanuel Vadot				 * This eSRAM is used by the DMA40 DMA controller
170*f126890aSEmmanuel Vadot				 * for Logical Channel Logical Addresses (LCLA), the address
171*f126890aSEmmanuel Vadot				 * where these parameters are stored is called "LCLA".
172*f126890aSEmmanuel Vadot				 * This is addressed directly by the driver so no
173*f126890aSEmmanuel Vadot				 * pool is used.
174*f126890aSEmmanuel Vadot				 */
175*f126890aSEmmanuel Vadot				compatible = "stericsson,u8500-esram";
176*f126890aSEmmanuel Vadot				label = "DMA40-LCLA";
177*f126890aSEmmanuel Vadot				reg = <0x20000 0x2000>;
178*f126890aSEmmanuel Vadot			};
179*f126890aSEmmanuel Vadot		};
180*f126890aSEmmanuel Vadot
181*f126890aSEmmanuel Vadot		ptm@801ae000 {
182*f126890aSEmmanuel Vadot			compatible = "arm,coresight-etm3x", "arm,primecell";
183*f126890aSEmmanuel Vadot			reg = <0x801ae000 0x1000>;
184*f126890aSEmmanuel Vadot
185*f126890aSEmmanuel Vadot			clocks = <&prcmu_clk PRCMU_APETRACECLK>, <&prcmu_clk PRCMU_APEATCLK>;
186*f126890aSEmmanuel Vadot			clock-names = "apb_pclk", "atclk";
187*f126890aSEmmanuel Vadot			cpu = <&CPU0>;
188*f126890aSEmmanuel Vadot			out-ports {
189*f126890aSEmmanuel Vadot				port {
190*f126890aSEmmanuel Vadot					ptm0_out_port: endpoint {
191*f126890aSEmmanuel Vadot						remote-endpoint = <&funnel_in_port0>;
192*f126890aSEmmanuel Vadot					};
193*f126890aSEmmanuel Vadot				};
194*f126890aSEmmanuel Vadot			};
195*f126890aSEmmanuel Vadot		};
196*f126890aSEmmanuel Vadot
197*f126890aSEmmanuel Vadot		ptm@801af000 {
198*f126890aSEmmanuel Vadot			compatible = "arm,coresight-etm3x", "arm,primecell";
199*f126890aSEmmanuel Vadot			reg = <0x801af000 0x1000>;
200*f126890aSEmmanuel Vadot
201*f126890aSEmmanuel Vadot			clocks = <&prcmu_clk PRCMU_APETRACECLK>, <&prcmu_clk PRCMU_APEATCLK>;
202*f126890aSEmmanuel Vadot			clock-names = "apb_pclk", "atclk";
203*f126890aSEmmanuel Vadot			cpu = <&CPU1>;
204*f126890aSEmmanuel Vadot			out-ports {
205*f126890aSEmmanuel Vadot				port {
206*f126890aSEmmanuel Vadot					ptm1_out_port: endpoint {
207*f126890aSEmmanuel Vadot						remote-endpoint = <&funnel_in_port1>;
208*f126890aSEmmanuel Vadot					};
209*f126890aSEmmanuel Vadot				};
210*f126890aSEmmanuel Vadot			};
211*f126890aSEmmanuel Vadot		};
212*f126890aSEmmanuel Vadot
213*f126890aSEmmanuel Vadot		funnel@801a6000 {
214*f126890aSEmmanuel Vadot			compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
215*f126890aSEmmanuel Vadot			reg = <0x801a6000 0x1000>;
216*f126890aSEmmanuel Vadot
217*f126890aSEmmanuel Vadot			clocks = <&prcmu_clk PRCMU_APETRACECLK>, <&prcmu_clk PRCMU_APEATCLK>;
218*f126890aSEmmanuel Vadot			clock-names = "apb_pclk", "atclk";
219*f126890aSEmmanuel Vadot			out-ports {
220*f126890aSEmmanuel Vadot				port {
221*f126890aSEmmanuel Vadot					funnel_out_port: endpoint {
222*f126890aSEmmanuel Vadot						remote-endpoint =
223*f126890aSEmmanuel Vadot							<&replicator_in_port0>;
224*f126890aSEmmanuel Vadot					};
225*f126890aSEmmanuel Vadot				};
226*f126890aSEmmanuel Vadot			};
227*f126890aSEmmanuel Vadot
228*f126890aSEmmanuel Vadot			in-ports {
229*f126890aSEmmanuel Vadot				#address-cells = <1>;
230*f126890aSEmmanuel Vadot				#size-cells = <0>;
231*f126890aSEmmanuel Vadot
232*f126890aSEmmanuel Vadot				port@0 {
233*f126890aSEmmanuel Vadot					reg = <0>;
234*f126890aSEmmanuel Vadot					funnel_in_port0: endpoint {
235*f126890aSEmmanuel Vadot						remote-endpoint = <&ptm0_out_port>;
236*f126890aSEmmanuel Vadot					};
237*f126890aSEmmanuel Vadot				};
238*f126890aSEmmanuel Vadot
239*f126890aSEmmanuel Vadot				port@1 {
240*f126890aSEmmanuel Vadot					reg = <1>;
241*f126890aSEmmanuel Vadot					funnel_in_port1: endpoint {
242*f126890aSEmmanuel Vadot						remote-endpoint = <&ptm1_out_port>;
243*f126890aSEmmanuel Vadot					};
244*f126890aSEmmanuel Vadot				};
245*f126890aSEmmanuel Vadot			};
246*f126890aSEmmanuel Vadot		};
247*f126890aSEmmanuel Vadot
248*f126890aSEmmanuel Vadot		replicator {
249*f126890aSEmmanuel Vadot			compatible = "arm,coresight-static-replicator";
250*f126890aSEmmanuel Vadot			clocks = <&prcmu_clk PRCMU_APEATCLK>;
251*f126890aSEmmanuel Vadot			clock-names = "atclk";
252*f126890aSEmmanuel Vadot
253*f126890aSEmmanuel Vadot			out-ports {
254*f126890aSEmmanuel Vadot				#address-cells = <1>;
255*f126890aSEmmanuel Vadot				#size-cells = <0>;
256*f126890aSEmmanuel Vadot
257*f126890aSEmmanuel Vadot				port@0 {
258*f126890aSEmmanuel Vadot					reg = <0>;
259*f126890aSEmmanuel Vadot					replicator_out_port0: endpoint {
260*f126890aSEmmanuel Vadot						remote-endpoint = <&tpiu_in_port>;
261*f126890aSEmmanuel Vadot					};
262*f126890aSEmmanuel Vadot				};
263*f126890aSEmmanuel Vadot				port@1 {
264*f126890aSEmmanuel Vadot					reg = <1>;
265*f126890aSEmmanuel Vadot					replicator_out_port1: endpoint {
266*f126890aSEmmanuel Vadot						remote-endpoint = <&etb_in_port>;
267*f126890aSEmmanuel Vadot					};
268*f126890aSEmmanuel Vadot				};
269*f126890aSEmmanuel Vadot			};
270*f126890aSEmmanuel Vadot
271*f126890aSEmmanuel Vadot			in-ports {
272*f126890aSEmmanuel Vadot				port {
273*f126890aSEmmanuel Vadot					replicator_in_port0: endpoint {
274*f126890aSEmmanuel Vadot						remote-endpoint = <&funnel_out_port>;
275*f126890aSEmmanuel Vadot					};
276*f126890aSEmmanuel Vadot				};
277*f126890aSEmmanuel Vadot			};
278*f126890aSEmmanuel Vadot		};
279*f126890aSEmmanuel Vadot
280*f126890aSEmmanuel Vadot		tpiu@80190000 {
281*f126890aSEmmanuel Vadot			compatible = "arm,coresight-tpiu", "arm,primecell";
282*f126890aSEmmanuel Vadot			reg = <0x80190000 0x1000>;
283*f126890aSEmmanuel Vadot
284*f126890aSEmmanuel Vadot			clocks = <&prcmu_clk PRCMU_APETRACECLK>, <&prcmu_clk PRCMU_APEATCLK>;
285*f126890aSEmmanuel Vadot			clock-names = "apb_pclk", "atclk";
286*f126890aSEmmanuel Vadot			in-ports {
287*f126890aSEmmanuel Vadot				port {
288*f126890aSEmmanuel Vadot					tpiu_in_port: endpoint {
289*f126890aSEmmanuel Vadot						remote-endpoint = <&replicator_out_port0>;
290*f126890aSEmmanuel Vadot					};
291*f126890aSEmmanuel Vadot				};
292*f126890aSEmmanuel Vadot			};
293*f126890aSEmmanuel Vadot		};
294*f126890aSEmmanuel Vadot
295*f126890aSEmmanuel Vadot		etb@801a4000 {
296*f126890aSEmmanuel Vadot			compatible = "arm,coresight-etb10", "arm,primecell";
297*f126890aSEmmanuel Vadot			reg = <0x801a4000 0x1000>;
298*f126890aSEmmanuel Vadot
299*f126890aSEmmanuel Vadot			clocks = <&prcmu_clk PRCMU_APETRACECLK>, <&prcmu_clk PRCMU_APEATCLK>;
300*f126890aSEmmanuel Vadot			clock-names = "apb_pclk", "atclk";
301*f126890aSEmmanuel Vadot			in-ports {
302*f126890aSEmmanuel Vadot				port {
303*f126890aSEmmanuel Vadot					etb_in_port: endpoint {
304*f126890aSEmmanuel Vadot						remote-endpoint = <&replicator_out_port1>;
305*f126890aSEmmanuel Vadot					};
306*f126890aSEmmanuel Vadot				};
307*f126890aSEmmanuel Vadot			};
308*f126890aSEmmanuel Vadot		};
309*f126890aSEmmanuel Vadot
310*f126890aSEmmanuel Vadot		intc: interrupt-controller@a0411000 {
311*f126890aSEmmanuel Vadot			compatible = "arm,cortex-a9-gic";
312*f126890aSEmmanuel Vadot			#interrupt-cells = <3>;
313*f126890aSEmmanuel Vadot			#address-cells = <1>;
314*f126890aSEmmanuel Vadot			interrupt-controller;
315*f126890aSEmmanuel Vadot			reg = <0xa0411000 0x1000>,
316*f126890aSEmmanuel Vadot			      <0xa0410100 0x100>;
317*f126890aSEmmanuel Vadot		};
318*f126890aSEmmanuel Vadot
319*f126890aSEmmanuel Vadot		scu@a0410000 {
320*f126890aSEmmanuel Vadot			compatible = "arm,cortex-a9-scu";
321*f126890aSEmmanuel Vadot			reg = <0xa0410000 0x100>;
322*f126890aSEmmanuel Vadot		};
323*f126890aSEmmanuel Vadot
324*f126890aSEmmanuel Vadot		/*
325*f126890aSEmmanuel Vadot		 * The backup RAM is used for retention during sleep
326*f126890aSEmmanuel Vadot		 * and various things like spin tables
327*f126890aSEmmanuel Vadot		 */
328*f126890aSEmmanuel Vadot		backupram@80150000 {
329*f126890aSEmmanuel Vadot			compatible = "ste,dbx500-backupram";
330*f126890aSEmmanuel Vadot			reg = <0x80150000 0x2000>;
331*f126890aSEmmanuel Vadot		};
332*f126890aSEmmanuel Vadot
333*f126890aSEmmanuel Vadot		L2: cache-controller {
334*f126890aSEmmanuel Vadot			compatible = "arm,pl310-cache";
335*f126890aSEmmanuel Vadot			reg = <0xa0412000 0x1000>;
336*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
337*f126890aSEmmanuel Vadot			cache-unified;
338*f126890aSEmmanuel Vadot			cache-level = <2>;
339*f126890aSEmmanuel Vadot		};
340*f126890aSEmmanuel Vadot
341*f126890aSEmmanuel Vadot		pmu {
342*f126890aSEmmanuel Vadot			compatible = "arm,cortex-a9-pmu";
343*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
344*f126890aSEmmanuel Vadot		};
345*f126890aSEmmanuel Vadot
346*f126890aSEmmanuel Vadot		pm_domains: pm_domains0 {
347*f126890aSEmmanuel Vadot			compatible = "stericsson,ux500-pm-domains";
348*f126890aSEmmanuel Vadot			#power-domain-cells = <1>;
349*f126890aSEmmanuel Vadot		};
350*f126890aSEmmanuel Vadot
351*f126890aSEmmanuel Vadot		clocks {
352*f126890aSEmmanuel Vadot			compatible = "stericsson,u8500-clks";
353*f126890aSEmmanuel Vadot			/*
354*f126890aSEmmanuel Vadot			 * Registers for the CLKRST block on peripheral
355*f126890aSEmmanuel Vadot			 * groups 1, 2, 3, 5, 6,
356*f126890aSEmmanuel Vadot			 */
357*f126890aSEmmanuel Vadot			reg = <0x8012f000 0x1000>, <0x8011f000 0x1000>,
358*f126890aSEmmanuel Vadot			    <0x8000f000 0x1000>, <0xa03ff000 0x1000>,
359*f126890aSEmmanuel Vadot			    <0xa03cf000 0x1000>;
360*f126890aSEmmanuel Vadot
361*f126890aSEmmanuel Vadot			prcmu_clk: prcmu-clock {
362*f126890aSEmmanuel Vadot				#clock-cells = <1>;
363*f126890aSEmmanuel Vadot			};
364*f126890aSEmmanuel Vadot
365*f126890aSEmmanuel Vadot			prcc_pclk: prcc-periph-clock {
366*f126890aSEmmanuel Vadot				#clock-cells = <2>;
367*f126890aSEmmanuel Vadot			};
368*f126890aSEmmanuel Vadot
369*f126890aSEmmanuel Vadot			prcc_kclk: prcc-kernel-clock {
370*f126890aSEmmanuel Vadot				#clock-cells = <2>;
371*f126890aSEmmanuel Vadot			};
372*f126890aSEmmanuel Vadot
373*f126890aSEmmanuel Vadot			prcc_reset: prcc-reset-controller {
374*f126890aSEmmanuel Vadot				#reset-cells = <2>;
375*f126890aSEmmanuel Vadot			};
376*f126890aSEmmanuel Vadot
377*f126890aSEmmanuel Vadot			rtc_clk: rtc32k-clock {
378*f126890aSEmmanuel Vadot				#clock-cells = <0>;
379*f126890aSEmmanuel Vadot			};
380*f126890aSEmmanuel Vadot
381*f126890aSEmmanuel Vadot			smp_twd_clk: smp-twd-clock {
382*f126890aSEmmanuel Vadot				#clock-cells = <0>;
383*f126890aSEmmanuel Vadot			};
384*f126890aSEmmanuel Vadot
385*f126890aSEmmanuel Vadot			clkout_clk: clkout-clock {
386*f126890aSEmmanuel Vadot				/* Cell 1 id, cell 2 source, cell 3 div */
387*f126890aSEmmanuel Vadot				#clock-cells = <3>;
388*f126890aSEmmanuel Vadot			};
389*f126890aSEmmanuel Vadot		};
390*f126890aSEmmanuel Vadot
391*f126890aSEmmanuel Vadot		mtu@a03c6000 {
392*f126890aSEmmanuel Vadot			/* Nomadik System Timer */
393*f126890aSEmmanuel Vadot			compatible = "st,nomadik-mtu";
394*f126890aSEmmanuel Vadot			reg = <0xa03c6000 0x1000>;
395*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
396*f126890aSEmmanuel Vadot
397*f126890aSEmmanuel Vadot			clocks = <&prcmu_clk PRCMU_TIMCLK>, <&prcc_pclk 6 6>;
398*f126890aSEmmanuel Vadot			clock-names = "timclk", "apb_pclk";
399*f126890aSEmmanuel Vadot		};
400*f126890aSEmmanuel Vadot
401*f126890aSEmmanuel Vadot		timer@a0410600 {
402*f126890aSEmmanuel Vadot			compatible = "arm,cortex-a9-twd-timer";
403*f126890aSEmmanuel Vadot			reg = <0xa0410600 0x20>;
404*f126890aSEmmanuel Vadot			interrupts = <GIC_PPI 13 (GIC_CPU_MASK_RAW(3) | IRQ_TYPE_LEVEL_HIGH)>;
405*f126890aSEmmanuel Vadot
406*f126890aSEmmanuel Vadot			clocks = <&smp_twd_clk>;
407*f126890aSEmmanuel Vadot		};
408*f126890aSEmmanuel Vadot
409*f126890aSEmmanuel Vadot		watchdog@a0410620 {
410*f126890aSEmmanuel Vadot			compatible = "arm,cortex-a9-twd-wdt";
411*f126890aSEmmanuel Vadot			reg = <0xa0410620 0x20>;
412*f126890aSEmmanuel Vadot			interrupts = <GIC_PPI 14 (GIC_CPU_MASK_RAW(3) | IRQ_TYPE_LEVEL_HIGH)>;
413*f126890aSEmmanuel Vadot			clocks = <&smp_twd_clk>;
414*f126890aSEmmanuel Vadot		};
415*f126890aSEmmanuel Vadot
416*f126890aSEmmanuel Vadot		rtc@80154000 {
417*f126890aSEmmanuel Vadot			compatible = "arm,pl031", "arm,primecell";
418*f126890aSEmmanuel Vadot			reg = <0x80154000 0x1000>;
419*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
420*f126890aSEmmanuel Vadot
421*f126890aSEmmanuel Vadot			clocks = <&rtc_clk>;
422*f126890aSEmmanuel Vadot			clock-names = "apb_pclk";
423*f126890aSEmmanuel Vadot		};
424*f126890aSEmmanuel Vadot
425*f126890aSEmmanuel Vadot		gpio0: gpio@8012e000 {
426*f126890aSEmmanuel Vadot			compatible = "stericsson,db8500-gpio",
427*f126890aSEmmanuel Vadot				"st,nomadik-gpio";
428*f126890aSEmmanuel Vadot			reg = <0x8012e000 0x80>;
429*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
430*f126890aSEmmanuel Vadot			interrupt-controller;
431*f126890aSEmmanuel Vadot			#interrupt-cells = <2>;
432*f126890aSEmmanuel Vadot			st,supports-sleepmode;
433*f126890aSEmmanuel Vadot			gpio-controller;
434*f126890aSEmmanuel Vadot			#gpio-cells = <2>;
435*f126890aSEmmanuel Vadot			gpio-bank = <0>;
436*f126890aSEmmanuel Vadot			gpio-ranges = <&pinctrl 0 0 32>;
437*f126890aSEmmanuel Vadot			clocks = <&prcc_pclk 1 9>;
438*f126890aSEmmanuel Vadot		};
439*f126890aSEmmanuel Vadot
440*f126890aSEmmanuel Vadot		gpio1: gpio@8012e080 {
441*f126890aSEmmanuel Vadot			compatible = "stericsson,db8500-gpio",
442*f126890aSEmmanuel Vadot				"st,nomadik-gpio";
443*f126890aSEmmanuel Vadot			reg = <0x8012e080 0x80>;
444*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
445*f126890aSEmmanuel Vadot			interrupt-controller;
446*f126890aSEmmanuel Vadot			#interrupt-cells = <2>;
447*f126890aSEmmanuel Vadot			st,supports-sleepmode;
448*f126890aSEmmanuel Vadot			gpio-controller;
449*f126890aSEmmanuel Vadot			#gpio-cells = <2>;
450*f126890aSEmmanuel Vadot			gpio-bank = <1>;
451*f126890aSEmmanuel Vadot			gpio-ranges = <&pinctrl 0 32 5>;
452*f126890aSEmmanuel Vadot			clocks = <&prcc_pclk 1 9>;
453*f126890aSEmmanuel Vadot		};
454*f126890aSEmmanuel Vadot
455*f126890aSEmmanuel Vadot		gpio2: gpio@8000e000 {
456*f126890aSEmmanuel Vadot			compatible = "stericsson,db8500-gpio",
457*f126890aSEmmanuel Vadot				"st,nomadik-gpio";
458*f126890aSEmmanuel Vadot			reg = <0x8000e000 0x80>;
459*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
460*f126890aSEmmanuel Vadot			interrupt-controller;
461*f126890aSEmmanuel Vadot			#interrupt-cells = <2>;
462*f126890aSEmmanuel Vadot			st,supports-sleepmode;
463*f126890aSEmmanuel Vadot			gpio-controller;
464*f126890aSEmmanuel Vadot			#gpio-cells = <2>;
465*f126890aSEmmanuel Vadot			gpio-bank = <2>;
466*f126890aSEmmanuel Vadot			gpio-ranges = <&pinctrl 0 64 32>;
467*f126890aSEmmanuel Vadot			clocks = <&prcc_pclk 3 8>;
468*f126890aSEmmanuel Vadot		};
469*f126890aSEmmanuel Vadot
470*f126890aSEmmanuel Vadot		gpio3: gpio@8000e080 {
471*f126890aSEmmanuel Vadot			compatible = "stericsson,db8500-gpio",
472*f126890aSEmmanuel Vadot				"st,nomadik-gpio";
473*f126890aSEmmanuel Vadot			reg = <0x8000e080 0x80>;
474*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
475*f126890aSEmmanuel Vadot			interrupt-controller;
476*f126890aSEmmanuel Vadot			#interrupt-cells = <2>;
477*f126890aSEmmanuel Vadot			st,supports-sleepmode;
478*f126890aSEmmanuel Vadot			gpio-controller;
479*f126890aSEmmanuel Vadot			#gpio-cells = <2>;
480*f126890aSEmmanuel Vadot			gpio-bank = <3>;
481*f126890aSEmmanuel Vadot			gpio-ranges = <&pinctrl 0 96 2>;
482*f126890aSEmmanuel Vadot			clocks = <&prcc_pclk 3 8>;
483*f126890aSEmmanuel Vadot		};
484*f126890aSEmmanuel Vadot
485*f126890aSEmmanuel Vadot		gpio4: gpio@8000e100 {
486*f126890aSEmmanuel Vadot			compatible = "stericsson,db8500-gpio",
487*f126890aSEmmanuel Vadot				"st,nomadik-gpio";
488*f126890aSEmmanuel Vadot			reg = <0x8000e100 0x80>;
489*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
490*f126890aSEmmanuel Vadot			interrupt-controller;
491*f126890aSEmmanuel Vadot			#interrupt-cells = <2>;
492*f126890aSEmmanuel Vadot			st,supports-sleepmode;
493*f126890aSEmmanuel Vadot			gpio-controller;
494*f126890aSEmmanuel Vadot			#gpio-cells = <2>;
495*f126890aSEmmanuel Vadot			gpio-bank = <4>;
496*f126890aSEmmanuel Vadot			gpio-ranges = <&pinctrl 0 128 32>;
497*f126890aSEmmanuel Vadot			clocks = <&prcc_pclk 3 8>;
498*f126890aSEmmanuel Vadot		};
499*f126890aSEmmanuel Vadot
500*f126890aSEmmanuel Vadot		gpio5: gpio@8000e180 {
501*f126890aSEmmanuel Vadot			compatible = "stericsson,db8500-gpio",
502*f126890aSEmmanuel Vadot				"st,nomadik-gpio";
503*f126890aSEmmanuel Vadot			reg = <0x8000e180 0x80>;
504*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>;
505*f126890aSEmmanuel Vadot			interrupt-controller;
506*f126890aSEmmanuel Vadot			#interrupt-cells = <2>;
507*f126890aSEmmanuel Vadot			st,supports-sleepmode;
508*f126890aSEmmanuel Vadot			gpio-controller;
509*f126890aSEmmanuel Vadot			#gpio-cells = <2>;
510*f126890aSEmmanuel Vadot			gpio-bank = <5>;
511*f126890aSEmmanuel Vadot			gpio-ranges = <&pinctrl 0 160 12>;
512*f126890aSEmmanuel Vadot			clocks = <&prcc_pclk 3 8>;
513*f126890aSEmmanuel Vadot		};
514*f126890aSEmmanuel Vadot
515*f126890aSEmmanuel Vadot		gpio6: gpio@8011e000 {
516*f126890aSEmmanuel Vadot			compatible = "stericsson,db8500-gpio",
517*f126890aSEmmanuel Vadot				"st,nomadik-gpio";
518*f126890aSEmmanuel Vadot			reg = <0x8011e000 0x80>;
519*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
520*f126890aSEmmanuel Vadot			interrupt-controller;
521*f126890aSEmmanuel Vadot			#interrupt-cells = <2>;
522*f126890aSEmmanuel Vadot			st,supports-sleepmode;
523*f126890aSEmmanuel Vadot			gpio-controller;
524*f126890aSEmmanuel Vadot			#gpio-cells = <2>;
525*f126890aSEmmanuel Vadot			gpio-bank = <6>;
526*f126890aSEmmanuel Vadot			gpio-ranges = <&pinctrl 0 192 32>;
527*f126890aSEmmanuel Vadot			clocks = <&prcc_pclk 2 11>;
528*f126890aSEmmanuel Vadot		};
529*f126890aSEmmanuel Vadot
530*f126890aSEmmanuel Vadot		gpio7: gpio@8011e080 {
531*f126890aSEmmanuel Vadot			compatible = "stericsson,db8500-gpio",
532*f126890aSEmmanuel Vadot				"st,nomadik-gpio";
533*f126890aSEmmanuel Vadot			reg = <0x8011e080 0x80>;
534*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>;
535*f126890aSEmmanuel Vadot			interrupt-controller;
536*f126890aSEmmanuel Vadot			#interrupt-cells = <2>;
537*f126890aSEmmanuel Vadot			st,supports-sleepmode;
538*f126890aSEmmanuel Vadot			gpio-controller;
539*f126890aSEmmanuel Vadot			#gpio-cells = <2>;
540*f126890aSEmmanuel Vadot			gpio-bank = <7>;
541*f126890aSEmmanuel Vadot			gpio-ranges = <&pinctrl 0 224 7>;
542*f126890aSEmmanuel Vadot			clocks = <&prcc_pclk 2 11>;
543*f126890aSEmmanuel Vadot		};
544*f126890aSEmmanuel Vadot
545*f126890aSEmmanuel Vadot		gpio8: gpio@a03fe000 {
546*f126890aSEmmanuel Vadot			compatible = "stericsson,db8500-gpio",
547*f126890aSEmmanuel Vadot				"st,nomadik-gpio";
548*f126890aSEmmanuel Vadot			reg = <0xa03fe000 0x80>;
549*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
550*f126890aSEmmanuel Vadot			interrupt-controller;
551*f126890aSEmmanuel Vadot			#interrupt-cells = <2>;
552*f126890aSEmmanuel Vadot			st,supports-sleepmode;
553*f126890aSEmmanuel Vadot			gpio-controller;
554*f126890aSEmmanuel Vadot			#gpio-cells = <2>;
555*f126890aSEmmanuel Vadot			gpio-bank = <8>;
556*f126890aSEmmanuel Vadot			gpio-ranges = <&pinctrl 0 256 12>;
557*f126890aSEmmanuel Vadot			clocks = <&prcc_pclk 5 1>;
558*f126890aSEmmanuel Vadot		};
559*f126890aSEmmanuel Vadot
560*f126890aSEmmanuel Vadot		pinctrl: pinctrl {
561*f126890aSEmmanuel Vadot			compatible = "stericsson,db8500-pinctrl";
562*f126890aSEmmanuel Vadot			nomadik-gpio-chips = <&gpio0>, <&gpio1>, <&gpio2>, <&gpio3>,
563*f126890aSEmmanuel Vadot						<&gpio4>, <&gpio5>, <&gpio6>, <&gpio7>,
564*f126890aSEmmanuel Vadot						<&gpio8>;
565*f126890aSEmmanuel Vadot			prcm = <&prcmu>;
566*f126890aSEmmanuel Vadot		};
567*f126890aSEmmanuel Vadot
568*f126890aSEmmanuel Vadot		usb_per5@a03e0000 {
569*f126890aSEmmanuel Vadot			compatible = "stericsson,db8500-musb";
570*f126890aSEmmanuel Vadot			reg = <0xa03e0000 0x10000>;
571*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
572*f126890aSEmmanuel Vadot			interrupt-names = "mc";
573*f126890aSEmmanuel Vadot
574*f126890aSEmmanuel Vadot			dr_mode = "otg";
575*f126890aSEmmanuel Vadot
576*f126890aSEmmanuel Vadot			dmas = <&dma 38 0 0x2>, /* Logical - DevToMem */
577*f126890aSEmmanuel Vadot			       <&dma 38 0 0x0>, /* Logical - MemToDev */
578*f126890aSEmmanuel Vadot			       <&dma 37 0 0x2>, /* Logical - DevToMem */
579*f126890aSEmmanuel Vadot			       <&dma 37 0 0x0>, /* Logical - MemToDev */
580*f126890aSEmmanuel Vadot			       <&dma 36 0 0x2>, /* Logical - DevToMem */
581*f126890aSEmmanuel Vadot			       <&dma 36 0 0x0>, /* Logical - MemToDev */
582*f126890aSEmmanuel Vadot			       <&dma 19 0 0x2>, /* Logical - DevToMem */
583*f126890aSEmmanuel Vadot			       <&dma 19 0 0x0>, /* Logical - MemToDev */
584*f126890aSEmmanuel Vadot			       <&dma 18 0 0x2>, /* Logical - DevToMem */
585*f126890aSEmmanuel Vadot			       <&dma 18 0 0x0>, /* Logical - MemToDev */
586*f126890aSEmmanuel Vadot			       <&dma 17 0 0x2>, /* Logical - DevToMem */
587*f126890aSEmmanuel Vadot			       <&dma 17 0 0x0>, /* Logical - MemToDev */
588*f126890aSEmmanuel Vadot			       <&dma 16 0 0x2>, /* Logical - DevToMem */
589*f126890aSEmmanuel Vadot			       <&dma 16 0 0x0>, /* Logical - MemToDev */
590*f126890aSEmmanuel Vadot			       <&dma 39 0 0x2>, /* Logical - DevToMem */
591*f126890aSEmmanuel Vadot			       <&dma 39 0 0x0>; /* Logical - MemToDev */
592*f126890aSEmmanuel Vadot
593*f126890aSEmmanuel Vadot			dma-names = "iep_1_9",  "oep_1_9",
594*f126890aSEmmanuel Vadot				    "iep_2_10", "oep_2_10",
595*f126890aSEmmanuel Vadot				    "iep_3_11", "oep_3_11",
596*f126890aSEmmanuel Vadot				    "iep_4_12", "oep_4_12",
597*f126890aSEmmanuel Vadot				    "iep_5_13", "oep_5_13",
598*f126890aSEmmanuel Vadot				    "iep_6_14", "oep_6_14",
599*f126890aSEmmanuel Vadot				    "iep_7_15", "oep_7_15",
600*f126890aSEmmanuel Vadot				    "iep_8",    "oep_8";
601*f126890aSEmmanuel Vadot
602*f126890aSEmmanuel Vadot			clocks = <&prcc_pclk 5 0>;
603*f126890aSEmmanuel Vadot		};
604*f126890aSEmmanuel Vadot
605*f126890aSEmmanuel Vadot		dma: dma-controller@801C0000 {
606*f126890aSEmmanuel Vadot			compatible = "stericsson,db8500-dma40", "stericsson,dma40";
607*f126890aSEmmanuel Vadot			reg = <0x801C0000 0x1000>;
608*f126890aSEmmanuel Vadot			reg-names = "base";
609*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
610*f126890aSEmmanuel Vadot			sram = <&lcpa>, <&lcla>;
611*f126890aSEmmanuel Vadot
612*f126890aSEmmanuel Vadot			#dma-cells = <3>;
613*f126890aSEmmanuel Vadot			memcpy-channels = <56 57 58 59 60>;
614*f126890aSEmmanuel Vadot
615*f126890aSEmmanuel Vadot			clocks = <&prcmu_clk PRCMU_DMACLK>;
616*f126890aSEmmanuel Vadot		};
617*f126890aSEmmanuel Vadot
618*f126890aSEmmanuel Vadot		prcmu: prcmu@80157000 {
619*f126890aSEmmanuel Vadot			compatible = "stericsson,db8500-prcmu", "syscon";
620*f126890aSEmmanuel Vadot			reg = <0x80157000 0x2000>, <0x801b0000 0x8000>, <0x801b8000 0x1000>;
621*f126890aSEmmanuel Vadot			reg-names = "prcmu", "prcmu-tcpm", "prcmu-tcdm";
622*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
623*f126890aSEmmanuel Vadot			#address-cells = <1>;
624*f126890aSEmmanuel Vadot			#size-cells = <1>;
625*f126890aSEmmanuel Vadot			interrupt-controller;
626*f126890aSEmmanuel Vadot			#interrupt-cells = <2>;
627*f126890aSEmmanuel Vadot			ranges;
628*f126890aSEmmanuel Vadot
629*f126890aSEmmanuel Vadot			prcmu-timer-4@80157450 {
630*f126890aSEmmanuel Vadot				compatible = "stericsson,db8500-prcmu-timer-4";
631*f126890aSEmmanuel Vadot				reg = <0x80157450 0xC>;
632*f126890aSEmmanuel Vadot			};
633*f126890aSEmmanuel Vadot
634*f126890aSEmmanuel Vadot			thermal: thermal@801573c0 {
635*f126890aSEmmanuel Vadot				compatible = "stericsson,db8500-thermal";
636*f126890aSEmmanuel Vadot				reg = <0x801573c0 0x40>;
637*f126890aSEmmanuel Vadot				interrupt-parent = <&prcmu>;
638*f126890aSEmmanuel Vadot				interrupts = <21 IRQ_TYPE_LEVEL_HIGH>,
639*f126890aSEmmanuel Vadot					     <22 IRQ_TYPE_LEVEL_HIGH>;
640*f126890aSEmmanuel Vadot				interrupt-names = "IRQ_HOTMON_LOW", "IRQ_HOTMON_HIGH";
641*f126890aSEmmanuel Vadot				#thermal-sensor-cells = <0>;
642*f126890aSEmmanuel Vadot			};
643*f126890aSEmmanuel Vadot
644*f126890aSEmmanuel Vadot			db8500-prcmu-regulators {
645*f126890aSEmmanuel Vadot				compatible = "stericsson,db8500-prcmu-regulator";
646*f126890aSEmmanuel Vadot
647*f126890aSEmmanuel Vadot				// DB8500_REGULATOR_VAPE
648*f126890aSEmmanuel Vadot				db8500_vape_reg: db8500_vape {
649*f126890aSEmmanuel Vadot					regulator-always-on;
650*f126890aSEmmanuel Vadot				};
651*f126890aSEmmanuel Vadot
652*f126890aSEmmanuel Vadot				// DB8500_REGULATOR_VARM
653*f126890aSEmmanuel Vadot				db8500_varm_reg: db8500_varm {
654*f126890aSEmmanuel Vadot				};
655*f126890aSEmmanuel Vadot
656*f126890aSEmmanuel Vadot				// DB8500_REGULATOR_VMODEM
657*f126890aSEmmanuel Vadot				db8500_vmodem_reg: db8500_vmodem {
658*f126890aSEmmanuel Vadot				};
659*f126890aSEmmanuel Vadot
660*f126890aSEmmanuel Vadot				// DB8500_REGULATOR_VPLL
661*f126890aSEmmanuel Vadot				db8500_vpll_reg: db8500_vpll {
662*f126890aSEmmanuel Vadot				};
663*f126890aSEmmanuel Vadot
664*f126890aSEmmanuel Vadot				// DB8500_REGULATOR_VSMPS1
665*f126890aSEmmanuel Vadot				db8500_vsmps1_reg: db8500_vsmps1 {
666*f126890aSEmmanuel Vadot				};
667*f126890aSEmmanuel Vadot
668*f126890aSEmmanuel Vadot				// DB8500_REGULATOR_VSMPS2
669*f126890aSEmmanuel Vadot				db8500_vsmps2_reg: db8500_vsmps2 {
670*f126890aSEmmanuel Vadot				};
671*f126890aSEmmanuel Vadot
672*f126890aSEmmanuel Vadot				// DB8500_REGULATOR_VSMPS3
673*f126890aSEmmanuel Vadot				db8500_vsmps3_reg: db8500_vsmps3 {
674*f126890aSEmmanuel Vadot				};
675*f126890aSEmmanuel Vadot
676*f126890aSEmmanuel Vadot				// DB8500_REGULATOR_VRF1
677*f126890aSEmmanuel Vadot				db8500_vrf1_reg: db8500_vrf1 {
678*f126890aSEmmanuel Vadot				};
679*f126890aSEmmanuel Vadot
680*f126890aSEmmanuel Vadot				// DB8500_REGULATOR_SWITCH_SVAMMDSP
681*f126890aSEmmanuel Vadot				db8500_sva_mmdsp_reg: db8500_sva_mmdsp {
682*f126890aSEmmanuel Vadot				};
683*f126890aSEmmanuel Vadot
684*f126890aSEmmanuel Vadot				// DB8500_REGULATOR_SWITCH_SVAMMDSPRET
685*f126890aSEmmanuel Vadot				db8500_sva_mmdsp_ret_reg: db8500_sva_mmdsp_ret {
686*f126890aSEmmanuel Vadot				};
687*f126890aSEmmanuel Vadot
688*f126890aSEmmanuel Vadot				// DB8500_REGULATOR_SWITCH_SVAPIPE
689*f126890aSEmmanuel Vadot				db8500_sva_pipe_reg: db8500_sva_pipe {
690*f126890aSEmmanuel Vadot				};
691*f126890aSEmmanuel Vadot
692*f126890aSEmmanuel Vadot				// DB8500_REGULATOR_SWITCH_SIAMMDSP
693*f126890aSEmmanuel Vadot				db8500_sia_mmdsp_reg: db8500_sia_mmdsp {
694*f126890aSEmmanuel Vadot				};
695*f126890aSEmmanuel Vadot
696*f126890aSEmmanuel Vadot				// DB8500_REGULATOR_SWITCH_SIAMMDSPRET
697*f126890aSEmmanuel Vadot				db8500_sia_mmdsp_ret_reg: db8500_sia_mmdsp_ret {
698*f126890aSEmmanuel Vadot				};
699*f126890aSEmmanuel Vadot
700*f126890aSEmmanuel Vadot				// DB8500_REGULATOR_SWITCH_SIAPIPE
701*f126890aSEmmanuel Vadot				db8500_sia_pipe_reg: db8500_sia_pipe {
702*f126890aSEmmanuel Vadot				};
703*f126890aSEmmanuel Vadot
704*f126890aSEmmanuel Vadot				// DB8500_REGULATOR_SWITCH_SGA
705*f126890aSEmmanuel Vadot				db8500_sga_reg: db8500_sga {
706*f126890aSEmmanuel Vadot					vin-supply = <&db8500_vape_reg>;
707*f126890aSEmmanuel Vadot				};
708*f126890aSEmmanuel Vadot
709*f126890aSEmmanuel Vadot				// DB8500_REGULATOR_SWITCH_B2R2_MCDE
710*f126890aSEmmanuel Vadot				db8500_b2r2_mcde_reg: db8500_b2r2_mcde {
711*f126890aSEmmanuel Vadot					vin-supply = <&db8500_vape_reg>;
712*f126890aSEmmanuel Vadot				};
713*f126890aSEmmanuel Vadot
714*f126890aSEmmanuel Vadot				// DB8500_REGULATOR_SWITCH_ESRAM12
715*f126890aSEmmanuel Vadot				db8500_esram12_reg: db8500_esram12 {
716*f126890aSEmmanuel Vadot				};
717*f126890aSEmmanuel Vadot
718*f126890aSEmmanuel Vadot				// DB8500_REGULATOR_SWITCH_ESRAM12RET
719*f126890aSEmmanuel Vadot				db8500_esram12_ret_reg: db8500_esram12_ret {
720*f126890aSEmmanuel Vadot				};
721*f126890aSEmmanuel Vadot
722*f126890aSEmmanuel Vadot				// DB8500_REGULATOR_SWITCH_ESRAM34
723*f126890aSEmmanuel Vadot				db8500_esram34_reg: db8500_esram34 {
724*f126890aSEmmanuel Vadot				};
725*f126890aSEmmanuel Vadot
726*f126890aSEmmanuel Vadot				// DB8500_REGULATOR_SWITCH_ESRAM34RET
727*f126890aSEmmanuel Vadot				db8500_esram34_ret_reg: db8500_esram34_ret {
728*f126890aSEmmanuel Vadot				};
729*f126890aSEmmanuel Vadot			};
730*f126890aSEmmanuel Vadot		};
731*f126890aSEmmanuel Vadot
732*f126890aSEmmanuel Vadot		i2c0: i2c@80004000 {
733*f126890aSEmmanuel Vadot			compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
734*f126890aSEmmanuel Vadot			reg = <0x80004000 0x1000>;
735*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
736*f126890aSEmmanuel Vadot
737*f126890aSEmmanuel Vadot			#address-cells = <1>;
738*f126890aSEmmanuel Vadot			#size-cells = <0>;
739*f126890aSEmmanuel Vadot
740*f126890aSEmmanuel Vadot			clock-frequency = <400000>;
741*f126890aSEmmanuel Vadot			clocks = <&prcc_kclk 3 3>, <&prcc_pclk 3 3>;
742*f126890aSEmmanuel Vadot			clock-names = "i2cclk", "apb_pclk";
743*f126890aSEmmanuel Vadot			power-domains = <&pm_domains DOMAIN_VAPE>;
744*f126890aSEmmanuel Vadot			resets = <&prcc_reset DB8500_PRCC_3 DB8500_PRCC_3_RESET_I2C0>;
745*f126890aSEmmanuel Vadot
746*f126890aSEmmanuel Vadot			status = "disabled";
747*f126890aSEmmanuel Vadot		};
748*f126890aSEmmanuel Vadot
749*f126890aSEmmanuel Vadot		i2c1: i2c@80122000 {
750*f126890aSEmmanuel Vadot			compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
751*f126890aSEmmanuel Vadot			reg = <0x80122000 0x1000>;
752*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
753*f126890aSEmmanuel Vadot
754*f126890aSEmmanuel Vadot			#address-cells = <1>;
755*f126890aSEmmanuel Vadot			#size-cells = <0>;
756*f126890aSEmmanuel Vadot
757*f126890aSEmmanuel Vadot			clock-frequency = <400000>;
758*f126890aSEmmanuel Vadot
759*f126890aSEmmanuel Vadot			clocks = <&prcc_kclk 1 2>, <&prcc_pclk 1 2>;
760*f126890aSEmmanuel Vadot			clock-names = "i2cclk", "apb_pclk";
761*f126890aSEmmanuel Vadot			power-domains = <&pm_domains DOMAIN_VAPE>;
762*f126890aSEmmanuel Vadot			resets = <&prcc_reset DB8500_PRCC_1 DB8500_PRCC_1_RESET_I2C1>;
763*f126890aSEmmanuel Vadot
764*f126890aSEmmanuel Vadot			status = "disabled";
765*f126890aSEmmanuel Vadot		};
766*f126890aSEmmanuel Vadot
767*f126890aSEmmanuel Vadot		i2c2: i2c@80128000 {
768*f126890aSEmmanuel Vadot			compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
769*f126890aSEmmanuel Vadot			reg = <0x80128000 0x1000>;
770*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
771*f126890aSEmmanuel Vadot
772*f126890aSEmmanuel Vadot			#address-cells = <1>;
773*f126890aSEmmanuel Vadot			#size-cells = <0>;
774*f126890aSEmmanuel Vadot
775*f126890aSEmmanuel Vadot			clock-frequency = <400000>;
776*f126890aSEmmanuel Vadot
777*f126890aSEmmanuel Vadot			clocks = <&prcc_kclk 1 6>, <&prcc_pclk 1 6>;
778*f126890aSEmmanuel Vadot			clock-names = "i2cclk", "apb_pclk";
779*f126890aSEmmanuel Vadot			power-domains = <&pm_domains DOMAIN_VAPE>;
780*f126890aSEmmanuel Vadot			resets = <&prcc_reset DB8500_PRCC_1 DB8500_PRCC_1_RESET_I2C2>;
781*f126890aSEmmanuel Vadot
782*f126890aSEmmanuel Vadot			status = "disabled";
783*f126890aSEmmanuel Vadot		};
784*f126890aSEmmanuel Vadot
785*f126890aSEmmanuel Vadot		i2c3: i2c@80110000 {
786*f126890aSEmmanuel Vadot			compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
787*f126890aSEmmanuel Vadot			reg = <0x80110000 0x1000>;
788*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
789*f126890aSEmmanuel Vadot
790*f126890aSEmmanuel Vadot			#address-cells = <1>;
791*f126890aSEmmanuel Vadot			#size-cells = <0>;
792*f126890aSEmmanuel Vadot
793*f126890aSEmmanuel Vadot			clock-frequency = <400000>;
794*f126890aSEmmanuel Vadot
795*f126890aSEmmanuel Vadot			clocks = <&prcc_kclk 2 0>, <&prcc_pclk 2 0>;
796*f126890aSEmmanuel Vadot			clock-names = "i2cclk", "apb_pclk";
797*f126890aSEmmanuel Vadot			power-domains = <&pm_domains DOMAIN_VAPE>;
798*f126890aSEmmanuel Vadot			resets = <&prcc_reset DB8500_PRCC_2 DB8500_PRCC_2_RESET_I2C3>;
799*f126890aSEmmanuel Vadot
800*f126890aSEmmanuel Vadot			status = "disabled";
801*f126890aSEmmanuel Vadot		};
802*f126890aSEmmanuel Vadot
803*f126890aSEmmanuel Vadot		i2c4: i2c@8012a000 {
804*f126890aSEmmanuel Vadot			compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
805*f126890aSEmmanuel Vadot			reg = <0x8012a000 0x1000>;
806*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
807*f126890aSEmmanuel Vadot
808*f126890aSEmmanuel Vadot			#address-cells = <1>;
809*f126890aSEmmanuel Vadot			#size-cells = <0>;
810*f126890aSEmmanuel Vadot
811*f126890aSEmmanuel Vadot			clock-frequency = <400000>;
812*f126890aSEmmanuel Vadot
813*f126890aSEmmanuel Vadot			clocks = <&prcc_kclk 1 9>, <&prcc_pclk 1 10>;
814*f126890aSEmmanuel Vadot			clock-names = "i2cclk", "apb_pclk";
815*f126890aSEmmanuel Vadot			power-domains = <&pm_domains DOMAIN_VAPE>;
816*f126890aSEmmanuel Vadot			resets = <&prcc_reset DB8500_PRCC_1 DB8500_PRCC_1_RESET_I2C4>;
817*f126890aSEmmanuel Vadot
818*f126890aSEmmanuel Vadot			status = "disabled";
819*f126890aSEmmanuel Vadot		};
820*f126890aSEmmanuel Vadot
821*f126890aSEmmanuel Vadot		ssp0: spi@80002000 {
822*f126890aSEmmanuel Vadot			compatible = "arm,pl022", "arm,primecell";
823*f126890aSEmmanuel Vadot			reg = <0x80002000 0x1000>;
824*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
825*f126890aSEmmanuel Vadot			#address-cells = <1>;
826*f126890aSEmmanuel Vadot			#size-cells = <0>;
827*f126890aSEmmanuel Vadot			clocks = <&prcc_kclk 3 1>, <&prcc_pclk 3 1>;
828*f126890aSEmmanuel Vadot			clock-names = "sspclk", "apb_pclk";
829*f126890aSEmmanuel Vadot			dmas = <&dma 8 0 0x2>, /* Logical - DevToMem */
830*f126890aSEmmanuel Vadot			       <&dma 8 0 0x0>; /* Logical - MemToDev */
831*f126890aSEmmanuel Vadot			dma-names = "rx", "tx";
832*f126890aSEmmanuel Vadot			power-domains = <&pm_domains DOMAIN_VAPE>;
833*f126890aSEmmanuel Vadot			resets = <&prcc_reset DB8500_PRCC_3 DB8500_PRCC_3_RESET_SSP0>;
834*f126890aSEmmanuel Vadot
835*f126890aSEmmanuel Vadot			status = "disabled";
836*f126890aSEmmanuel Vadot		};
837*f126890aSEmmanuel Vadot
838*f126890aSEmmanuel Vadot		ssp1: spi@80003000 {
839*f126890aSEmmanuel Vadot			compatible = "arm,pl022", "arm,primecell";
840*f126890aSEmmanuel Vadot			reg = <0x80003000 0x1000>;
841*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
842*f126890aSEmmanuel Vadot			#address-cells = <1>;
843*f126890aSEmmanuel Vadot			#size-cells = <0>;
844*f126890aSEmmanuel Vadot			clocks = <&prcc_kclk 3 2>, <&prcc_pclk 3 2>;
845*f126890aSEmmanuel Vadot			clock-names = "sspclk", "apb_pclk";
846*f126890aSEmmanuel Vadot			dmas = <&dma 9 0 0x2>, /* Logical - DevToMem */
847*f126890aSEmmanuel Vadot			       <&dma 9 0 0x0>; /* Logical - MemToDev */
848*f126890aSEmmanuel Vadot			dma-names = "rx", "tx";
849*f126890aSEmmanuel Vadot			power-domains = <&pm_domains DOMAIN_VAPE>;
850*f126890aSEmmanuel Vadot			resets = <&prcc_reset DB8500_PRCC_3 DB8500_PRCC_3_RESET_SSP1>;
851*f126890aSEmmanuel Vadot
852*f126890aSEmmanuel Vadot			status = "disabled";
853*f126890aSEmmanuel Vadot		};
854*f126890aSEmmanuel Vadot
855*f126890aSEmmanuel Vadot		spi0: spi@8011a000 {
856*f126890aSEmmanuel Vadot			compatible = "arm,pl022", "arm,primecell";
857*f126890aSEmmanuel Vadot			reg = <0x8011a000 0x1000>;
858*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
859*f126890aSEmmanuel Vadot			#address-cells = <1>;
860*f126890aSEmmanuel Vadot			#size-cells = <0>;
861*f126890aSEmmanuel Vadot			/* Same clock wired to kernel and pclk */
862*f126890aSEmmanuel Vadot			clocks = <&prcc_pclk 2 8>, <&prcc_pclk 2 8>;
863*f126890aSEmmanuel Vadot			clock-names = "sspclk", "apb_pclk";
864*f126890aSEmmanuel Vadot			dmas = <&dma 0 0 0x2>, /* Logical - DevToMem */
865*f126890aSEmmanuel Vadot			       <&dma 0 0 0x0>; /* Logical - MemToDev */
866*f126890aSEmmanuel Vadot			dma-names = "rx", "tx";
867*f126890aSEmmanuel Vadot			power-domains = <&pm_domains DOMAIN_VAPE>;
868*f126890aSEmmanuel Vadot
869*f126890aSEmmanuel Vadot			status = "disabled";
870*f126890aSEmmanuel Vadot		};
871*f126890aSEmmanuel Vadot
872*f126890aSEmmanuel Vadot		spi1: spi@80112000 {
873*f126890aSEmmanuel Vadot			compatible = "arm,pl022", "arm,primecell";
874*f126890aSEmmanuel Vadot			reg = <0x80112000 0x1000>;
875*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
876*f126890aSEmmanuel Vadot			#address-cells = <1>;
877*f126890aSEmmanuel Vadot			#size-cells = <0>;
878*f126890aSEmmanuel Vadot			/* Same clock wired to kernel and pclk */
879*f126890aSEmmanuel Vadot			clocks = <&prcc_pclk 2 2>, <&prcc_pclk 2 2>;
880*f126890aSEmmanuel Vadot			clock-names = "sspclk", "apb_pclk";
881*f126890aSEmmanuel Vadot			dmas = <&dma 35 0 0x2>, /* Logical - DevToMem */
882*f126890aSEmmanuel Vadot			       <&dma 35 0 0x0>; /* Logical - MemToDev */
883*f126890aSEmmanuel Vadot			dma-names = "rx", "tx";
884*f126890aSEmmanuel Vadot			power-domains = <&pm_domains DOMAIN_VAPE>;
885*f126890aSEmmanuel Vadot
886*f126890aSEmmanuel Vadot			status = "disabled";
887*f126890aSEmmanuel Vadot		};
888*f126890aSEmmanuel Vadot
889*f126890aSEmmanuel Vadot		spi2: spi@80111000 {
890*f126890aSEmmanuel Vadot			compatible = "arm,pl022", "arm,primecell";
891*f126890aSEmmanuel Vadot			reg = <0x80111000 0x1000>;
892*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
893*f126890aSEmmanuel Vadot			#address-cells = <1>;
894*f126890aSEmmanuel Vadot			#size-cells = <0>;
895*f126890aSEmmanuel Vadot			/* Same clock wired to kernel and pclk */
896*f126890aSEmmanuel Vadot			clocks = <&prcc_pclk 2 1>, <&prcc_pclk 2 1>;
897*f126890aSEmmanuel Vadot			clock-names = "sspclk", "apb_pclk";
898*f126890aSEmmanuel Vadot			dmas = <&dma 33 0 0x2>, /* Logical - DevToMem */
899*f126890aSEmmanuel Vadot			       <&dma 33 0 0x0>; /* Logical - MemToDev */
900*f126890aSEmmanuel Vadot			dma-names = "rx", "tx";
901*f126890aSEmmanuel Vadot			power-domains = <&pm_domains DOMAIN_VAPE>;
902*f126890aSEmmanuel Vadot
903*f126890aSEmmanuel Vadot			status = "disabled";
904*f126890aSEmmanuel Vadot		};
905*f126890aSEmmanuel Vadot
906*f126890aSEmmanuel Vadot		spi3: spi@80129000 {
907*f126890aSEmmanuel Vadot			compatible = "arm,pl022", "arm,primecell";
908*f126890aSEmmanuel Vadot			reg = <0x80129000 0x1000>;
909*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
910*f126890aSEmmanuel Vadot			#address-cells = <1>;
911*f126890aSEmmanuel Vadot			#size-cells = <0>;
912*f126890aSEmmanuel Vadot			/* Same clock wired to kernel and pclk */
913*f126890aSEmmanuel Vadot			clocks = <&prcc_pclk 1 7>, <&prcc_pclk 1 7>;
914*f126890aSEmmanuel Vadot			clock-names = "sspclk", "apb_pclk";
915*f126890aSEmmanuel Vadot			dmas = <&dma 40 0 0x2>, /* Logical - DevToMem */
916*f126890aSEmmanuel Vadot			       <&dma 40 0 0x0>; /* Logical - MemToDev */
917*f126890aSEmmanuel Vadot			dma-names = "rx", "tx";
918*f126890aSEmmanuel Vadot			power-domains = <&pm_domains DOMAIN_VAPE>;
919*f126890aSEmmanuel Vadot			resets = <&prcc_reset DB8500_PRCC_1 DB8500_PRCC_1_RESET_SPI3>;
920*f126890aSEmmanuel Vadot
921*f126890aSEmmanuel Vadot			status = "disabled";
922*f126890aSEmmanuel Vadot		};
923*f126890aSEmmanuel Vadot
924*f126890aSEmmanuel Vadot		serial0: serial@80120000 {
925*f126890aSEmmanuel Vadot			compatible = "arm,pl011", "arm,primecell";
926*f126890aSEmmanuel Vadot			reg = <0x80120000 0x1000>;
927*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
928*f126890aSEmmanuel Vadot
929*f126890aSEmmanuel Vadot			dmas = <&dma 13 0 0x2>, /* Logical - DevToMem */
930*f126890aSEmmanuel Vadot			       <&dma 13 0 0x0>; /* Logical - MemToDev */
931*f126890aSEmmanuel Vadot			dma-names = "rx", "tx";
932*f126890aSEmmanuel Vadot
933*f126890aSEmmanuel Vadot			clocks = <&prcc_kclk 1 0>, <&prcc_pclk 1 0>;
934*f126890aSEmmanuel Vadot			clock-names = "uart", "apb_pclk";
935*f126890aSEmmanuel Vadot			resets = <&prcc_reset DB8500_PRCC_1 DB8500_PRCC_1_RESET_UART0>;
936*f126890aSEmmanuel Vadot
937*f126890aSEmmanuel Vadot			status = "disabled";
938*f126890aSEmmanuel Vadot		};
939*f126890aSEmmanuel Vadot
940*f126890aSEmmanuel Vadot		serial1: serial@80121000 {
941*f126890aSEmmanuel Vadot			compatible = "arm,pl011", "arm,primecell";
942*f126890aSEmmanuel Vadot			reg = <0x80121000 0x1000>;
943*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
944*f126890aSEmmanuel Vadot
945*f126890aSEmmanuel Vadot			dmas = <&dma 12 0 0x2>, /* Logical - DevToMem */
946*f126890aSEmmanuel Vadot			       <&dma 12 0 0x0>; /* Logical - MemToDev */
947*f126890aSEmmanuel Vadot			dma-names = "rx", "tx";
948*f126890aSEmmanuel Vadot
949*f126890aSEmmanuel Vadot			clocks = <&prcc_kclk 1 1>, <&prcc_pclk 1 1>;
950*f126890aSEmmanuel Vadot			clock-names = "uart", "apb_pclk";
951*f126890aSEmmanuel Vadot			resets = <&prcc_reset DB8500_PRCC_1 DB8500_PRCC_1_RESET_UART1>;
952*f126890aSEmmanuel Vadot
953*f126890aSEmmanuel Vadot			status = "disabled";
954*f126890aSEmmanuel Vadot		};
955*f126890aSEmmanuel Vadot
956*f126890aSEmmanuel Vadot		serial2: serial@80007000 {
957*f126890aSEmmanuel Vadot			compatible = "arm,pl011", "arm,primecell";
958*f126890aSEmmanuel Vadot			reg = <0x80007000 0x1000>;
959*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
960*f126890aSEmmanuel Vadot
961*f126890aSEmmanuel Vadot			dmas = <&dma 11 0 0x2>, /* Logical - DevToMem */
962*f126890aSEmmanuel Vadot			       <&dma 11 0 0x0>; /* Logical - MemToDev */
963*f126890aSEmmanuel Vadot			dma-names = "rx", "tx";
964*f126890aSEmmanuel Vadot
965*f126890aSEmmanuel Vadot			clocks = <&prcc_kclk 3 6>, <&prcc_pclk 3 6>;
966*f126890aSEmmanuel Vadot			clock-names = "uart", "apb_pclk";
967*f126890aSEmmanuel Vadot			resets = <&prcc_reset DB8500_PRCC_3 DB8500_PRCC_3_RESET_UART2>;
968*f126890aSEmmanuel Vadot
969*f126890aSEmmanuel Vadot			status = "disabled";
970*f126890aSEmmanuel Vadot		};
971*f126890aSEmmanuel Vadot
972*f126890aSEmmanuel Vadot		mmc@80126000 {
973*f126890aSEmmanuel Vadot			compatible = "arm,pl18x", "arm,primecell";
974*f126890aSEmmanuel Vadot			reg = <0x80126000 0x1000>;
975*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
976*f126890aSEmmanuel Vadot
977*f126890aSEmmanuel Vadot			dmas = <&dma 29 0 0x2>, /* Logical - DevToMem */
978*f126890aSEmmanuel Vadot			       <&dma 29 0 0x0>; /* Logical - MemToDev */
979*f126890aSEmmanuel Vadot			dma-names = "rx", "tx";
980*f126890aSEmmanuel Vadot
981*f126890aSEmmanuel Vadot			clocks = <&prcc_kclk 1 5>, <&prcc_pclk 1 5>;
982*f126890aSEmmanuel Vadot			clock-names = "sdi", "apb_pclk";
983*f126890aSEmmanuel Vadot			power-domains = <&pm_domains DOMAIN_VAPE>;
984*f126890aSEmmanuel Vadot			resets = <&prcc_reset DB8500_PRCC_1 DB8500_PRCC_1_RESET_SDI0>;
985*f126890aSEmmanuel Vadot
986*f126890aSEmmanuel Vadot			status = "disabled";
987*f126890aSEmmanuel Vadot		};
988*f126890aSEmmanuel Vadot
989*f126890aSEmmanuel Vadot		mmc@80118000 {
990*f126890aSEmmanuel Vadot			compatible = "arm,pl18x", "arm,primecell";
991*f126890aSEmmanuel Vadot			reg = <0x80118000 0x1000>;
992*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
993*f126890aSEmmanuel Vadot
994*f126890aSEmmanuel Vadot			dmas = <&dma 32 0 0x2>, /* Logical - DevToMem */
995*f126890aSEmmanuel Vadot			       <&dma 32 0 0x0>; /* Logical - MemToDev */
996*f126890aSEmmanuel Vadot			dma-names = "rx", "tx";
997*f126890aSEmmanuel Vadot
998*f126890aSEmmanuel Vadot			clocks = <&prcc_kclk 2 4>, <&prcc_pclk 2 6>;
999*f126890aSEmmanuel Vadot			clock-names = "sdi", "apb_pclk";
1000*f126890aSEmmanuel Vadot			power-domains = <&pm_domains DOMAIN_VAPE>;
1001*f126890aSEmmanuel Vadot			resets = <&prcc_reset DB8500_PRCC_2 DB8500_PRCC_2_RESET_SDI1>;
1002*f126890aSEmmanuel Vadot
1003*f126890aSEmmanuel Vadot			status = "disabled";
1004*f126890aSEmmanuel Vadot		};
1005*f126890aSEmmanuel Vadot
1006*f126890aSEmmanuel Vadot		mmc@80005000 {
1007*f126890aSEmmanuel Vadot			compatible = "arm,pl18x", "arm,primecell";
1008*f126890aSEmmanuel Vadot			reg = <0x80005000 0x1000>;
1009*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
1010*f126890aSEmmanuel Vadot
1011*f126890aSEmmanuel Vadot			dmas = <&dma 28 0 0x2>, /* Logical - DevToMem */
1012*f126890aSEmmanuel Vadot			       <&dma 28 0 0x0>; /* Logical - MemToDev */
1013*f126890aSEmmanuel Vadot			dma-names = "rx", "tx";
1014*f126890aSEmmanuel Vadot
1015*f126890aSEmmanuel Vadot			clocks = <&prcc_kclk 3 4>, <&prcc_pclk 3 4>;
1016*f126890aSEmmanuel Vadot			clock-names = "sdi", "apb_pclk";
1017*f126890aSEmmanuel Vadot			power-domains = <&pm_domains DOMAIN_VAPE>;
1018*f126890aSEmmanuel Vadot			resets = <&prcc_reset DB8500_PRCC_3 DB8500_PRCC_3_RESET_SDI2>;
1019*f126890aSEmmanuel Vadot
1020*f126890aSEmmanuel Vadot			status = "disabled";
1021*f126890aSEmmanuel Vadot		};
1022*f126890aSEmmanuel Vadot
1023*f126890aSEmmanuel Vadot		mmc@80119000 {
1024*f126890aSEmmanuel Vadot			compatible = "arm,pl18x", "arm,primecell";
1025*f126890aSEmmanuel Vadot			reg = <0x80119000 0x1000>;
1026*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
1027*f126890aSEmmanuel Vadot
1028*f126890aSEmmanuel Vadot			dmas = <&dma 41 0 0x2>, /* Logical - DevToMem */
1029*f126890aSEmmanuel Vadot			       <&dma 41 0 0x0>; /* Logical - MemToDev */
1030*f126890aSEmmanuel Vadot			dma-names = "rx", "tx";
1031*f126890aSEmmanuel Vadot
1032*f126890aSEmmanuel Vadot			clocks = <&prcc_kclk 2 5>, <&prcc_pclk 2 7>;
1033*f126890aSEmmanuel Vadot			clock-names = "sdi", "apb_pclk";
1034*f126890aSEmmanuel Vadot			power-domains = <&pm_domains DOMAIN_VAPE>;
1035*f126890aSEmmanuel Vadot			resets = <&prcc_reset DB8500_PRCC_2 DB8500_PRCC_2_RESET_SDI3>;
1036*f126890aSEmmanuel Vadot
1037*f126890aSEmmanuel Vadot			status = "disabled";
1038*f126890aSEmmanuel Vadot		};
1039*f126890aSEmmanuel Vadot
1040*f126890aSEmmanuel Vadot		mmc@80114000 {
1041*f126890aSEmmanuel Vadot			compatible = "arm,pl18x", "arm,primecell";
1042*f126890aSEmmanuel Vadot			reg = <0x80114000 0x1000>;
1043*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
1044*f126890aSEmmanuel Vadot
1045*f126890aSEmmanuel Vadot			dmas = <&dma 42 0 0x2>, /* Logical - DevToMem */
1046*f126890aSEmmanuel Vadot			       <&dma 42 0 0x0>; /* Logical - MemToDev */
1047*f126890aSEmmanuel Vadot			dma-names = "rx", "tx";
1048*f126890aSEmmanuel Vadot
1049*f126890aSEmmanuel Vadot			clocks = <&prcc_kclk 2 2>, <&prcc_pclk 2 4>;
1050*f126890aSEmmanuel Vadot			clock-names = "sdi", "apb_pclk";
1051*f126890aSEmmanuel Vadot			power-domains = <&pm_domains DOMAIN_VAPE>;
1052*f126890aSEmmanuel Vadot			resets = <&prcc_reset DB8500_PRCC_2 DB8500_PRCC_2_RESET_SDI4>;
1053*f126890aSEmmanuel Vadot
1054*f126890aSEmmanuel Vadot			status = "disabled";
1055*f126890aSEmmanuel Vadot		};
1056*f126890aSEmmanuel Vadot
1057*f126890aSEmmanuel Vadot		mmc@80008000 {
1058*f126890aSEmmanuel Vadot			compatible = "arm,pl18x", "arm,primecell";
1059*f126890aSEmmanuel Vadot			reg = <0x80008000 0x1000>;
1060*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
1061*f126890aSEmmanuel Vadot
1062*f126890aSEmmanuel Vadot			dmas = <&dma 43 0 0x2>, /* Logical - DevToMem */
1063*f126890aSEmmanuel Vadot			       <&dma 43 0 0x0>; /* Logical - MemToDev */
1064*f126890aSEmmanuel Vadot			dma-names = "rx", "tx";
1065*f126890aSEmmanuel Vadot
1066*f126890aSEmmanuel Vadot			clocks = <&prcc_kclk 3 7>, <&prcc_pclk 3 7>;
1067*f126890aSEmmanuel Vadot			clock-names = "sdi", "apb_pclk";
1068*f126890aSEmmanuel Vadot			power-domains = <&pm_domains DOMAIN_VAPE>;
1069*f126890aSEmmanuel Vadot			resets = <&prcc_reset DB8500_PRCC_3 DB8500_PRCC_3_RESET_SDI5>;
1070*f126890aSEmmanuel Vadot
1071*f126890aSEmmanuel Vadot			status = "disabled";
1072*f126890aSEmmanuel Vadot		};
1073*f126890aSEmmanuel Vadot
1074*f126890aSEmmanuel Vadot		sound {
1075*f126890aSEmmanuel Vadot			compatible = "stericsson,snd-soc-mop500";
1076*f126890aSEmmanuel Vadot			stericsson,cpu-dai = <&msp1 &msp3>;
1077*f126890aSEmmanuel Vadot		};
1078*f126890aSEmmanuel Vadot
1079*f126890aSEmmanuel Vadot		msp0: msp@80123000 {
1080*f126890aSEmmanuel Vadot			compatible = "stericsson,ux500-msp-i2s";
1081*f126890aSEmmanuel Vadot			reg = <0x80123000 0x1000>;
1082*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
1083*f126890aSEmmanuel Vadot			v-ape-supply = <&db8500_vape_reg>;
1084*f126890aSEmmanuel Vadot
1085*f126890aSEmmanuel Vadot			dmas = <&dma 31 0 0x12>, /* Logical - DevToMem - HighPrio */
1086*f126890aSEmmanuel Vadot			       <&dma 31 0 0x10>; /* Logical - MemToDev - HighPrio */
1087*f126890aSEmmanuel Vadot			dma-names = "rx", "tx";
1088*f126890aSEmmanuel Vadot
1089*f126890aSEmmanuel Vadot			clocks = <&prcc_kclk 1 3>, <&prcc_pclk 1 3>;
1090*f126890aSEmmanuel Vadot			clock-names = "msp", "apb_pclk";
1091*f126890aSEmmanuel Vadot			resets = <&prcc_reset DB8500_PRCC_1 DB8500_PRCC_1_RESET_MSP0>;
1092*f126890aSEmmanuel Vadot
1093*f126890aSEmmanuel Vadot			status = "disabled";
1094*f126890aSEmmanuel Vadot		};
1095*f126890aSEmmanuel Vadot
1096*f126890aSEmmanuel Vadot		msp1: msp@80124000 {
1097*f126890aSEmmanuel Vadot			compatible = "stericsson,ux500-msp-i2s";
1098*f126890aSEmmanuel Vadot			reg = <0x80124000 0x1000>;
1099*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
1100*f126890aSEmmanuel Vadot			v-ape-supply = <&db8500_vape_reg>;
1101*f126890aSEmmanuel Vadot
1102*f126890aSEmmanuel Vadot			/* This DMA channel only exist on DB8500 v1 */
1103*f126890aSEmmanuel Vadot			dmas = <&dma 30 0 0x10>; /* Logical - MemToDev - HighPrio */
1104*f126890aSEmmanuel Vadot			dma-names = "tx";
1105*f126890aSEmmanuel Vadot
1106*f126890aSEmmanuel Vadot			clocks = <&prcc_kclk 1 4>, <&prcc_pclk 1 4>;
1107*f126890aSEmmanuel Vadot			clock-names = "msp", "apb_pclk";
1108*f126890aSEmmanuel Vadot			resets = <&prcc_reset DB8500_PRCC_1 DB8500_PRCC_1_RESET_MSP1>;
1109*f126890aSEmmanuel Vadot
1110*f126890aSEmmanuel Vadot			status = "disabled";
1111*f126890aSEmmanuel Vadot		};
1112*f126890aSEmmanuel Vadot
1113*f126890aSEmmanuel Vadot		// HDMI sound
1114*f126890aSEmmanuel Vadot		msp2: msp@80117000 {
1115*f126890aSEmmanuel Vadot			compatible = "stericsson,ux500-msp-i2s";
1116*f126890aSEmmanuel Vadot			reg = <0x80117000 0x1000>;
1117*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
1118*f126890aSEmmanuel Vadot			v-ape-supply = <&db8500_vape_reg>;
1119*f126890aSEmmanuel Vadot
1120*f126890aSEmmanuel Vadot			dmas = <&dma 14 0 0x12>, /* Logical  - DevToMem - HighPrio */
1121*f126890aSEmmanuel Vadot			       <&dma 14 1 0x19>; /* Physical Chan 1 - MemToDev
1122*f126890aSEmmanuel Vadot                                                    HighPrio - Fixed */
1123*f126890aSEmmanuel Vadot			dma-names = "rx", "tx";
1124*f126890aSEmmanuel Vadot
1125*f126890aSEmmanuel Vadot			clocks = <&prcc_kclk 2 3>, <&prcc_pclk 2 5>;
1126*f126890aSEmmanuel Vadot			clock-names = "msp", "apb_pclk";
1127*f126890aSEmmanuel Vadot			resets = <&prcc_reset DB8500_PRCC_2 DB8500_PRCC_2_RESET_MSP2>;
1128*f126890aSEmmanuel Vadot
1129*f126890aSEmmanuel Vadot			status = "disabled";
1130*f126890aSEmmanuel Vadot		};
1131*f126890aSEmmanuel Vadot
1132*f126890aSEmmanuel Vadot		msp3: msp@80125000 {
1133*f126890aSEmmanuel Vadot			compatible = "stericsson,ux500-msp-i2s";
1134*f126890aSEmmanuel Vadot			reg = <0x80125000 0x1000>;
1135*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
1136*f126890aSEmmanuel Vadot			v-ape-supply = <&db8500_vape_reg>;
1137*f126890aSEmmanuel Vadot
1138*f126890aSEmmanuel Vadot			/* This DMA channel only exist on DB8500 v2 */
1139*f126890aSEmmanuel Vadot			dmas = <&dma 30 0 0x12>; /* Logical - DevToMem - HighPrio */
1140*f126890aSEmmanuel Vadot			dma-names = "rx";
1141*f126890aSEmmanuel Vadot
1142*f126890aSEmmanuel Vadot			clocks = <&prcc_kclk 1 10>, <&prcc_pclk 1 11>;
1143*f126890aSEmmanuel Vadot			clock-names = "msp", "apb_pclk";
1144*f126890aSEmmanuel Vadot			resets = <&prcc_reset DB8500_PRCC_1 DB8500_PRCC_1_RESET_MSP3>;
1145*f126890aSEmmanuel Vadot
1146*f126890aSEmmanuel Vadot			status = "disabled";
1147*f126890aSEmmanuel Vadot		};
1148*f126890aSEmmanuel Vadot
1149*f126890aSEmmanuel Vadot		external-bus@50000000 {
1150*f126890aSEmmanuel Vadot			compatible = "simple-bus";
1151*f126890aSEmmanuel Vadot			reg = <0x50000000 0x4000000>;
1152*f126890aSEmmanuel Vadot			#address-cells = <1>;
1153*f126890aSEmmanuel Vadot			#size-cells = <1>;
1154*f126890aSEmmanuel Vadot			ranges = <0 0x50000000 0x4000000>;
1155*f126890aSEmmanuel Vadot			status = "disabled";
1156*f126890aSEmmanuel Vadot		};
1157*f126890aSEmmanuel Vadot
1158*f126890aSEmmanuel Vadot		gpu@a0300000 {
1159*f126890aSEmmanuel Vadot			/*
1160*f126890aSEmmanuel Vadot			 * This block is referred to as "Smart Graphics Adapter SGA500"
1161*f126890aSEmmanuel Vadot			 * in documentation but is in practice a pretty straight-forward
1162*f126890aSEmmanuel Vadot			 * MALI-400 GPU block.
1163*f126890aSEmmanuel Vadot			 */
1164*f126890aSEmmanuel Vadot			compatible = "stericsson,db8500-mali", "arm,mali-400";
1165*f126890aSEmmanuel Vadot			reg = <0xa0300000 0x10000>;
1166*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
1167*f126890aSEmmanuel Vadot				     <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
1168*f126890aSEmmanuel Vadot				     <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
1169*f126890aSEmmanuel Vadot				     <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
1170*f126890aSEmmanuel Vadot				     <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
1171*f126890aSEmmanuel Vadot			interrupt-names = "gp",
1172*f126890aSEmmanuel Vadot					  "gpmmu",
1173*f126890aSEmmanuel Vadot					  "pp0",
1174*f126890aSEmmanuel Vadot					  "ppmmu0",
1175*f126890aSEmmanuel Vadot					  "combined";
1176*f126890aSEmmanuel Vadot			clocks = <&prcmu_clk PRCMU_ACLK>, <&prcmu_clk PRCMU_SGACLK>;
1177*f126890aSEmmanuel Vadot			clock-names = "bus", "core";
1178*f126890aSEmmanuel Vadot			mali-supply = <&db8500_sga_reg>;
1179*f126890aSEmmanuel Vadot			power-domains = <&pm_domains DOMAIN_VAPE>;
1180*f126890aSEmmanuel Vadot		};
1181*f126890aSEmmanuel Vadot
1182*f126890aSEmmanuel Vadot		mcde@a0350000 {
1183*f126890aSEmmanuel Vadot			compatible = "ste,mcde";
1184*f126890aSEmmanuel Vadot			reg = <0xa0350000 0x1000>;
1185*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
1186*f126890aSEmmanuel Vadot			epod-supply = <&db8500_b2r2_mcde_reg>;
1187*f126890aSEmmanuel Vadot			clocks = <&prcmu_clk PRCMU_MCDECLK>, /* Main MCDE clock */
1188*f126890aSEmmanuel Vadot				 <&prcmu_clk PRCMU_LCDCLK>, /* LCD clock */
1189*f126890aSEmmanuel Vadot				 <&prcmu_clk PRCMU_PLLDSI>; /* HDMI clock */
1190*f126890aSEmmanuel Vadot			clock-names = "mcde", "lcd", "hdmi";
1191*f126890aSEmmanuel Vadot			#address-cells = <1>;
1192*f126890aSEmmanuel Vadot			#size-cells = <1>;
1193*f126890aSEmmanuel Vadot			ranges;
1194*f126890aSEmmanuel Vadot			status = "disabled";
1195*f126890aSEmmanuel Vadot
1196*f126890aSEmmanuel Vadot			dsi0: dsi@a0351000 {
1197*f126890aSEmmanuel Vadot				compatible = "ste,mcde-dsi";
1198*f126890aSEmmanuel Vadot				reg = <0xa0351000 0x1000>;
1199*f126890aSEmmanuel Vadot				clocks = <&prcmu_clk PRCMU_DSI0CLK>, <&prcmu_clk PRCMU_DSI0ESCCLK>;
1200*f126890aSEmmanuel Vadot				clock-names = "hs", "lp";
1201*f126890aSEmmanuel Vadot				#address-cells = <1>;
1202*f126890aSEmmanuel Vadot				#size-cells = <0>;
1203*f126890aSEmmanuel Vadot			};
1204*f126890aSEmmanuel Vadot			dsi1: dsi@a0352000 {
1205*f126890aSEmmanuel Vadot				compatible = "ste,mcde-dsi";
1206*f126890aSEmmanuel Vadot				reg = <0xa0352000 0x1000>;
1207*f126890aSEmmanuel Vadot				clocks = <&prcmu_clk PRCMU_DSI1CLK>, <&prcmu_clk PRCMU_DSI1ESCCLK>;
1208*f126890aSEmmanuel Vadot				clock-names = "hs", "lp";
1209*f126890aSEmmanuel Vadot				#address-cells = <1>;
1210*f126890aSEmmanuel Vadot				#size-cells = <0>;
1211*f126890aSEmmanuel Vadot			};
1212*f126890aSEmmanuel Vadot			dsi2: dsi@a0353000 {
1213*f126890aSEmmanuel Vadot				compatible = "ste,mcde-dsi";
1214*f126890aSEmmanuel Vadot				reg = <0xa0353000 0x1000>;
1215*f126890aSEmmanuel Vadot				/* This DSI port only has the Low Power / Energy Save clock */
1216*f126890aSEmmanuel Vadot				clocks = <&prcmu_clk PRCMU_DSI2ESCCLK>;
1217*f126890aSEmmanuel Vadot				clock-names = "lp";
1218*f126890aSEmmanuel Vadot				#address-cells = <1>;
1219*f126890aSEmmanuel Vadot				#size-cells = <0>;
1220*f126890aSEmmanuel Vadot			};
1221*f126890aSEmmanuel Vadot		};
1222*f126890aSEmmanuel Vadot
1223*f126890aSEmmanuel Vadot		cryp@a03cb000 {
1224*f126890aSEmmanuel Vadot			compatible = "stericsson,ux500-cryp";
1225*f126890aSEmmanuel Vadot			reg = <0xa03cb000 0x1000>;
1226*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
1227*f126890aSEmmanuel Vadot			clocks = <&prcc_pclk 6 1>;
1228*f126890aSEmmanuel Vadot			power-domains = <&pm_domains DOMAIN_VAPE>;
1229*f126890aSEmmanuel Vadot		};
1230*f126890aSEmmanuel Vadot
1231*f126890aSEmmanuel Vadot		hash@a03c2000 {
1232*f126890aSEmmanuel Vadot			compatible = "stericsson,ux500-hash";
1233*f126890aSEmmanuel Vadot			reg = <0xa03c2000 0x1000>;
1234*f126890aSEmmanuel Vadot			clocks = <&prcc_pclk 6 2>;
1235*f126890aSEmmanuel Vadot			power-domains = <&pm_domains DOMAIN_VAPE>;
1236*f126890aSEmmanuel Vadot		};
1237*f126890aSEmmanuel Vadot	};
1238*f126890aSEmmanuel Vadot};
1239