1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
3 * Google Gru-Kevin Rev 6+ board device tree source
5 * Copyright 2016-2017 Google, Inc
9 #include "rk3399-gru-chromebook.dtsi"
10 #include <dt-bindings/input/linux-event-codes.h>
13 * Kevin-specific things
15 * Things in this section should use names from Kevin schematic since no
16 * equivalent exists in Gru schematic. If referring to signals that exist
17 * in Gru we use the Gru names, though. Confusing enough for you?
20 model = "Google Kevin";
21 compatible = "google,kevin-rev15", "google,kevin-rev14",
22 "google,kevin-rev13", "google,kevin-rev12",
23 "google,kevin-rev11", "google,kevin-rev10",
24 "google,kevin-rev9", "google,kevin-rev8",
25 "google,kevin-rev7", "google,kevin-rev6",
26 "google,kevin", "google,gru", "rockchip,rk3399";
30 p3_3v_dig: p3-3v-dig {
31 compatible = "regulator-fixed";
32 regulator-name = "p3.3v_dig";
33 pinctrl-names = "default";
34 pinctrl-0 = <&cpu3_pen_pwr_en>;
37 gpio = <&gpio4 30 GPIO_ACTIVE_HIGH>;
38 vin-supply = <&pp3300>;
41 edp_panel: edp-panel {
42 compatible = "sharp,lq123p1jx31", "simple-panel";
43 backlight = <&backlight>;
44 power-supply = <&pp3300_disp>;
47 panel_in_edp: endpoint {
48 remote-endpoint = <&edp_out_panel>;
53 thermistor_ppvar_bigcpu: thermistor-ppvar-bigcpu {
54 compatible = "murata,ncp15wb473";
55 pullup-uv = <1800000>;
58 io-channels = <&saradc 2>;
59 #thermal-sensor-cells = <0>;
62 thermistor_ppvar_litcpu: thermistor-ppvar-litcpu {
63 compatible = "murata,ncp15wb473";
64 pullup-uv = <1800000>;
67 io-channels = <&saradc 3>;
68 #thermal-sensor-cells = <0>;
73 pwms = <&cros_ec_pwm 1>;
77 pinctrl-names = "default";
78 pinctrl-0 = <&bt_host_wake_l>, <&cpu1_pen_eject>;
82 /* Insert = low, eject = high */
83 gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
84 linux,code = <SW_PEN_INSERTED>;
85 linux,input-type = <EV_SW>;
91 bigcpu_reg_thermal: bigcpu-reg-thermal {
92 polling-delay-passive = <100>; /* milliseconds */
93 polling-delay = <1000>; /* milliseconds */
94 thermal-sensors = <&thermistor_ppvar_bigcpu 0>;
95 sustainable-power = <4000>;
97 ppvar_bigcpu_trips: trips {
98 ppvar_bigcpu_on: ppvar-bigcpu-on {
99 temperature = <40000>; /* millicelsius */
100 hysteresis = <2000>; /* millicelsius */
104 ppvar_bigcpu_alert: ppvar-bigcpu-alert {
105 temperature = <50000>; /* millicelsius */
106 hysteresis = <2000>; /* millicelsius */
110 ppvar_bigcpu_crit: ppvar-bigcpu-crit {
111 temperature = <90000>; /* millicelsius */
112 hysteresis = <0>; /* millicelsius */
119 trip = <&ppvar_bigcpu_alert>;
121 <&cpu_l0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
122 contribution = <4096>;
125 trip = <&ppvar_bigcpu_alert>;
127 <&cpu_b0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
128 contribution = <1024>;
133 litcpu_reg_thermal: litcpu-reg-thermal {
134 polling-delay-passive = <100>; /* milliseconds */
135 polling-delay = <1000>; /* milliseconds */
136 thermal-sensors = <&thermistor_ppvar_litcpu 0>;
137 sustainable-power = <4000>;
139 ppvar_litcpu_trips: trips {
140 ppvar_litcpu_on: ppvar-litcpu-on {
141 temperature = <40000>; /* millicelsius */
142 hysteresis = <2000>; /* millicelsius */
146 ppvar_litcpu_alert: ppvar-litcpu-alert {
147 temperature = <50000>; /* millicelsius */
148 hysteresis = <2000>; /* millicelsius */
152 ppvar_litcpu_crit: ppvar-litcpu-crit {
153 temperature = <90000>; /* millicelsius */
154 hysteresis = <0>; /* millicelsius */
164 clock-frequency = <400000>;
166 /* These are relatively safe rise/fall times. */
167 i2c-scl-falling-time-ns = <50>;
168 i2c-scl-rising-time-ns = <300>;
171 compatible = "infineon,slb9645tt";
173 powered-while-suspended;
180 clock-frequency = <400000>;
182 /* These are relatively safe rise/fall times. */
183 i2c-scl-falling-time-ns = <50>;
184 i2c-scl-rising-time-ns = <300>;
186 digitizer: digitizer@9 {
188 compatible = "hid-over-i2c";
190 pinctrl-names = "default";
191 pinctrl-0 = <&cpu1_dig_irq_l &cpu1_dig_pdct_l>;
193 vdd-supply = <&p3_3v_dig>;
194 post-power-on-delay-ms = <100>;
196 interrupt-parent = <&gpio2>;
197 interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
199 hid-descr-addr = <0x1>;
203 /* Adjustments to things in the gru baseboard */
207 compatible = "atmel,maxtouch";
209 pinctrl-names = "default";
210 pinctrl-0 = <&trackpad_int_l>;
211 interrupt-parent = <&gpio1>;
212 interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
213 linux,gpio-keymap = <KEY_RESERVED
223 compatible = "atmel,maxtouch";
225 pinctrl-names = "default";
226 pinctrl-0 = <&touch_int_l>;
227 interrupt-parent = <&gpio3>;
228 interrupts = <13 IRQ_TYPE_LEVEL_LOW>;
233 regulator-min-microvolt = <798674>;
234 regulator-max-microvolt = <1302172>;
238 regulator-min-microvolt = <798674>;
239 regulator-max-microvolt = <1302172>;
240 ctrl-voltage-range = <798674 1302172>;
244 regulator-min-microvolt = <799065>;
245 regulator-max-microvolt = <1303738>;
249 regulator-min-microvolt = <799065>;
250 regulator-max-microvolt = <1303738>;
251 ctrl-voltage-range = <799065 1303738>;
255 regulator-min-microvolt = <785782>;
256 regulator-max-microvolt = <1217729>;
260 regulator-min-microvolt = <785782>;
261 regulator-max-microvolt = <1217729>;
262 ctrl-voltage-range = <785782 1217729>;
265 &ppvar_centerlogic_pwm {
266 regulator-min-microvolt = <800069>;
267 regulator-max-microvolt = <1049692>;
271 regulator-min-microvolt = <800069>;
272 regulator-max-microvolt = <1049692>;
273 ctrl-voltage-range = <800069 1049692>;
278 vref-supply = <&pp1800_ap_io>;
282 marvell,wakeup-pin = <14>; /* GPIO_14 on Marvell */
287 /* Has external pullup */
288 cpu1_dig_irq_l: cpu1-dig-irq-l {
289 rockchip,pins = <2 4 RK_FUNC_GPIO &pcfg_pull_none>;
292 /* Has external pullup */
293 cpu1_dig_pdct_l: cpu1-dig-pdct-l {
294 rockchip,pins = <2 5 RK_FUNC_GPIO &pcfg_pull_none>;
298 discrete-regulators {
299 cpu3_pen_pwr_en: cpu3-pen-pwr-en {
300 rockchip,pins = <4 30 RK_FUNC_GPIO &pcfg_pull_none>;
305 cpu1_pen_eject: cpu1-pen-eject {
306 rockchip,pins = <0 13 RK_FUNC_GPIO &pcfg_pull_up>;