1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0
2*724ba675SRob Herring/*
3*724ba675SRob Herring * Samsung's Exynos4212 SoC device tree source
4*724ba675SRob Herring *
5*724ba675SRob Herring * Copyright (c) 2012 Samsung Electronics Co., Ltd.
6*724ba675SRob Herring *		http://www.samsung.com
7*724ba675SRob Herring *
8*724ba675SRob Herring * Samsung's Exynos4212 SoC device nodes are listed in this file. Exynos4212
9*724ba675SRob Herring * based board files can include this file and provide values for board specific
10*724ba675SRob Herring * bindings.
11*724ba675SRob Herring *
12*724ba675SRob Herring * Note: This file does not include device nodes for all the controllers in
13*724ba675SRob Herring * Exynos4212 SoC. As device tree coverage for Exynos4212 increases, additional
14*724ba675SRob Herring * nodes can be added to this file.
15*724ba675SRob Herring */
16*724ba675SRob Herring
17*724ba675SRob Herring#include "exynos4x12.dtsi"
18*724ba675SRob Herring
19*724ba675SRob Herring/ {
20*724ba675SRob Herring	compatible = "samsung,exynos4212", "samsung,exynos4";
21*724ba675SRob Herring
22*724ba675SRob Herring	cpus {
23*724ba675SRob Herring		#address-cells = <1>;
24*724ba675SRob Herring		#size-cells = <0>;
25*724ba675SRob Herring
26*724ba675SRob Herring		cpu-map {
27*724ba675SRob Herring			cluster0 {
28*724ba675SRob Herring				core0 {
29*724ba675SRob Herring					cpu = <&cpu0>;
30*724ba675SRob Herring				};
31*724ba675SRob Herring				core1 {
32*724ba675SRob Herring					cpu = <&cpu1>;
33*724ba675SRob Herring				};
34*724ba675SRob Herring			};
35*724ba675SRob Herring		};
36*724ba675SRob Herring
37*724ba675SRob Herring		cpu0: cpu@a00 {
38*724ba675SRob Herring			device_type = "cpu";
39*724ba675SRob Herring			compatible = "arm,cortex-a9";
40*724ba675SRob Herring			reg = <0xa00>;
41*724ba675SRob Herring			clocks = <&clock CLK_ARM_CLK>;
42*724ba675SRob Herring			clock-names = "cpu";
43*724ba675SRob Herring			operating-points-v2 = <&cpu0_opp_table>;
44*724ba675SRob Herring			#cooling-cells = <2>; /* min followed by max */
45*724ba675SRob Herring		};
46*724ba675SRob Herring
47*724ba675SRob Herring		cpu1: cpu@a01 {
48*724ba675SRob Herring			device_type = "cpu";
49*724ba675SRob Herring			compatible = "arm,cortex-a9";
50*724ba675SRob Herring			reg = <0xa01>;
51*724ba675SRob Herring			clocks = <&clock CLK_ARM_CLK>;
52*724ba675SRob Herring			clock-names = "cpu";
53*724ba675SRob Herring			operating-points-v2 = <&cpu0_opp_table>;
54*724ba675SRob Herring			#cooling-cells = <2>; /* min followed by max */
55*724ba675SRob Herring		};
56*724ba675SRob Herring	};
57*724ba675SRob Herring
58*724ba675SRob Herring	cpu0_opp_table: opp-table-0 {
59*724ba675SRob Herring		compatible = "operating-points-v2";
60*724ba675SRob Herring		opp-shared;
61*724ba675SRob Herring
62*724ba675SRob Herring		opp-200000000 {
63*724ba675SRob Herring			opp-hz = /bits/ 64 <200000000>;
64*724ba675SRob Herring			opp-microvolt = <900000>;
65*724ba675SRob Herring			clock-latency-ns = <200000>;
66*724ba675SRob Herring		};
67*724ba675SRob Herring		opp-300000000 {
68*724ba675SRob Herring			opp-hz = /bits/ 64 <300000000>;
69*724ba675SRob Herring			opp-microvolt = <900000>;
70*724ba675SRob Herring			clock-latency-ns = <200000>;
71*724ba675SRob Herring		};
72*724ba675SRob Herring		opp-400000000 {
73*724ba675SRob Herring			opp-hz = /bits/ 64 <400000000>;
74*724ba675SRob Herring			opp-microvolt = <925000>;
75*724ba675SRob Herring			clock-latency-ns = <200000>;
76*724ba675SRob Herring		};
77*724ba675SRob Herring		opp-500000000 {
78*724ba675SRob Herring			opp-hz = /bits/ 64 <500000000>;
79*724ba675SRob Herring			opp-microvolt = <950000>;
80*724ba675SRob Herring			clock-latency-ns = <200000>;
81*724ba675SRob Herring		};
82*724ba675SRob Herring		opp-600000000 {
83*724ba675SRob Herring			opp-hz = /bits/ 64 <600000000>;
84*724ba675SRob Herring			opp-microvolt = <975000>;
85*724ba675SRob Herring			clock-latency-ns = <200000>;
86*724ba675SRob Herring		};
87*724ba675SRob Herring		opp-700000000 {
88*724ba675SRob Herring			opp-hz = /bits/ 64 <700000000>;
89*724ba675SRob Herring			opp-microvolt = <987500>;
90*724ba675SRob Herring			clock-latency-ns = <200000>;
91*724ba675SRob Herring		};
92*724ba675SRob Herring		opp-800000000 {
93*724ba675SRob Herring			opp-hz = /bits/ 64 <800000000>;
94*724ba675SRob Herring			opp-microvolt = <1000000>;
95*724ba675SRob Herring			clock-latency-ns = <200000>;
96*724ba675SRob Herring			opp-suspend;
97*724ba675SRob Herring		};
98*724ba675SRob Herring		opp-900000000 {
99*724ba675SRob Herring			opp-hz = /bits/ 64 <900000000>;
100*724ba675SRob Herring			opp-microvolt = <1037500>;
101*724ba675SRob Herring			clock-latency-ns = <200000>;
102*724ba675SRob Herring		};
103*724ba675SRob Herring		opp-1000000000 {
104*724ba675SRob Herring			opp-hz = /bits/ 64 <1000000000>;
105*724ba675SRob Herring			opp-microvolt = <1087500>;
106*724ba675SRob Herring			clock-latency-ns = <200000>;
107*724ba675SRob Herring		};
108*724ba675SRob Herring		opp-1100000000 {
109*724ba675SRob Herring			opp-hz = /bits/ 64 <1100000000>;
110*724ba675SRob Herring			opp-microvolt = <1137500>;
111*724ba675SRob Herring			clock-latency-ns = <200000>;
112*724ba675SRob Herring		};
113*724ba675SRob Herring		opp-1200000000 {
114*724ba675SRob Herring			opp-hz = /bits/ 64 <1200000000>;
115*724ba675SRob Herring			opp-microvolt = <1187500>;
116*724ba675SRob Herring			clock-latency-ns = <200000>;
117*724ba675SRob Herring		};
118*724ba675SRob Herring		opp-1300000000 {
119*724ba675SRob Herring			opp-hz = /bits/ 64 <1300000000>;
120*724ba675SRob Herring			opp-microvolt = <1250000>;
121*724ba675SRob Herring			clock-latency-ns = <200000>;
122*724ba675SRob Herring		};
123*724ba675SRob Herring		opp-1400000000 {
124*724ba675SRob Herring			opp-hz = /bits/ 64 <1400000000>;
125*724ba675SRob Herring			opp-microvolt = <1287500>;
126*724ba675SRob Herring			clock-latency-ns = <200000>;
127*724ba675SRob Herring		};
128*724ba675SRob Herring		cpu0_opp_1500: opp-1500000000 {
129*724ba675SRob Herring			opp-hz = /bits/ 64 <1500000000>;
130*724ba675SRob Herring			opp-microvolt = <1350000>;
131*724ba675SRob Herring			clock-latency-ns = <200000>;
132*724ba675SRob Herring			turbo-mode;
133*724ba675SRob Herring		};
134*724ba675SRob Herring	};
135*724ba675SRob Herring};
136*724ba675SRob Herring
137*724ba675SRob Herring&clock {
138*724ba675SRob Herring	compatible = "samsung,exynos4212-clock";
139*724ba675SRob Herring};
140*724ba675SRob Herring
141*724ba675SRob Herring&combiner {
142*724ba675SRob Herring	samsung,combiner-nr = <18>;
143*724ba675SRob Herring};
144*724ba675SRob Herring
145*724ba675SRob Herring&gic {
146*724ba675SRob Herring	cpu-offset = <0x8000>;
147*724ba675SRob Herring};
148*724ba675SRob Herring
149*724ba675SRob Herring&pmu {
150*724ba675SRob Herring	interrupts = <2 2>, <3 2>;
151*724ba675SRob Herring	interrupt-affinity = <&cpu0>, <&cpu1>;
152*724ba675SRob Herring	status = "okay";
153*724ba675SRob Herring};
154*724ba675SRob Herring
155*724ba675SRob Herring&pmu_system_controller {
156*724ba675SRob Herring	compatible = "samsung,exynos4212-pmu", "simple-mfd", "syscon";
157*724ba675SRob Herring};
158