1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
3 * Google Veyron Mickey Rev 0 board device tree source
5 * Copyright 2015 Google, Inc
9 #include "rk3288-veyron.dtsi"
12 model = "Google Mickey";
13 compatible = "google,veyron-mickey-rev8", "google,veyron-mickey-rev7",
14 "google,veyron-mickey-rev6", "google,veyron-mickey-rev5",
15 "google,veyron-mickey-rev4", "google,veyron-mickey-rev3",
16 "google,veyron-mickey-rev2", "google,veyron-mickey-rev1",
17 "google,veyron-mickey-rev0", "google,veyron-mickey",
18 "google,veyron", "rockchip,rk3288";
21 vin-supply = <&vcc33_sys>;
25 compatible = "regulator-fixed";
26 regulator-name = "vcc33_io";
29 vin-supply = <&vcc33_sys>;
33 compatible = "rockchip,rockchip-audio-max98090";
34 rockchip,model = "VEYRON-HDMI";
35 rockchip,hdmi-codec = <&hdmi>;
36 rockchip,i2s-controller = <&i2s>;
42 /delete-node/ cooling-maps;
45 cpu_alert_almost_warm: cpu_alert_almost_warm {
46 temperature = <63000>; /* millicelsius */
47 hysteresis = <2000>; /* millicelsius */
50 cpu_alert_warm: cpu_alert_warm {
51 temperature = <65000>; /* millicelsius */
52 hysteresis = <2000>; /* millicelsius */
55 cpu_alert_almost_hot: cpu_alert_almost_hot {
56 temperature = <80000>; /* millicelsius */
57 hysteresis = <2000>; /* millicelsius */
60 cpu_alert_hot: cpu_alert_hot {
61 temperature = <82000>; /* millicelsius */
62 hysteresis = <2000>; /* millicelsius */
65 cpu_alert_hotter: cpu_alert_hotter {
66 temperature = <84000>; /* millicelsius */
67 hysteresis = <2000>; /* millicelsius */
70 cpu_alert_very_hot: cpu_alert_very_hot {
71 temperature = <85000>; /* millicelsius */
72 hysteresis = <2000>; /* millicelsius */
76 temperature = <90000>; /* millicelsius */
77 hysteresis = <2000>; /* millicelsius */
84 * After 1st level, throttle the CPU down to as low as 1.4 GHz
85 * and don't let the GPU go faster than 400 MHz.
88 trip = <&cpu_alert_warm>;
89 cooling-device = <&cpu0 THERMAL_NO_LIMIT 4>,
90 <&cpu1 THERMAL_NO_LIMIT 4>,
91 <&cpu2 THERMAL_NO_LIMIT 4>,
92 <&cpu3 THERMAL_NO_LIMIT 4>;
95 trip = <&cpu_alert_warm>;
96 cooling-device = <&gpu 1 1>;
100 * Add some discrete steps to help throttling system deal
101 * with the fact that there are two passive cooling devices:
102 * the CPU and the GPU.
104 * - 1.2 GHz - 1.0 GHz (almost hot)
106 * - 800 MHz - 696 MHz (hotter)
107 * - 696 MHz - min (very hot)
110 * - 800 MHz appears to be a "sweet spot" for me. I can run
111 * some pretty serious workload here and be happy.
112 * - After 696 MHz we stop lowering voltage, so throttling
113 * past there is less effective.
115 cpu_almost_hot_limit_cpu {
116 trip = <&cpu_alert_almost_hot>;
117 cooling-device = <&cpu0 5 6>, <&cpu1 5 6>, <&cpu2 5 6>,
121 trip = <&cpu_alert_hot>;
122 cooling-device = <&cpu0 7 7>, <&cpu1 7 7>, <&cpu2 7 7>,
125 cpu_hotter_limit_cpu {
126 trip = <&cpu_alert_hotter>;
127 cooling-device = <&cpu0 7 8>, <&cpu1 7 8>, <&cpu2 7 8>,
130 cpu_very_hot_limit_cpu {
131 trip = <&cpu_alert_very_hot>;
132 cooling-device = <&cpu0 8 THERMAL_NO_LIMIT>,
133 <&cpu1 8 THERMAL_NO_LIMIT>,
134 <&cpu2 8 THERMAL_NO_LIMIT>,
135 <&cpu3 8 THERMAL_NO_LIMIT>;
138 /* At very hot, don't let GPU go over 300 MHz */
139 cpu_very_hot_limit_gpu {
140 trip = <&cpu_alert_very_hot>;
141 cooling-device = <&gpu 2 2>;
148 /delete-node/ cooling-maps;
151 gpu_alert_warmish: gpu_alert_warmish {
152 temperature = <60000>; /* millicelsius */
153 hysteresis = <2000>; /* millicelsius */
156 gpu_alert_warm: gpu_alert_warm {
157 temperature = <65000>; /* millicelsius */
158 hysteresis = <2000>; /* millicelsius */
161 gpu_alert_hotter: gpu_alert_hotter {
162 temperature = <84000>; /* millicelsius */
163 hysteresis = <2000>; /* millicelsius */
166 gpu_alert_very_very_hot: gpu_alert_very_very_hot {
167 temperature = <86000>; /* millicelsius */
168 hysteresis = <2000>; /* millicelsius */
172 temperature = <90000>; /* millicelsius */
173 hysteresis = <2000>; /* millicelsius */
179 /* After 1st level throttle the GPU down to as low as 400 MHz */
180 gpu_warmish_limit_gpu {
181 trip = <&gpu_alert_warmish>;
182 cooling-device = <&gpu THERMAL_NO_LIMIT 1>;
186 * Slightly after we throttle the GPU, we'll also make sure that
187 * the CPU can't go faster than 1.4 GHz. Note that we won't
188 * throttle the CPU lower than 1.4 GHz due to GPU heat--we'll
189 * let the CPU do the rest itself.
192 trip = <&gpu_alert_warm>;
193 cooling-device = <&cpu0 4 4>,
199 /* When hot, GPU goes down to 300 MHz */
200 gpu_hotter_limit_gpu {
201 trip = <&gpu_alert_hotter>;
202 cooling-device = <&gpu 2 2>;
205 /* When really hot, don't let GPU go _above_ 300 MHz */
206 gpu_very_very_hot_limit_gpu {
207 trip = <&gpu_alert_very_very_hot>;
208 cooling-device = <&gpu 2 THERMAL_NO_LIMIT>;
226 pinctrl-names = "default";
227 pinctrl-0 = <&pmic_int_l &dvs_1 &dvs_2>;
228 dvs-gpios = <&gpio7 RK_PB4 GPIO_ACTIVE_HIGH>,
229 <&gpio7 RK_PB7 GPIO_ACTIVE_HIGH>;
231 /delete-property/ vcc6-supply;
232 /delete-property/ vcc12-supply;
234 vcc11-supply = <&vcc33_sys>;
237 /* vcc33_io is sourced directly from vcc33_sys */
238 /delete-node/ LDO_REG1;
239 /delete-node/ LDO_REG7;
241 /* This is not a pwren anymore, but the real power supply */
242 vdd10_lcd: LDO_REG7 {
245 regulator-min-microvolt = <1000000>;
246 regulator-max-microvolt = <1000000>;
247 regulator-name = "vdd10_lcd";
248 regulator-suspend-mem-disabled;
251 vcc18_lcd: LDO_REG8 {
254 regulator-min-microvolt = <1800000>;
255 regulator-max-microvolt = <1800000>;
256 regulator-name = "vcc18_lcd";
257 regulator-suspend-mem-disabled;
263 gpio-line-names = "PMIC_SLEEP_AP",
274 * RECOVERY_SW_L is Chrome OS ABI. Schematics call
291 gpio-line-names = "CONFIG0",
305 gpio-line-names = "FLASH0_D0",
323 "FLASH0_CS2/EMMC_CMD",
325 "FLASH0_DQS/EMMC_CLKO";
329 gpio-line-names = "",
367 gpio-line-names = "",
374 * AP_FLASH_WP_L is Chrome OS ABI. Schematics call
400 gpio-line-names = "RAM_ID0",
415 power_hdmi_on: power-hdmi-on {
416 rockchip,pins = <7 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
422 rockchip,pins = <7 RK_PB4 RK_FUNC_GPIO &pcfg_pull_down>;
426 rockchip,pins = <7 RK_PB7 RK_FUNC_GPIO &pcfg_pull_down>;
441 gpio = <&gpio7 RK_PB3 GPIO_ACTIVE_HIGH>;
442 pinctrl-names = "default";
443 pinctrl-0 = <&power_hdmi_on>;