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