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