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