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