xref: /OK3568_Linux_fs/kernel/arch/arm/boot/dts/exynos5422-odroidhc1.dts (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0
2*4882a593Smuzhiyun/*
3*4882a593Smuzhiyun * Hardkernel Odroid HC1 board device tree source
4*4882a593Smuzhiyun *
5*4882a593Smuzhiyun * Copyright (c) 2017 Marek Szyprowski
6*4882a593Smuzhiyun * Copyright (c) 2017 Samsung Electronics Co., Ltd.
7*4882a593Smuzhiyun *		http://www.samsung.com
8*4882a593Smuzhiyun */
9*4882a593Smuzhiyun
10*4882a593Smuzhiyun/dts-v1/;
11*4882a593Smuzhiyun#include "exynos5422-odroid-core.dtsi"
12*4882a593Smuzhiyun
13*4882a593Smuzhiyun/ {
14*4882a593Smuzhiyun	model = "Hardkernel Odroid HC1";
15*4882a593Smuzhiyun	compatible = "hardkernel,odroid-hc1", "samsung,exynos5800", \
16*4882a593Smuzhiyun		     "samsung,exynos5";
17*4882a593Smuzhiyun
18*4882a593Smuzhiyun	pwmleds {
19*4882a593Smuzhiyun		compatible = "pwm-leds";
20*4882a593Smuzhiyun
21*4882a593Smuzhiyun		blueled {
22*4882a593Smuzhiyun			label = "blue:heartbeat";
23*4882a593Smuzhiyun			pwms = <&pwm 2 2000000 0>;
24*4882a593Smuzhiyun			pwm-names = "pwm2";
25*4882a593Smuzhiyun			max-brightness = <255>;
26*4882a593Smuzhiyun			linux,default-trigger = "heartbeat";
27*4882a593Smuzhiyun		};
28*4882a593Smuzhiyun	};
29*4882a593Smuzhiyun
30*4882a593Smuzhiyun	thermal-zones {
31*4882a593Smuzhiyun		cpu0_thermal: cpu0-thermal {
32*4882a593Smuzhiyun			thermal-sensors = <&tmu_cpu0 0>;
33*4882a593Smuzhiyun			trips {
34*4882a593Smuzhiyun				cpu0_alert0: cpu-alert-0 {
35*4882a593Smuzhiyun					temperature = <70000>; /* millicelsius */
36*4882a593Smuzhiyun					hysteresis = <10000>; /* millicelsius */
37*4882a593Smuzhiyun					type = "active";
38*4882a593Smuzhiyun				};
39*4882a593Smuzhiyun				cpu0_alert1: cpu-alert-1 {
40*4882a593Smuzhiyun					temperature = <85000>; /* millicelsius */
41*4882a593Smuzhiyun					hysteresis = <10000>; /* millicelsius */
42*4882a593Smuzhiyun					type = "active";
43*4882a593Smuzhiyun				};
44*4882a593Smuzhiyun				cpu0_crit0: cpu-crit-0 {
45*4882a593Smuzhiyun					temperature = <120000>; /* millicelsius */
46*4882a593Smuzhiyun					hysteresis = <0>; /* millicelsius */
47*4882a593Smuzhiyun					type = "critical";
48*4882a593Smuzhiyun				};
49*4882a593Smuzhiyun			};
50*4882a593Smuzhiyun
51*4882a593Smuzhiyun			cooling-maps {
52*4882a593Smuzhiyun				/*
53*4882a593Smuzhiyun				 * When reaching cpu0_alert0, reduce CPU
54*4882a593Smuzhiyun				 * by 2 steps. On Exynos5422/5800 that would
55*4882a593Smuzhiyun				 * be: 1600 MHz and 1100 MHz.
56*4882a593Smuzhiyun				 */
57*4882a593Smuzhiyun				map0 {
58*4882a593Smuzhiyun					trip = <&cpu0_alert0>;
59*4882a593Smuzhiyun					cooling-device = <&cpu0 0 2>,
60*4882a593Smuzhiyun							 <&cpu1 0 2>,
61*4882a593Smuzhiyun							 <&cpu2 0 2>,
62*4882a593Smuzhiyun							 <&cpu3 0 2>,
63*4882a593Smuzhiyun							 <&cpu4 0 2>,
64*4882a593Smuzhiyun							 <&cpu5 0 2>,
65*4882a593Smuzhiyun							 <&cpu6 0 2>,
66*4882a593Smuzhiyun							 <&cpu7 0 2>;
67*4882a593Smuzhiyun				};
68*4882a593Smuzhiyun				/*
69*4882a593Smuzhiyun				 * When reaching cpu0_alert1, reduce CPU
70*4882a593Smuzhiyun				 * further, down to 600 MHz (12 steps for big,
71*4882a593Smuzhiyun				 * 7 steps for LITTLE).
72*4882a593Smuzhiyun				 */
73*4882a593Smuzhiyun				map1 {
74*4882a593Smuzhiyun					trip = <&cpu0_alert1>;
75*4882a593Smuzhiyun					cooling-device = <&cpu0 3 8>,
76*4882a593Smuzhiyun							 <&cpu1 3 8>,
77*4882a593Smuzhiyun							 <&cpu2 3 8>,
78*4882a593Smuzhiyun							 <&cpu3 3 8>,
79*4882a593Smuzhiyun							 <&cpu4 3 14>,
80*4882a593Smuzhiyun							 <&cpu5 3 14>,
81*4882a593Smuzhiyun							 <&cpu6 3 14>,
82*4882a593Smuzhiyun							 <&cpu7 3 14>;
83*4882a593Smuzhiyun				};
84*4882a593Smuzhiyun			};
85*4882a593Smuzhiyun		};
86*4882a593Smuzhiyun		cpu1_thermal: cpu1-thermal {
87*4882a593Smuzhiyun			thermal-sensors = <&tmu_cpu1 0>;
88*4882a593Smuzhiyun			trips {
89*4882a593Smuzhiyun				cpu1_alert0: cpu-alert-0 {
90*4882a593Smuzhiyun					temperature = <70000>;
91*4882a593Smuzhiyun					hysteresis = <10000>;
92*4882a593Smuzhiyun					type = "active";
93*4882a593Smuzhiyun				};
94*4882a593Smuzhiyun				cpu1_alert1: cpu-alert-1 {
95*4882a593Smuzhiyun					temperature = <85000>;
96*4882a593Smuzhiyun					hysteresis = <10000>;
97*4882a593Smuzhiyun					type = "active";
98*4882a593Smuzhiyun				};
99*4882a593Smuzhiyun				cpu1_crit0: cpu-crit-0 {
100*4882a593Smuzhiyun					temperature = <120000>;
101*4882a593Smuzhiyun					hysteresis = <0>;
102*4882a593Smuzhiyun					type = "critical";
103*4882a593Smuzhiyun				};
104*4882a593Smuzhiyun			};
105*4882a593Smuzhiyun			cooling-maps {
106*4882a593Smuzhiyun				map0 {
107*4882a593Smuzhiyun					trip = <&cpu1_alert0>;
108*4882a593Smuzhiyun					cooling-device = <&cpu0 0 2>,
109*4882a593Smuzhiyun							 <&cpu1 0 2>,
110*4882a593Smuzhiyun							 <&cpu2 0 2>,
111*4882a593Smuzhiyun							 <&cpu3 0 2>,
112*4882a593Smuzhiyun							 <&cpu4 0 2>,
113*4882a593Smuzhiyun							 <&cpu5 0 2>,
114*4882a593Smuzhiyun							 <&cpu6 0 2>,
115*4882a593Smuzhiyun							 <&cpu7 0 2>;
116*4882a593Smuzhiyun				};
117*4882a593Smuzhiyun				map1 {
118*4882a593Smuzhiyun					trip = <&cpu1_alert1>;
119*4882a593Smuzhiyun					cooling-device = <&cpu0 3 8>,
120*4882a593Smuzhiyun							 <&cpu1 3 8>,
121*4882a593Smuzhiyun							 <&cpu2 3 8>,
122*4882a593Smuzhiyun							 <&cpu3 3 8>,
123*4882a593Smuzhiyun							 <&cpu4 3 14>,
124*4882a593Smuzhiyun							 <&cpu5 3 14>,
125*4882a593Smuzhiyun							 <&cpu6 3 14>,
126*4882a593Smuzhiyun							 <&cpu7 3 14>;
127*4882a593Smuzhiyun				};
128*4882a593Smuzhiyun			};
129*4882a593Smuzhiyun		};
130*4882a593Smuzhiyun		cpu2_thermal: cpu2-thermal {
131*4882a593Smuzhiyun			thermal-sensors = <&tmu_cpu2 0>;
132*4882a593Smuzhiyun			trips {
133*4882a593Smuzhiyun				cpu2_alert0: cpu-alert-0 {
134*4882a593Smuzhiyun					temperature = <70000>;
135*4882a593Smuzhiyun					hysteresis = <10000>;
136*4882a593Smuzhiyun					type = "active";
137*4882a593Smuzhiyun				};
138*4882a593Smuzhiyun				cpu2_alert1: cpu-alert-1 {
139*4882a593Smuzhiyun					temperature = <85000>;
140*4882a593Smuzhiyun					hysteresis = <10000>;
141*4882a593Smuzhiyun					type = "active";
142*4882a593Smuzhiyun				};
143*4882a593Smuzhiyun				cpu2_crit0: cpu-crit-0 {
144*4882a593Smuzhiyun					temperature = <120000>;
145*4882a593Smuzhiyun					hysteresis = <0>;
146*4882a593Smuzhiyun					type = "critical";
147*4882a593Smuzhiyun				};
148*4882a593Smuzhiyun			};
149*4882a593Smuzhiyun			cooling-maps {
150*4882a593Smuzhiyun				map0 {
151*4882a593Smuzhiyun					trip = <&cpu2_alert0>;
152*4882a593Smuzhiyun					cooling-device = <&cpu0 0 2>,
153*4882a593Smuzhiyun							 <&cpu1 0 2>,
154*4882a593Smuzhiyun							 <&cpu2 0 2>,
155*4882a593Smuzhiyun							 <&cpu3 0 2>,
156*4882a593Smuzhiyun							 <&cpu4 0 2>,
157*4882a593Smuzhiyun							 <&cpu5 0 2>,
158*4882a593Smuzhiyun							 <&cpu6 0 2>,
159*4882a593Smuzhiyun							 <&cpu7 0 2>;
160*4882a593Smuzhiyun				};
161*4882a593Smuzhiyun				map1 {
162*4882a593Smuzhiyun					trip = <&cpu2_alert1>;
163*4882a593Smuzhiyun					cooling-device = <&cpu0 3 8>,
164*4882a593Smuzhiyun							 <&cpu1 3 8>,
165*4882a593Smuzhiyun							 <&cpu2 3 8>,
166*4882a593Smuzhiyun							 <&cpu3 3 8>,
167*4882a593Smuzhiyun							 <&cpu4 3 14>,
168*4882a593Smuzhiyun							 <&cpu5 3 14>,
169*4882a593Smuzhiyun							 <&cpu6 3 14>,
170*4882a593Smuzhiyun							 <&cpu7 3 14>;
171*4882a593Smuzhiyun				};
172*4882a593Smuzhiyun			};
173*4882a593Smuzhiyun		};
174*4882a593Smuzhiyun		cpu3_thermal: cpu3-thermal {
175*4882a593Smuzhiyun			thermal-sensors = <&tmu_cpu3 0>;
176*4882a593Smuzhiyun			trips {
177*4882a593Smuzhiyun				cpu3_alert0: cpu-alert-0 {
178*4882a593Smuzhiyun					temperature = <70000>;
179*4882a593Smuzhiyun					hysteresis = <10000>;
180*4882a593Smuzhiyun					type = "active";
181*4882a593Smuzhiyun				};
182*4882a593Smuzhiyun				cpu3_alert1: cpu-alert-1 {
183*4882a593Smuzhiyun					temperature = <85000>;
184*4882a593Smuzhiyun					hysteresis = <10000>;
185*4882a593Smuzhiyun					type = "active";
186*4882a593Smuzhiyun				};
187*4882a593Smuzhiyun				cpu3_crit0: cpu-crit-0 {
188*4882a593Smuzhiyun					temperature = <120000>;
189*4882a593Smuzhiyun					hysteresis = <0>;
190*4882a593Smuzhiyun					type = "critical";
191*4882a593Smuzhiyun				};
192*4882a593Smuzhiyun			};
193*4882a593Smuzhiyun			cooling-maps {
194*4882a593Smuzhiyun				map0 {
195*4882a593Smuzhiyun					trip = <&cpu3_alert0>;
196*4882a593Smuzhiyun					cooling-device = <&cpu0 0 2>,
197*4882a593Smuzhiyun							 <&cpu1 0 2>,
198*4882a593Smuzhiyun							 <&cpu2 0 2>,
199*4882a593Smuzhiyun							 <&cpu3 0 2>,
200*4882a593Smuzhiyun							 <&cpu4 0 2>,
201*4882a593Smuzhiyun							 <&cpu5 0 2>,
202*4882a593Smuzhiyun							 <&cpu6 0 2>,
203*4882a593Smuzhiyun							 <&cpu7 0 2>;
204*4882a593Smuzhiyun				};
205*4882a593Smuzhiyun				map1 {
206*4882a593Smuzhiyun					trip = <&cpu3_alert1>;
207*4882a593Smuzhiyun					cooling-device = <&cpu0 3 8>,
208*4882a593Smuzhiyun							 <&cpu1 3 8>,
209*4882a593Smuzhiyun							 <&cpu2 3 8>,
210*4882a593Smuzhiyun							 <&cpu3 3 8>,
211*4882a593Smuzhiyun							 <&cpu4 3 14>,
212*4882a593Smuzhiyun							 <&cpu5 3 14>,
213*4882a593Smuzhiyun							 <&cpu6 3 14>,
214*4882a593Smuzhiyun							 <&cpu7 3 14>;
215*4882a593Smuzhiyun				};
216*4882a593Smuzhiyun			};
217*4882a593Smuzhiyun		};
218*4882a593Smuzhiyun		gpu_thermal: gpu-thermal {
219*4882a593Smuzhiyun			thermal-sensors = <&tmu_gpu 0>;
220*4882a593Smuzhiyun			trips {
221*4882a593Smuzhiyun				gpu_alert0: gpu-alert-0 {
222*4882a593Smuzhiyun					temperature = <70000>;
223*4882a593Smuzhiyun					hysteresis = <10000>;
224*4882a593Smuzhiyun					type = "active";
225*4882a593Smuzhiyun				};
226*4882a593Smuzhiyun				gpu_alert1: gpu-alert-1 {
227*4882a593Smuzhiyun					temperature = <85000>;
228*4882a593Smuzhiyun					hysteresis = <10000>;
229*4882a593Smuzhiyun					type = "active";
230*4882a593Smuzhiyun				};
231*4882a593Smuzhiyun				gpu_crit0: gpu-crit-0 {
232*4882a593Smuzhiyun					temperature = <120000>;
233*4882a593Smuzhiyun					hysteresis = <0>;
234*4882a593Smuzhiyun					type = "critical";
235*4882a593Smuzhiyun				};
236*4882a593Smuzhiyun			};
237*4882a593Smuzhiyun			cooling-maps {
238*4882a593Smuzhiyun				map0 {
239*4882a593Smuzhiyun					trip = <&gpu_alert0>;
240*4882a593Smuzhiyun					cooling-device = <&gpu 0 2>;
241*4882a593Smuzhiyun				};
242*4882a593Smuzhiyun				map1 {
243*4882a593Smuzhiyun					trip = <&gpu_alert1>;
244*4882a593Smuzhiyun					cooling-device = <&gpu 3 6>;
245*4882a593Smuzhiyun				};
246*4882a593Smuzhiyun			};
247*4882a593Smuzhiyun		};
248*4882a593Smuzhiyun	};
249*4882a593Smuzhiyun
250*4882a593Smuzhiyun};
251*4882a593Smuzhiyun
252*4882a593Smuzhiyun&pwm {
253*4882a593Smuzhiyun	/*
254*4882a593Smuzhiyun	 * PWM 2 -- Blue LED
255*4882a593Smuzhiyun	 */
256*4882a593Smuzhiyun	pinctrl-0 = <&pwm2_out>;
257*4882a593Smuzhiyun	pinctrl-names = "default";
258*4882a593Smuzhiyun	samsung,pwm-outputs = <2>;
259*4882a593Smuzhiyun	status = "okay";
260*4882a593Smuzhiyun};
261*4882a593Smuzhiyun
262*4882a593Smuzhiyun&usbdrd_dwc3_1 {
263*4882a593Smuzhiyun	dr_mode = "host";
264*4882a593Smuzhiyun};
265