xref: /freebsd-src/sys/contrib/device-tree/src/arm/samsung/exynos4212.dtsi (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2*f126890aSEmmanuel Vadot/*
3*f126890aSEmmanuel Vadot * Samsung's Exynos4212 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 Exynos4212 SoC device nodes are listed in this file. Exynos4212
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 * Exynos4212 SoC. As device tree coverage for Exynos4212 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,exynos4212", "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			};
35*f126890aSEmmanuel Vadot		};
36*f126890aSEmmanuel Vadot
37*f126890aSEmmanuel Vadot		cpu0: cpu@a00 {
38*f126890aSEmmanuel Vadot			device_type = "cpu";
39*f126890aSEmmanuel Vadot			compatible = "arm,cortex-a9";
40*f126890aSEmmanuel Vadot			reg = <0xa00>;
41*f126890aSEmmanuel Vadot			clocks = <&clock CLK_ARM_CLK>;
42*f126890aSEmmanuel Vadot			clock-names = "cpu";
43*f126890aSEmmanuel Vadot			operating-points-v2 = <&cpu0_opp_table>;
44*f126890aSEmmanuel Vadot			#cooling-cells = <2>; /* min followed by max */
45*f126890aSEmmanuel Vadot		};
46*f126890aSEmmanuel Vadot
47*f126890aSEmmanuel Vadot		cpu1: cpu@a01 {
48*f126890aSEmmanuel Vadot			device_type = "cpu";
49*f126890aSEmmanuel Vadot			compatible = "arm,cortex-a9";
50*f126890aSEmmanuel Vadot			reg = <0xa01>;
51*f126890aSEmmanuel Vadot			clocks = <&clock CLK_ARM_CLK>;
52*f126890aSEmmanuel Vadot			clock-names = "cpu";
53*f126890aSEmmanuel Vadot			operating-points-v2 = <&cpu0_opp_table>;
54*f126890aSEmmanuel Vadot			#cooling-cells = <2>; /* min followed by max */
55*f126890aSEmmanuel Vadot		};
56*f126890aSEmmanuel Vadot	};
57*f126890aSEmmanuel Vadot
58*f126890aSEmmanuel Vadot	cpu0_opp_table: opp-table-0 {
59*f126890aSEmmanuel Vadot		compatible = "operating-points-v2";
60*f126890aSEmmanuel Vadot		opp-shared;
61*f126890aSEmmanuel Vadot
62*f126890aSEmmanuel Vadot		opp-200000000 {
63*f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <200000000>;
64*f126890aSEmmanuel Vadot			opp-microvolt = <900000>;
65*f126890aSEmmanuel Vadot			clock-latency-ns = <200000>;
66*f126890aSEmmanuel Vadot		};
67*f126890aSEmmanuel Vadot		opp-300000000 {
68*f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <300000000>;
69*f126890aSEmmanuel Vadot			opp-microvolt = <900000>;
70*f126890aSEmmanuel Vadot			clock-latency-ns = <200000>;
71*f126890aSEmmanuel Vadot		};
72*f126890aSEmmanuel Vadot		opp-400000000 {
73*f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <400000000>;
74*f126890aSEmmanuel Vadot			opp-microvolt = <925000>;
75*f126890aSEmmanuel Vadot			clock-latency-ns = <200000>;
76*f126890aSEmmanuel Vadot		};
77*f126890aSEmmanuel Vadot		opp-500000000 {
78*f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <500000000>;
79*f126890aSEmmanuel Vadot			opp-microvolt = <950000>;
80*f126890aSEmmanuel Vadot			clock-latency-ns = <200000>;
81*f126890aSEmmanuel Vadot		};
82*f126890aSEmmanuel Vadot		opp-600000000 {
83*f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <600000000>;
84*f126890aSEmmanuel Vadot			opp-microvolt = <975000>;
85*f126890aSEmmanuel Vadot			clock-latency-ns = <200000>;
86*f126890aSEmmanuel Vadot		};
87*f126890aSEmmanuel Vadot		opp-700000000 {
88*f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <700000000>;
89*f126890aSEmmanuel Vadot			opp-microvolt = <987500>;
90*f126890aSEmmanuel Vadot			clock-latency-ns = <200000>;
91*f126890aSEmmanuel Vadot		};
92*f126890aSEmmanuel Vadot		opp-800000000 {
93*f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <800000000>;
94*f126890aSEmmanuel Vadot			opp-microvolt = <1000000>;
95*f126890aSEmmanuel Vadot			clock-latency-ns = <200000>;
96*f126890aSEmmanuel Vadot			opp-suspend;
97*f126890aSEmmanuel Vadot		};
98*f126890aSEmmanuel Vadot		opp-900000000 {
99*f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <900000000>;
100*f126890aSEmmanuel Vadot			opp-microvolt = <1037500>;
101*f126890aSEmmanuel Vadot			clock-latency-ns = <200000>;
102*f126890aSEmmanuel Vadot		};
103*f126890aSEmmanuel Vadot		opp-1000000000 {
104*f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <1000000000>;
105*f126890aSEmmanuel Vadot			opp-microvolt = <1087500>;
106*f126890aSEmmanuel Vadot			clock-latency-ns = <200000>;
107*f126890aSEmmanuel Vadot		};
108*f126890aSEmmanuel Vadot		opp-1100000000 {
109*f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <1100000000>;
110*f126890aSEmmanuel Vadot			opp-microvolt = <1137500>;
111*f126890aSEmmanuel Vadot			clock-latency-ns = <200000>;
112*f126890aSEmmanuel Vadot		};
113*f126890aSEmmanuel Vadot		opp-1200000000 {
114*f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <1200000000>;
115*f126890aSEmmanuel Vadot			opp-microvolt = <1187500>;
116*f126890aSEmmanuel Vadot			clock-latency-ns = <200000>;
117*f126890aSEmmanuel Vadot		};
118*f126890aSEmmanuel Vadot		opp-1300000000 {
119*f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <1300000000>;
120*f126890aSEmmanuel Vadot			opp-microvolt = <1250000>;
121*f126890aSEmmanuel Vadot			clock-latency-ns = <200000>;
122*f126890aSEmmanuel Vadot		};
123*f126890aSEmmanuel Vadot		opp-1400000000 {
124*f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <1400000000>;
125*f126890aSEmmanuel Vadot			opp-microvolt = <1287500>;
126*f126890aSEmmanuel Vadot			clock-latency-ns = <200000>;
127*f126890aSEmmanuel Vadot		};
128*f126890aSEmmanuel Vadot		cpu0_opp_1500: opp-1500000000 {
129*f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <1500000000>;
130*f126890aSEmmanuel Vadot			opp-microvolt = <1350000>;
131*f126890aSEmmanuel Vadot			clock-latency-ns = <200000>;
132*f126890aSEmmanuel Vadot			turbo-mode;
133*f126890aSEmmanuel Vadot		};
134*f126890aSEmmanuel Vadot	};
135*f126890aSEmmanuel Vadot};
136*f126890aSEmmanuel Vadot
137*f126890aSEmmanuel Vadot&clock {
138*f126890aSEmmanuel Vadot	compatible = "samsung,exynos4212-clock";
139*f126890aSEmmanuel Vadot};
140*f126890aSEmmanuel Vadot
141*f126890aSEmmanuel Vadot&combiner {
142*f126890aSEmmanuel Vadot	samsung,combiner-nr = <18>;
143*f126890aSEmmanuel Vadot};
144*f126890aSEmmanuel Vadot
145*f126890aSEmmanuel Vadot&gic {
146*f126890aSEmmanuel Vadot	cpu-offset = <0x8000>;
147*f126890aSEmmanuel Vadot};
148*f126890aSEmmanuel Vadot
149*f126890aSEmmanuel Vadot&pmu {
150*f126890aSEmmanuel Vadot	interrupts = <2 2>, <3 2>;
151*f126890aSEmmanuel Vadot	interrupt-affinity = <&cpu0>, <&cpu1>;
152*f126890aSEmmanuel Vadot	status = "okay";
153*f126890aSEmmanuel Vadot};
154*f126890aSEmmanuel Vadot
155*f126890aSEmmanuel Vadot&pmu_system_controller {
156*f126890aSEmmanuel Vadot	compatible = "samsung,exynos4212-pmu", "simple-mfd", "syscon";
157*f126890aSEmmanuel Vadot};
158