2 * Google Veyron Mickey Rev 0 board device tree source
4 * Copyright 2015 Google, Inc
6 * This file is dual-licensed: you can use it either under the terms
7 * of the GPL or the X11 license, at your option. Note that this dual
8 * licensing only applies to this file, and not this project as a
11 * a) This file is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU General Public License as
13 * published by the Free Software Foundation; either version 2 of the
14 * License, or (at your option) any later version.
16 * This file is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
23 * b) Permission is hereby granted, free of charge, to any person
24 * obtaining a copy of this software and associated documentation
25 * files (the "Software"), to deal in the Software without
26 * restriction, including without limitation the rights to use,
27 * copy, modify, merge, publish, distribute, sublicense, and/or
28 * sell copies of the Software, and to permit persons to whom the
29 * Software is furnished to do so, subject to the following
32 * The above copyright notice and this permission notice shall be
33 * included in all copies or substantial portions of the Software.
35 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
36 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
37 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
38 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
39 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
40 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
41 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
42 * OTHER DEALINGS IN THE SOFTWARE.
46 #include "rk3288-veyron-chromebook.dtsi"
49 model = "Google Mickey";
50 compatible = "google,veyron-mickey-rev8", "google,veyron-mickey-rev7",
51 "google,veyron-mickey-rev6", "google,veyron-mickey-rev5",
52 "google,veyron-mickey-rev4", "google,veyron-mickey-rev3",
53 "google,veyron-mickey-rev2", "google,veyron-mickey-rev1",
54 "google,veyron-mickey-rev0", "google,veyron-mickey",
55 "google,veyron", "rockchip,rk3288";
58 vin-supply = <&vcc33_sys>;
62 compatible = "regulator-fixed";
63 regulator-name = "vcc33_io";
66 vin-supply = <&vcc33_sys>;
72 /delete-node/ cooling-maps;
75 cpu_alert_almost_warm: cpu_alert_almost_warm {
76 temperature = <63000>; /* millicelsius */
77 hysteresis = <2000>; /* millicelsius */
80 cpu_alert_warm: cpu_alert_warm {
81 temperature = <65000>; /* millicelsius */
82 hysteresis = <2000>; /* millicelsius */
85 cpu_alert_almost_hot: cpu_alert_almost_hot {
86 temperature = <80000>; /* millicelsius */
87 hysteresis = <2000>; /* millicelsius */
90 cpu_alert_hot: cpu_alert_hot {
91 temperature = <82000>; /* millicelsius */
92 hysteresis = <2000>; /* millicelsius */
95 cpu_alert_hotter: cpu_alert_hotter {
96 temperature = <84000>; /* millicelsius */
97 hysteresis = <2000>; /* millicelsius */
100 cpu_alert_very_hot: cpu_alert_very_hot {
101 temperature = <85000>; /* millicelsius */
102 hysteresis = <2000>; /* millicelsius */
106 temperature = <90000>; /* millicelsius */
107 hysteresis = <2000>; /* millicelsius */
114 * After 1st level, throttle the CPU down to as low as 1.4 GHz
115 * and don't let the GPU go faster than 400 MHz. Note that we
116 * won't throttle the GPU lower than 400 MHz due to CPU
117 * heat--we'll let the GPU do the rest itself.
120 trip = <&cpu_alert_warm>;
122 <&cpu0 THERMAL_NO_LIMIT 4>;
126 * Add some discrete steps to help throttling system deal
127 * with the fact that there are two passive cooling devices:
128 * the CPU and the GPU.
130 * - 1.2 GHz - 1.0 GHz (almost hot)
132 * - 800 MHz - 696 MHz (hotter)
133 * - 696 MHz - min (very hot)
136 * - 800 MHz appears to be a "sweet spot" for me. I can run
137 * some pretty serious workload here and be happy.
138 * - After 696 MHz we stop lowering voltage, so throttling
139 * past there is less effective.
141 cpu_almost_hot_limit_cpu {
142 trip = <&cpu_alert_almost_hot>;
147 trip = <&cpu_alert_hot>;
151 cpu_hotter_limit_cpu {
152 trip = <&cpu_alert_hotter>;
156 cpu_very_hot_limit_cpu {
157 trip = <&cpu_alert_very_hot>;
159 <&cpu0 8 THERMAL_NO_LIMIT>;
165 rockchip,pctl-timing = <0x215 0xc8 0x0 0x35 0x26 0x2 0x70 0x2000d
166 0x6 0x0 0x8 0x4 0x17 0x24 0xd 0x6
167 0x4 0x8 0x4 0x76 0x4 0x0 0x30 0x0
168 0x1 0x2 0x2 0x4 0x0 0x0 0xc0 0x4
170 rockchip,phy-timing = <0x48d7dd93 0x187008d8 0x121076
172 rockchip,sdram-params = <0x20d266a4 0x5b6 2 533000000 6 9 1>;
176 /delete-property/mmc-hs200-1_8v;
189 clock-names = "i2s_hclk", "i2s_clk", "i2s_clk_out";
190 clocks = <&cru HCLK_I2S0>, <&cru SCLK_I2S0>, <&cru SCLK_I2S0_OUT>;
194 pinctrl-names = "default";
195 pinctrl-0 = <&pmic_int_l &dvs_1 &dvs_2>;
196 dvs-gpios = <&gpio7 12 GPIO_ACTIVE_HIGH>,
197 <&gpio7 15 GPIO_ACTIVE_HIGH>;
199 /delete-property/ vcc6-supply;
200 /delete-property/ vcc12-supply;
202 vcc11-supply = <&vcc33_sys>;
205 /* vcc33_io is sourced directly from vcc33_sys */
206 /delete-node/ LDO_REG1;
207 /delete-node/ LDO_REG7;
209 /* This is not a pwren anymore, but the real power supply */
210 vdd10_lcd: LDO_REG7 {
213 regulator-min-microvolt = <1000000>;
214 regulator-max-microvolt = <1000000>;
215 regulator-name = "vdd10_lcd";
216 regulator-suspend-mem-disabled;
219 vcc18_lcd: LDO_REG8 {
222 regulator-min-microvolt = <1800000>;
223 regulator-max-microvolt = <1800000>;
224 regulator-name = "vcc18_lcd";
225 regulator-suspend-mem-disabled;
232 power_hdmi_on: power-hdmi-on {
233 rockchip,pins = <7 11 RK_FUNC_GPIO &pcfg_pull_none>;
239 rockchip,pins = <7 12 RK_FUNC_GPIO &pcfg_pull_down>;
243 rockchip,pins = <7 15 RK_FUNC_GPIO &pcfg_pull_down>;
274 gpio = <&gpio7 11 GPIO_ACTIVE_HIGH>;
275 pinctrl-names = "default";
276 pinctrl-0 = <&power_hdmi_on>;