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