1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Samsung Exynos5250 SoC device tree source
4 *
5 * Copyright (c) 2012 Samsung Electronics Co., Ltd.
6 *		http://www.samsung.com
7 *
8 * Samsung Exynos5250 SoC device nodes are listed in this file.
9 * Exynos5250 based board files can include this file and provide
10 * values for board specific bindings.
11 *
12 * Note: This file does not include device nodes for all the controllers in
13 * Exynos5250 SoC. As device tree coverage for Exynos5250 increases,
14 * additional nodes can be added to this file.
15 */
16
17#include <dt-bindings/clock/exynos5250.h>
18#include "exynos5.dtsi"
19#include "exynos4-cpu-thermal.dtsi"
20#include <dt-bindings/clock/exynos-audss-clk.h>
21
22/ {
23	compatible = "samsung,exynos5250", "samsung,exynos5";
24
25	aliases {
26		spi0 = &spi_0;
27		spi1 = &spi_1;
28		spi2 = &spi_2;
29		gsc0 = &gsc_0;
30		gsc1 = &gsc_1;
31		gsc2 = &gsc_2;
32		gsc3 = &gsc_3;
33		i2c4 = &i2c_4;
34		i2c5 = &i2c_5;
35		i2c6 = &i2c_6;
36		i2c7 = &i2c_7;
37		i2c8 = &i2c_8;
38		i2c9 = &i2c_9;
39		pinctrl0 = &pinctrl_0;
40		pinctrl1 = &pinctrl_1;
41		pinctrl2 = &pinctrl_2;
42		pinctrl3 = &pinctrl_3;
43	};
44
45	cpus {
46		#address-cells = <1>;
47		#size-cells = <0>;
48
49		cpu-map {
50			cluster0 {
51				core0 {
52					cpu = <&cpu0>;
53				};
54				core1 {
55					cpu = <&cpu1>;
56				};
57			};
58		};
59
60		cpu0: cpu@0 {
61			device_type = "cpu";
62			compatible = "arm,cortex-a15";
63			reg = <0>;
64			clocks = <&clock CLK_ARM_CLK>;
65			clock-names = "cpu";
66			operating-points-v2 = <&cpu0_opp_table>;
67			#cooling-cells = <2>; /* min followed by max */
68		};
69		cpu1: cpu@1 {
70			device_type = "cpu";
71			compatible = "arm,cortex-a15";
72			reg = <1>;
73			clocks = <&clock CLK_ARM_CLK>;
74			clock-names = "cpu";
75			operating-points-v2 = <&cpu0_opp_table>;
76			#cooling-cells = <2>; /* min followed by max */
77		};
78	};
79
80	cpu0_opp_table: opp-table-0 {
81		compatible = "operating-points-v2";
82		opp-shared;
83
84		opp-200000000 {
85			opp-hz = /bits/ 64 <200000000>;
86			opp-microvolt = <925000>;
87			clock-latency-ns = <140000>;
88		};
89		opp-300000000 {
90			opp-hz = /bits/ 64 <300000000>;
91			opp-microvolt = <937500>;
92			clock-latency-ns = <140000>;
93		};
94		opp-400000000 {
95			opp-hz = /bits/ 64 <400000000>;
96			opp-microvolt = <950000>;
97			clock-latency-ns = <140000>;
98		};
99		opp-500000000 {
100			opp-hz = /bits/ 64 <500000000>;
101			opp-microvolt = <975000>;
102			clock-latency-ns = <140000>;
103		};
104		opp-600000000 {
105			opp-hz = /bits/ 64 <600000000>;
106			opp-microvolt = <1000000>;
107			clock-latency-ns = <140000>;
108		};
109		opp-700000000 {
110			opp-hz = /bits/ 64 <700000000>;
111			opp-microvolt = <1012500>;
112			clock-latency-ns = <140000>;
113		};
114		opp-800000000 {
115			opp-hz = /bits/ 64 <800000000>;
116			opp-microvolt = <1025000>;
117			clock-latency-ns = <140000>;
118		};
119		opp-900000000 {
120			opp-hz = /bits/ 64 <900000000>;
121			opp-microvolt = <1050000>;
122			clock-latency-ns = <140000>;
123		};
124		opp-1000000000 {
125			opp-hz = /bits/ 64 <1000000000>;
126			opp-microvolt = <1075000>;
127			clock-latency-ns = <140000>;
128			opp-suspend;
129		};
130		opp-1100000000 {
131			opp-hz = /bits/ 64 <1100000000>;
132			opp-microvolt = <1100000>;
133			clock-latency-ns = <140000>;
134		};
135		opp-1200000000 {
136			opp-hz = /bits/ 64 <1200000000>;
137			opp-microvolt = <1125000>;
138			clock-latency-ns = <140000>;
139		};
140		opp-1300000000 {
141			opp-hz = /bits/ 64 <1300000000>;
142			opp-microvolt = <1150000>;
143			clock-latency-ns = <140000>;
144		};
145		opp-1400000000 {
146			opp-hz = /bits/ 64 <1400000000>;
147			opp-microvolt = <1200000>;
148			clock-latency-ns = <140000>;
149		};
150		opp-1500000000 {
151			opp-hz = /bits/ 64 <1500000000>;
152			opp-microvolt = <1225000>;
153			clock-latency-ns = <140000>;
154		};
155		opp-1600000000 {
156			opp-hz = /bits/ 64 <1600000000>;
157			opp-microvolt = <1250000>;
158			clock-latency-ns = <140000>;
159		};
160		opp-1700000000 {
161			opp-hz = /bits/ 64 <1700000000>;
162			opp-microvolt = <1300000>;
163			clock-latency-ns = <140000>;
164		};
165	};
166
167	pmu {
168		compatible = "arm,cortex-a15-pmu";
169		interrupt-parent = <&combiner>;
170		interrupts = <1 2>, <22 4>;
171	};
172
173	soc: soc {
174		sram@2020000 {
175			compatible = "mmio-sram";
176			reg = <0x02020000 0x30000>;
177			#address-cells = <1>;
178			#size-cells = <1>;
179			ranges = <0 0x02020000 0x30000>;
180
181			smp-sram@0 {
182				compatible = "samsung,exynos4210-sysram";
183				reg = <0x0 0x1000>;
184			};
185
186			smp-sram@2f000 {
187				compatible = "samsung,exynos4210-sysram-ns";
188				reg = <0x2f000 0x1000>;
189			};
190		};
191
192		pd_gsc: power-domain@10044000 {
193			compatible = "samsung,exynos4210-pd";
194			reg = <0x10044000 0x20>;
195			#power-domain-cells = <0>;
196			label = "GSC";
197		};
198
199		pd_mfc: power-domain@10044040 {
200			compatible = "samsung,exynos4210-pd";
201			reg = <0x10044040 0x20>;
202			#power-domain-cells = <0>;
203			label = "MFC";
204		};
205
206		pd_g3d: power-domain@10044060 {
207			compatible = "samsung,exynos4210-pd";
208			reg = <0x10044060 0x20>;
209			#power-domain-cells = <0>;
210			label = "G3D";
211		};
212
213		pd_disp1: power-domain@100440a0 {
214			compatible = "samsung,exynos4210-pd";
215			reg = <0x100440a0 0x20>;
216			#power-domain-cells = <0>;
217			label = "DISP1";
218		};
219
220		pd_mau: power-domain@100440c0 {
221			compatible = "samsung,exynos4210-pd";
222			reg = <0x100440c0 0x20>;
223			#power-domain-cells = <0>;
224			label = "MAU";
225		};
226
227		clock: clock-controller@10010000 {
228			compatible = "samsung,exynos5250-clock";
229			reg = <0x10010000 0x30000>;
230			#clock-cells = <1>;
231		};
232
233		clock_audss: audss-clock-controller@3810000 {
234			compatible = "samsung,exynos5250-audss-clock";
235			reg = <0x03810000 0x0c>;
236			#clock-cells = <1>;
237			clocks = <&clock CLK_FIN_PLL>, <&clock CLK_FOUT_EPLL>,
238				 <&clock CLK_SCLK_AUDIO0>, <&clock CLK_DIV_PCM0>;
239			clock-names = "pll_ref", "pll_in", "sclk_audio", "sclk_pcm_in";
240			power-domains = <&pd_mau>;
241		};
242
243		timer@101c0000 {
244			compatible = "samsung,exynos5250-mct",
245				     "samsung,exynos4210-mct";
246			reg = <0x101c0000 0x800>;
247			clocks = <&clock CLK_FIN_PLL>, <&clock CLK_MCT>;
248			clock-names = "fin_pll", "mct";
249			interrupts-extended = <&combiner 23 3>,
250					      <&combiner 23 4>,
251					      <&combiner 25 2>,
252					      <&combiner 25 3>,
253					      <&gic GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
254					      <&gic GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
255		};
256
257		pinctrl_0: pinctrl@11400000 {
258			compatible = "samsung,exynos5250-pinctrl";
259			reg = <0x11400000 0x1000>;
260			interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
261
262			wakup_eint: wakeup-interrupt-controller {
263				compatible = "samsung,exynos4210-wakeup-eint";
264				interrupt-parent = <&gic>;
265				interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
266			};
267		};
268
269		pinctrl_1: pinctrl@13400000 {
270			compatible = "samsung,exynos5250-pinctrl";
271			reg = <0x13400000 0x1000>;
272			interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
273		};
274
275		pinctrl_2: pinctrl@10d10000 {
276			compatible = "samsung,exynos5250-pinctrl";
277			reg = <0x10d10000 0x1000>;
278			interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
279		};
280
281		pinctrl_3: pinctrl@3860000 {
282			compatible = "samsung,exynos5250-pinctrl";
283			reg = <0x03860000 0x1000>;
284			interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
285			power-domains = <&pd_mau>;
286		};
287
288		pmu_system_controller: system-controller@10040000 {
289			compatible = "samsung,exynos5250-pmu", "simple-mfd", "syscon";
290			reg = <0x10040000 0x5000>;
291			clock-names = "clkout16";
292			clocks = <&clock CLK_FIN_PLL>;
293			#clock-cells = <1>;
294			interrupt-controller;
295			#interrupt-cells = <3>;
296			interrupt-parent = <&gic>;
297
298			dp_phy: dp-phy {
299				compatible = "samsung,exynos5250-dp-video-phy";
300				#phy-cells = <0>;
301			};
302
303			mipi_phy: mipi-phy {
304				compatible = "samsung,s5pv210-mipi-video-phy";
305				#phy-cells = <1>;
306			};
307		};
308
309		watchdog@101d0000 {
310			compatible = "samsung,exynos5250-wdt";
311			reg = <0x101d0000 0x100>;
312			interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
313			clocks = <&clock CLK_WDT>;
314			clock-names = "watchdog";
315			samsung,syscon-phandle = <&pmu_system_controller>;
316		};
317
318		mfc: codec@11000000 {
319			compatible = "samsung,mfc-v6";
320			reg = <0x11000000 0x10000>;
321			interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
322			power-domains = <&pd_mfc>;
323			clocks = <&clock CLK_MFC>;
324			clock-names = "mfc";
325			iommus = <&sysmmu_mfc_l>, <&sysmmu_mfc_r>;
326			iommu-names = "left", "right";
327		};
328
329		rotator: rotator@11c00000 {
330			compatible = "samsung,exynos5250-rotator";
331			reg = <0x11c00000 0x64>;
332			interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
333			clocks = <&clock CLK_ROTATOR>;
334			clock-names = "rotator";
335			iommus = <&sysmmu_rotator>;
336		};
337
338		mali: gpu@11800000 {
339			compatible = "samsung,exynos5250-mali", "arm,mali-t604";
340			reg = <0x11800000 0x5000>;
341			interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
342				     <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
343				     <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
344			interrupt-names = "job", "mmu", "gpu";
345			clocks = <&clock CLK_G3D>;
346			clock-names = "core";
347			operating-points-v2 = <&gpu_opp_table>;
348			power-domains = <&pd_g3d>;
349			status = "disabled";
350
351			gpu_opp_table: opp-table {
352				compatible = "operating-points-v2";
353
354				opp-100000000 {
355					opp-hz = /bits/ 64 <100000000>;
356					opp-microvolt = <925000>;
357				};
358				opp-160000000 {
359					opp-hz = /bits/ 64 <160000000>;
360					opp-microvolt = <925000>;
361				};
362				opp-266000000 {
363					opp-hz = /bits/ 64 <266000000>;
364					opp-microvolt = <1025000>;
365				};
366				opp-350000000 {
367					opp-hz = /bits/ 64 <350000000>;
368					opp-microvolt = <1075000>;
369				};
370				opp-400000000 {
371					opp-hz = /bits/ 64 <400000000>;
372					opp-microvolt = <1125000>;
373				};
374				opp-450000000 {
375					opp-hz = /bits/ 64 <450000000>;
376					opp-microvolt = <1150000>;
377				};
378				opp-533000000 {
379					opp-hz = /bits/ 64 <533000000>;
380					opp-microvolt = <1250000>;
381				};
382			};
383		};
384
385		tmu: tmu@10060000 {
386			compatible = "samsung,exynos5250-tmu";
387			reg = <0x10060000 0x100>;
388			interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
389			clocks = <&clock CLK_TMU>;
390			clock-names = "tmu_apbif";
391			#thermal-sensor-cells = <0>;
392		};
393
394		sata: sata@122f0000 {
395			compatible = "snps,dwc-ahci";
396			reg = <0x122f0000 0x1ff>;
397			interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
398			clocks = <&clock CLK_SATA>, <&clock CLK_SCLK_SATA>;
399			clock-names = "sata", "pclk";
400			phys = <&sata_phy>;
401			phy-names = "sata-phy";
402			ports-implemented = <0x1>;
403			status = "disabled";
404		};
405
406		sata_phy: sata-phy@12170000 {
407			compatible = "samsung,exynos5250-sata-phy";
408			reg = <0x12170000 0x1ff>;
409			clocks = <&clock CLK_SATA_PHYCTRL>;
410			clock-names = "sata_phyctrl";
411			#phy-cells = <0>;
412			samsung,syscon-phandle = <&pmu_system_controller>;
413			status = "disabled";
414		};
415
416		/* i2c_0-3 are defined in exynos5.dtsi */
417		i2c_4: i2c@12ca0000 {
418			compatible = "samsung,s3c2440-i2c";
419			reg = <0x12ca0000 0x100>;
420			interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
421			#address-cells = <1>;
422			#size-cells = <0>;
423			clocks = <&clock CLK_I2C4>;
424			clock-names = "i2c";
425			pinctrl-names = "default";
426			pinctrl-0 = <&i2c4_bus>;
427			status = "disabled";
428		};
429
430		i2c_5: i2c@12cb0000 {
431			compatible = "samsung,s3c2440-i2c";
432			reg = <0x12cb0000 0x100>;
433			interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
434			#address-cells = <1>;
435			#size-cells = <0>;
436			clocks = <&clock CLK_I2C5>;
437			clock-names = "i2c";
438			pinctrl-names = "default";
439			pinctrl-0 = <&i2c5_bus>;
440			status = "disabled";
441		};
442
443		i2c_6: i2c@12cc0000 {
444			compatible = "samsung,s3c2440-i2c";
445			reg = <0x12cc0000 0x100>;
446			interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
447			#address-cells = <1>;
448			#size-cells = <0>;
449			clocks = <&clock CLK_I2C6>;
450			clock-names = "i2c";
451			pinctrl-names = "default";
452			pinctrl-0 = <&i2c6_bus>;
453			status = "disabled";
454		};
455
456		i2c_7: i2c@12cd0000 {
457			compatible = "samsung,s3c2440-i2c";
458			reg = <0x12cd0000 0x100>;
459			interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
460			#address-cells = <1>;
461			#size-cells = <0>;
462			clocks = <&clock CLK_I2C7>;
463			clock-names = "i2c";
464			pinctrl-names = "default";
465			pinctrl-0 = <&i2c7_bus>;
466			status = "disabled";
467		};
468
469		i2c_8: i2c@12ce0000 {
470			compatible = "samsung,s3c2440-hdmiphy-i2c";
471			reg = <0x12ce0000 0x1000>;
472			interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
473			#address-cells = <1>;
474			#size-cells = <0>;
475			clocks = <&clock CLK_I2C_HDMI>;
476			clock-names = "i2c";
477			status = "disabled";
478
479			hdmiphy: hdmi-phy@38 {
480				compatible = "samsung,exynos4212-hdmiphy";
481				reg = <0x38>;
482			};
483		};
484
485		i2c_9: i2c@121d0000 {
486			compatible = "samsung,exynos5-sata-phy-i2c";
487			reg = <0x121d0000 0x100>;
488			#address-cells = <1>;
489			#size-cells = <0>;
490			clocks = <&clock CLK_SATA_PHYI2C>;
491			clock-names = "i2c";
492			status = "disabled";
493
494			sata_phy_i2c: sata-phy-i2c@38 {
495				compatible = "samsung,exynos-sataphy-i2c";
496				reg = <0x38>;
497				status = "disabled";
498			};
499		};
500
501		spi_0: spi@12d20000 {
502			compatible = "samsung,exynos4210-spi";
503			status = "disabled";
504			reg = <0x12d20000 0x100>;
505			interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>;
506			dmas = <&pdma0 5>, <&pdma0 4>;
507			dma-names = "tx", "rx";
508			#address-cells = <1>;
509			#size-cells = <0>;
510			clocks = <&clock CLK_SPI0>, <&clock CLK_SCLK_SPI0>;
511			clock-names = "spi", "spi_busclk0";
512			pinctrl-names = "default";
513			pinctrl-0 = <&spi0_bus>;
514		};
515
516		spi_1: spi@12d30000 {
517			compatible = "samsung,exynos4210-spi";
518			status = "disabled";
519			reg = <0x12d30000 0x100>;
520			interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
521			dmas = <&pdma1 5>, <&pdma1 4>;
522			dma-names = "tx", "rx";
523			#address-cells = <1>;
524			#size-cells = <0>;
525			clocks = <&clock CLK_SPI1>, <&clock CLK_SCLK_SPI1>;
526			clock-names = "spi", "spi_busclk0";
527			pinctrl-names = "default";
528			pinctrl-0 = <&spi1_bus>;
529		};
530
531		spi_2: spi@12d40000 {
532			compatible = "samsung,exynos4210-spi";
533			status = "disabled";
534			reg = <0x12d40000 0x100>;
535			interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
536			dmas = <&pdma0 7>, <&pdma0 6>;
537			dma-names = "tx", "rx";
538			#address-cells = <1>;
539			#size-cells = <0>;
540			clocks = <&clock CLK_SPI2>, <&clock CLK_SCLK_SPI2>;
541			clock-names = "spi", "spi_busclk0";
542			pinctrl-names = "default";
543			pinctrl-0 = <&spi2_bus>;
544		};
545
546		mmc_0: mmc@12200000 {
547			compatible = "samsung,exynos5250-dw-mshc";
548			interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
549			#address-cells = <1>;
550			#size-cells = <0>;
551			reg = <0x12200000 0x1000>;
552			clocks = <&clock CLK_SDMMC0>, <&clock CLK_SCLK_MMC0>;
553			clock-names = "biu", "ciu";
554			fifo-depth = <0x80>;
555			status = "disabled";
556		};
557
558		mmc_1: mmc@12210000 {
559			compatible = "samsung,exynos5250-dw-mshc";
560			interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
561			#address-cells = <1>;
562			#size-cells = <0>;
563			reg = <0x12210000 0x1000>;
564			clocks = <&clock CLK_SDMMC1>, <&clock CLK_SCLK_MMC1>;
565			clock-names = "biu", "ciu";
566			fifo-depth = <0x80>;
567			status = "disabled";
568		};
569
570		mmc_2: mmc@12220000 {
571			compatible = "samsung,exynos5250-dw-mshc";
572			interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
573			#address-cells = <1>;
574			#size-cells = <0>;
575			reg = <0x12220000 0x1000>;
576			clocks = <&clock CLK_SDMMC2>, <&clock CLK_SCLK_MMC2>;
577			clock-names = "biu", "ciu";
578			fifo-depth = <0x80>;
579			status = "disabled";
580		};
581
582		mmc_3: mmc@12230000 {
583			compatible = "samsung,exynos5250-dw-mshc";
584			reg = <0x12230000 0x1000>;
585			interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
586			#address-cells = <1>;
587			#size-cells = <0>;
588			clocks = <&clock CLK_SDMMC3>, <&clock CLK_SCLK_MMC3>;
589			clock-names = "biu", "ciu";
590			fifo-depth = <0x80>;
591			status = "disabled";
592		};
593
594		i2s0: i2s@3830000 {
595			compatible = "samsung,s5pv210-i2s";
596			status = "disabled";
597			reg = <0x03830000 0x100>;
598			dmas = <&pdma0 10>,
599				<&pdma0 9>,
600				<&pdma0 8>;
601			dma-names = "tx", "rx", "tx-sec";
602			clocks = <&clock_audss EXYNOS_I2S_BUS>,
603				<&clock_audss EXYNOS_I2S_BUS>,
604				<&clock_audss EXYNOS_SCLK_I2S>;
605			clock-names = "iis", "i2s_opclk0", "i2s_opclk1";
606			samsung,idma-addr = <0x03000000>;
607			pinctrl-names = "default";
608			pinctrl-0 = <&i2s0_bus>;
609			power-domains = <&pd_mau>;
610			#clock-cells = <1>;
611			#sound-dai-cells = <1>;
612		};
613
614		i2s1: i2s@12d60000 {
615			compatible = "samsung,s3c6410-i2s";
616			status = "disabled";
617			reg = <0x12d60000 0x100>;
618			dmas = <&pdma1 12>,
619				<&pdma1 11>;
620			dma-names = "tx", "rx";
621			clocks = <&clock CLK_I2S1>, <&clock CLK_DIV_I2S1>;
622			clock-names = "iis", "i2s_opclk0";
623			pinctrl-names = "default";
624			pinctrl-0 = <&i2s1_bus>;
625			power-domains = <&pd_mau>;
626			#sound-dai-cells = <1>;
627		};
628
629		i2s2: i2s@12d70000 {
630			compatible = "samsung,s3c6410-i2s";
631			status = "disabled";
632			reg = <0x12d70000 0x100>;
633			dmas = <&pdma0 12>,
634				<&pdma0 11>;
635			dma-names = "tx", "rx";
636			clocks = <&clock CLK_I2S2>, <&clock CLK_DIV_I2S2>;
637			clock-names = "iis", "i2s_opclk0";
638			pinctrl-names = "default";
639			pinctrl-0 = <&i2s2_bus>;
640			power-domains = <&pd_mau>;
641			#sound-dai-cells = <1>;
642		};
643
644		usbdrd: usb@12000000 {
645			compatible = "samsung,exynos5250-dwusb3";
646			clocks = <&clock CLK_USB3>;
647			clock-names = "usbdrd30";
648			#address-cells = <1>;
649			#size-cells = <1>;
650			ranges = <0x0 0x12000000 0x10000>;
651
652			usbdrd_dwc3: usb@0 {
653				compatible = "snps,dwc3";
654				reg = <0x0 0x10000>;
655				interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
656				phys = <&usbdrd_phy 0>, <&usbdrd_phy 1>;
657				phy-names = "usb2-phy", "usb3-phy";
658			};
659		};
660
661		usbdrd_phy: phy@12100000 {
662			compatible = "samsung,exynos5250-usbdrd-phy";
663			reg = <0x12100000 0x100>;
664			clocks = <&clock CLK_USB3>, <&clock CLK_FIN_PLL>;
665			clock-names = "phy", "ref";
666			samsung,pmu-syscon = <&pmu_system_controller>;
667			#phy-cells = <1>;
668		};
669
670		ehci: usb@12110000 {
671			compatible = "samsung,exynos4210-ehci";
672			reg = <0x12110000 0x100>;
673			interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
674
675			clocks = <&clock CLK_USB2>;
676			clock-names = "usbhost";
677			phys = <&usb2_phy_gen 1>;
678			phy-names = "host";
679		};
680
681		ohci: usb@12120000 {
682			compatible = "samsung,exynos4210-ohci";
683			reg = <0x12120000 0x100>;
684			interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
685
686			clocks = <&clock CLK_USB2>;
687			clock-names = "usbhost";
688			phys = <&usb2_phy_gen 1>;
689			phy-names = "host";
690		};
691
692		usb2_phy_gen: phy@12130000 {
693			compatible = "samsung,exynos5250-usb2-phy";
694			reg = <0x12130000 0x100>;
695			clocks = <&clock CLK_USB2>, <&clock CLK_FIN_PLL>;
696			clock-names = "phy", "ref";
697			#phy-cells = <1>;
698			samsung,sysreg-phandle = <&sysreg_system_controller>;
699			samsung,pmureg-phandle = <&pmu_system_controller>;
700		};
701
702		pdma0: dma-controller@121a0000 {
703			compatible = "arm,pl330", "arm,primecell";
704			reg = <0x121a0000 0x1000>;
705			interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
706			clocks = <&clock CLK_PDMA0>;
707			clock-names = "apb_pclk";
708			#dma-cells = <1>;
709		};
710
711		pdma1: dma-controller@121b0000 {
712			compatible = "arm,pl330", "arm,primecell";
713			reg = <0x121b0000 0x1000>;
714			interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
715			clocks = <&clock CLK_PDMA1>;
716			clock-names = "apb_pclk";
717			#dma-cells = <1>;
718		};
719
720		mdma0: dma-controller@10800000 {
721			compatible = "arm,pl330", "arm,primecell";
722			reg = <0x10800000 0x1000>;
723			interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
724			clocks = <&clock CLK_MDMA0>;
725			clock-names = "apb_pclk";
726			#dma-cells = <1>;
727		};
728
729		mdma1: dma-controller@11c10000 {
730			compatible = "arm,pl330", "arm,primecell";
731			reg = <0x11c10000 0x1000>;
732			interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>;
733			clocks = <&clock CLK_MDMA1>;
734			clock-names = "apb_pclk";
735			#dma-cells = <1>;
736		};
737
738		gsc_0: gsc@13e00000 {
739			compatible = "samsung,exynos5250-gsc", "samsung,exynos5-gsc";
740			reg = <0x13e00000 0x1000>;
741			interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
742			power-domains = <&pd_gsc>;
743			clocks = <&clock CLK_GSCL0>;
744			clock-names = "gscl";
745			iommus = <&sysmmu_gsc0>;
746		};
747
748		gsc_1: gsc@13e10000 {
749			compatible = "samsung,exynos5250-gsc", "samsung,exynos5-gsc";
750			reg = <0x13e10000 0x1000>;
751			interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
752			power-domains = <&pd_gsc>;
753			clocks = <&clock CLK_GSCL1>;
754			clock-names = "gscl";
755			iommus = <&sysmmu_gsc1>;
756		};
757
758		gsc_2: gsc@13e20000 {
759			compatible = "samsung,exynos5250-gsc", "samsung,exynos5-gsc";
760			reg = <0x13e20000 0x1000>;
761			interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
762			power-domains = <&pd_gsc>;
763			clocks = <&clock CLK_GSCL2>;
764			clock-names = "gscl";
765			iommus = <&sysmmu_gsc2>;
766		};
767
768		gsc_3: gsc@13e30000 {
769			compatible = "samsung,exynos5250-gsc", "samsung,exynos5-gsc";
770			reg = <0x13e30000 0x1000>;
771			interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
772			power-domains = <&pd_gsc>;
773			clocks = <&clock CLK_GSCL3>;
774			clock-names = "gscl";
775			iommus = <&sysmmu_gsc3>;
776		};
777
778		hdmi: hdmi@14530000 {
779			compatible = "samsung,exynos4212-hdmi";
780			reg = <0x14530000 0x70000>;
781			power-domains = <&pd_disp1>;
782			interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
783			clocks = <&clock CLK_HDMI>, <&clock CLK_SCLK_HDMI>,
784				 <&clock CLK_SCLK_PIXEL>, <&clock CLK_SCLK_HDMIPHY>,
785				 <&clock CLK_MOUT_HDMI>;
786			clock-names = "hdmi", "sclk_hdmi", "sclk_pixel",
787					"sclk_hdmiphy", "mout_hdmi";
788			samsung,syscon-phandle = <&pmu_system_controller>;
789			phy = <&hdmiphy>;
790			#sound-dai-cells = <0>;
791			status = "disabled";
792		};
793
794		hdmicec: cec@101b0000 {
795			compatible = "samsung,s5p-cec";
796			reg = <0x101b0000 0x200>;
797			interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
798			clocks = <&clock CLK_HDMI_CEC>;
799			clock-names = "hdmicec";
800			samsung,syscon-phandle = <&pmu_system_controller>;
801			hdmi-phandle = <&hdmi>;
802			pinctrl-names = "default";
803			pinctrl-0 = <&hdmi_cec>;
804			status = "disabled";
805		};
806
807		mixer: mixer@14450000 {
808			compatible = "samsung,exynos5250-mixer";
809			reg = <0x14450000 0x10000>;
810			power-domains = <&pd_disp1>;
811			interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
812			clocks = <&clock CLK_MIXER>, <&clock CLK_HDMI>,
813				 <&clock CLK_SCLK_HDMI>;
814			clock-names = "mixer", "hdmi", "sclk_hdmi";
815			iommus = <&sysmmu_tv>;
816			status = "disabled";
817		};
818
819		dsi_0: dsi@14500000 {
820			compatible = "samsung,exynos4210-mipi-dsi";
821			reg = <0x14500000 0x10000>;
822			interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
823			samsung,power-domain = <&pd_disp1>;
824			phys = <&mipi_phy 3>;
825			phy-names = "dsim";
826			clocks = <&clock CLK_DSIM0>, <&clock CLK_SCLK_MIPI1>;
827			clock-names = "bus_clk", "sclk_mipi";
828			status = "disabled";
829			#address-cells = <1>;
830			#size-cells = <0>;
831		};
832
833		adc: adc@12d10000 {
834			compatible = "samsung,exynos-adc-v1";
835			reg = <0x12d10000 0x100>;
836			interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
837			clocks = <&clock CLK_ADC>;
838			clock-names = "adc";
839			#io-channel-cells = <1>;
840			samsung,syscon-phandle = <&pmu_system_controller>;
841			status = "disabled";
842		};
843
844		sysmmu_g2d: sysmmu@10a60000 {
845			compatible = "samsung,exynos-sysmmu";
846			reg = <0x10a60000 0x1000>;
847			interrupt-parent = <&combiner>;
848			interrupts = <24 5>;
849			clock-names = "sysmmu", "master";
850			clocks = <&clock CLK_SMMU_2D>, <&clock CLK_G2D>;
851			#iommu-cells = <0>;
852		};
853
854		sysmmu_mfc_r: sysmmu@11200000 {
855			compatible = "samsung,exynos-sysmmu";
856			reg = <0x11200000 0x1000>;
857			interrupt-parent = <&combiner>;
858			interrupts = <6 2>;
859			power-domains = <&pd_mfc>;
860			clock-names = "sysmmu", "master";
861			clocks = <&clock CLK_SMMU_MFCR>, <&clock CLK_MFC>;
862			#iommu-cells = <0>;
863		};
864
865		sysmmu_mfc_l: sysmmu@11210000 {
866			compatible = "samsung,exynos-sysmmu";
867			reg = <0x11210000 0x1000>;
868			interrupt-parent = <&combiner>;
869			interrupts = <8 5>;
870			power-domains = <&pd_mfc>;
871			clock-names = "sysmmu", "master";
872			clocks = <&clock CLK_SMMU_MFCL>, <&clock CLK_MFC>;
873			#iommu-cells = <0>;
874		};
875
876		sysmmu_rotator: sysmmu@11d40000 {
877			compatible = "samsung,exynos-sysmmu";
878			reg = <0x11d40000 0x1000>;
879			interrupt-parent = <&combiner>;
880			interrupts = <4 0>;
881			clock-names = "sysmmu", "master";
882			clocks = <&clock CLK_SMMU_ROTATOR>, <&clock CLK_ROTATOR>;
883			#iommu-cells = <0>;
884		};
885
886		sysmmu_jpeg: sysmmu@11f20000 {
887			compatible = "samsung,exynos-sysmmu";
888			reg = <0x11f20000 0x1000>;
889			interrupt-parent = <&combiner>;
890			interrupts = <4 2>;
891			power-domains = <&pd_gsc>;
892			clock-names = "sysmmu", "master";
893			clocks = <&clock CLK_SMMU_JPEG>, <&clock CLK_JPEG>;
894			#iommu-cells = <0>;
895		};
896
897		sysmmu_fimc_isp: sysmmu@13260000 {
898			compatible = "samsung,exynos-sysmmu";
899			reg = <0x13260000 0x1000>;
900			interrupt-parent = <&combiner>;
901			interrupts = <10 6>;
902			clock-names = "sysmmu";
903			clocks = <&clock CLK_SMMU_FIMC_ISP>;
904			#iommu-cells = <0>;
905		};
906
907		sysmmu_fimc_drc: sysmmu@13270000 {
908			compatible = "samsung,exynos-sysmmu";
909			reg = <0x13270000 0x1000>;
910			interrupt-parent = <&combiner>;
911			interrupts = <11 6>;
912			clock-names = "sysmmu";
913			clocks = <&clock CLK_SMMU_FIMC_DRC>;
914			#iommu-cells = <0>;
915		};
916
917		sysmmu_fimc_fd: sysmmu@132a0000 {
918			compatible = "samsung,exynos-sysmmu";
919			reg = <0x132a0000 0x1000>;
920			interrupt-parent = <&combiner>;
921			interrupts = <5 0>;
922			clock-names = "sysmmu";
923			clocks = <&clock CLK_SMMU_FIMC_FD>;
924			#iommu-cells = <0>;
925		};
926
927		sysmmu_fimc_scc: sysmmu@13280000 {
928			compatible = "samsung,exynos-sysmmu";
929			reg = <0x13280000 0x1000>;
930			interrupt-parent = <&combiner>;
931			interrupts = <5 2>;
932			clock-names = "sysmmu";
933			clocks = <&clock CLK_SMMU_FIMC_SCC>;
934			#iommu-cells = <0>;
935		};
936
937		sysmmu_fimc_scp: sysmmu@13290000 {
938			compatible = "samsung,exynos-sysmmu";
939			reg = <0x13290000 0x1000>;
940			interrupt-parent = <&combiner>;
941			interrupts = <3 6>;
942			clock-names = "sysmmu";
943			clocks = <&clock CLK_SMMU_FIMC_SCP>;
944			#iommu-cells = <0>;
945		};
946
947		sysmmu_fimc_mcuctl: sysmmu@132b0000 {
948			compatible = "samsung,exynos-sysmmu";
949			reg = <0x132b0000 0x1000>;
950			interrupt-parent = <&combiner>;
951			interrupts = <5 4>;
952			clock-names = "sysmmu";
953			clocks = <&clock CLK_SMMU_FIMC_MCU>;
954			#iommu-cells = <0>;
955		};
956
957		sysmmu_fimc_odc: sysmmu@132c0000 {
958			compatible = "samsung,exynos-sysmmu";
959			reg = <0x132c0000 0x1000>;
960			interrupt-parent = <&combiner>;
961			interrupts = <11 0>;
962			clock-names = "sysmmu";
963			clocks = <&clock CLK_SMMU_FIMC_ODC>;
964			#iommu-cells = <0>;
965		};
966
967		sysmmu_fimc_dis0: sysmmu@132d0000 {
968			compatible = "samsung,exynos-sysmmu";
969			reg = <0x132d0000 0x1000>;
970			interrupt-parent = <&combiner>;
971			interrupts = <10 4>;
972			clock-names = "sysmmu";
973			clocks = <&clock CLK_SMMU_FIMC_DIS0>;
974			#iommu-cells = <0>;
975		};
976
977		sysmmu_fimc_dis1: sysmmu@132e0000 {
978			compatible = "samsung,exynos-sysmmu";
979			reg = <0x132e0000 0x1000>;
980			interrupt-parent = <&combiner>;
981			interrupts = <9 4>;
982			clock-names = "sysmmu";
983			clocks = <&clock CLK_SMMU_FIMC_DIS1>;
984			#iommu-cells = <0>;
985		};
986
987		sysmmu_fimc_3dnr: sysmmu@132f0000 {
988			compatible = "samsung,exynos-sysmmu";
989			reg = <0x132f0000 0x1000>;
990			interrupt-parent = <&combiner>;
991			interrupts = <5 6>;
992			clock-names = "sysmmu";
993			clocks = <&clock CLK_SMMU_FIMC_3DNR>;
994			#iommu-cells = <0>;
995		};
996
997		sysmmu_fimc_lite0: sysmmu@13c40000 {
998			compatible = "samsung,exynos-sysmmu";
999			reg = <0x13c40000 0x1000>;
1000			interrupt-parent = <&combiner>;
1001			interrupts = <3 4>;
1002			power-domains = <&pd_gsc>;
1003			clock-names = "sysmmu", "master";
1004			clocks = <&clock CLK_SMMU_FIMC_LITE0>, <&clock CLK_CAMIF_TOP>;
1005			#iommu-cells = <0>;
1006		};
1007
1008		sysmmu_fimc_lite1: sysmmu@13c50000 {
1009			compatible = "samsung,exynos-sysmmu";
1010			reg = <0x13c50000 0x1000>;
1011			interrupt-parent = <&combiner>;
1012			interrupts = <24 1>;
1013			power-domains = <&pd_gsc>;
1014			clock-names = "sysmmu", "master";
1015			clocks = <&clock CLK_SMMU_FIMC_LITE1>, <&clock CLK_CAMIF_TOP>;
1016			#iommu-cells = <0>;
1017		};
1018
1019		sysmmu_gsc0: sysmmu@13e80000 {
1020			compatible = "samsung,exynos-sysmmu";
1021			reg = <0x13e80000 0x1000>;
1022			interrupt-parent = <&combiner>;
1023			interrupts = <2 0>;
1024			power-domains = <&pd_gsc>;
1025			clock-names = "sysmmu", "master";
1026			clocks = <&clock CLK_SMMU_GSCL0>, <&clock CLK_GSCL0>;
1027			#iommu-cells = <0>;
1028		};
1029
1030		sysmmu_gsc1: sysmmu@13e90000 {
1031			compatible = "samsung,exynos-sysmmu";
1032			reg = <0x13e90000 0x1000>;
1033			interrupt-parent = <&combiner>;
1034			interrupts = <2 2>;
1035			power-domains = <&pd_gsc>;
1036			clock-names = "sysmmu", "master";
1037			clocks = <&clock CLK_SMMU_GSCL1>, <&clock CLK_GSCL1>;
1038			#iommu-cells = <0>;
1039		};
1040
1041		sysmmu_gsc2: sysmmu@13ea0000 {
1042			compatible = "samsung,exynos-sysmmu";
1043			reg = <0x13ea0000 0x1000>;
1044			interrupt-parent = <&combiner>;
1045			interrupts = <2 4>;
1046			power-domains = <&pd_gsc>;
1047			clock-names = "sysmmu", "master";
1048			clocks = <&clock CLK_SMMU_GSCL2>, <&clock CLK_GSCL2>;
1049			#iommu-cells = <0>;
1050		};
1051
1052		sysmmu_gsc3: sysmmu@13eb0000 {
1053			compatible = "samsung,exynos-sysmmu";
1054			reg = <0x13eb0000 0x1000>;
1055			interrupt-parent = <&combiner>;
1056			interrupts = <2 6>;
1057			power-domains = <&pd_gsc>;
1058			clock-names = "sysmmu", "master";
1059			clocks = <&clock CLK_SMMU_GSCL3>, <&clock CLK_GSCL3>;
1060			#iommu-cells = <0>;
1061		};
1062
1063		sysmmu_fimd1: sysmmu@14640000 {
1064			compatible = "samsung,exynos-sysmmu";
1065			reg = <0x14640000 0x1000>;
1066			interrupt-parent = <&combiner>;
1067			interrupts = <3 2>;
1068			power-domains = <&pd_disp1>;
1069			clock-names = "sysmmu", "master";
1070			clocks = <&clock CLK_SMMU_FIMD1>, <&clock CLK_FIMD1>;
1071			#iommu-cells = <0>;
1072		};
1073
1074		sysmmu_tv: sysmmu@14650000 {
1075			compatible = "samsung,exynos-sysmmu";
1076			reg = <0x14650000 0x1000>;
1077			interrupt-parent = <&combiner>;
1078			interrupts = <7 4>;
1079			power-domains = <&pd_disp1>;
1080			clock-names = "sysmmu", "master";
1081			clocks = <&clock CLK_SMMU_TV>, <&clock CLK_MIXER>;
1082			#iommu-cells = <0>;
1083		};
1084	};
1085
1086	timer {
1087		compatible = "arm,armv7-timer";
1088		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
1089			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
1090			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
1091			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
1092		/*
1093		 * Unfortunately we need this since some versions
1094		 * of U-Boot on Exynos don't set the CNTFRQ register,
1095		 * so we need the value from DT.
1096		 */
1097		clock-frequency = <24000000>;
1098	};
1099};
1100
1101&cpu_thermal {
1102	polling-delay-passive = <0>;
1103	polling-delay = <0>;
1104	thermal-sensors = <&tmu>;
1105
1106	cooling-maps {
1107		map0 {
1108			/* Corresponds to 800MHz at freq_table */
1109			cooling-device = <&cpu0 9 9>, <&cpu1 9 9>;
1110		};
1111		map1 {
1112			/* Corresponds to 200MHz at freq_table */
1113			cooling-device = <&cpu0 15 15>,
1114					 <&cpu1 15 15>;
1115		};
1116	};
1117};
1118
1119&dp {
1120	power-domains = <&pd_disp1>;
1121	clocks = <&clock CLK_DP>;
1122	clock-names = "dp";
1123	phys = <&dp_phy>;
1124	phy-names = "dp";
1125};
1126
1127&fimd {
1128	power-domains = <&pd_disp1>;
1129	clocks = <&clock CLK_SCLK_FIMD1>, <&clock CLK_FIMD1>;
1130	clock-names = "sclk_fimd", "fimd";
1131	iommus = <&sysmmu_fimd1>;
1132};
1133
1134&g2d {
1135	iommus = <&sysmmu_g2d>;
1136	clocks = <&clock CLK_G2D>;
1137	clock-names = "fimg2d";
1138	status = "okay";
1139};
1140
1141&i2c_0 {
1142	clocks = <&clock CLK_I2C0>;
1143	clock-names = "i2c";
1144	pinctrl-names = "default";
1145	pinctrl-0 = <&i2c0_bus>;
1146};
1147
1148&i2c_1 {
1149	clocks = <&clock CLK_I2C1>;
1150	clock-names = "i2c";
1151	pinctrl-names = "default";
1152	pinctrl-0 = <&i2c1_bus>;
1153};
1154
1155&i2c_2 {
1156	clocks = <&clock CLK_I2C2>;
1157	clock-names = "i2c";
1158	pinctrl-names = "default";
1159	pinctrl-0 = <&i2c2_bus>;
1160};
1161
1162&i2c_3 {
1163	clocks = <&clock CLK_I2C3>;
1164	clock-names = "i2c";
1165	pinctrl-names = "default";
1166	pinctrl-0 = <&i2c3_bus>;
1167};
1168
1169&prng {
1170	clocks = <&clock CLK_SSS>;
1171	clock-names = "secss";
1172};
1173
1174&pwm {
1175	clocks = <&clock CLK_PWM>;
1176	clock-names = "timers";
1177};
1178
1179&rtc {
1180	clocks = <&clock CLK_RTC>;
1181	clock-names = "rtc";
1182	interrupt-parent = <&pmu_system_controller>;
1183	status = "disabled";
1184};
1185
1186&serial_0 {
1187	clocks = <&clock CLK_UART0>, <&clock CLK_SCLK_UART0>;
1188	clock-names = "uart", "clk_uart_baud0";
1189	dmas = <&pdma0 13>, <&pdma0 14>;
1190	dma-names = "rx", "tx";
1191};
1192
1193&serial_1 {
1194	clocks = <&clock CLK_UART1>, <&clock CLK_SCLK_UART1>;
1195	clock-names = "uart", "clk_uart_baud0";
1196	dmas = <&pdma1 15>, <&pdma1 16>;
1197	dma-names = "rx", "tx";
1198};
1199
1200&serial_2 {
1201	clocks = <&clock CLK_UART2>, <&clock CLK_SCLK_UART2>;
1202	clock-names = "uart", "clk_uart_baud0";
1203	dmas = <&pdma0 15>, <&pdma0 16>;
1204	dma-names = "rx", "tx";
1205};
1206
1207&serial_3 {
1208	clocks = <&clock CLK_UART3>, <&clock CLK_SCLK_UART3>;
1209	clock-names = "uart", "clk_uart_baud0";
1210	dmas = <&pdma1 17>, <&pdma1 18>;
1211	dma-names = "rx", "tx";
1212};
1213
1214&sss {
1215	clocks = <&clock CLK_SSS>;
1216	clock-names = "secss";
1217};
1218
1219&trng {
1220	clocks = <&clock CLK_SSS>;
1221	clock-names = "secss";
1222};
1223
1224#include "exynos5250-pinctrl.dtsi"
1225#include "exynos-syscon-restart.dtsi"
1226