• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Google Veyron (and derivatives) board device tree source
4 * Chromebook specific parts
5 *
6 * Copyright 2015 Google, Inc
7 */
8
9#include <dt-bindings/clock/rockchip,rk808.h>
10#include <dt-bindings/input/input.h>
11#include "rk3288-veyron.dtsi"
12#include "rk3288-veyron-analog-audio.dtsi"
13#include "rk3288-veyron-sdmmc.dtsi"
14
15/ {
16	aliases {
17		/* Assign 20 so we don't get confused w/ builtin ones */
18		i2c20 = &i2c_tunnel;
19	};
20
21	backlight: backlight {
22		compatible = "pwm-backlight";
23		brightness-levels = <
24			  0   1   2   3   4   5   6   7
25			  8   9  10  11  12  13  14  15
26			 16  17  18  19  20  21  22  23
27			 24  25  26  27  28  29  30  31
28			 32  33  34  35  36  37  38  39
29			 40  41  42  43  44  45  46  47
30			 48  49  50  51  52  53  54  55
31			 56  57  58  59  60  61  62  63
32			 64  65  66  67  68  69  70  71
33			 72  73  74  75  76  77  78  79
34			 80  81  82  83  84  85  86  87
35			 88  89  90  91  92  93  94  95
36			 96  97  98  99 100 101 102 103
37			104 105 106 107 108 109 110 111
38			112 113 114 115 116 117 118 119
39			120 121 122 123 124 125 126 127
40			128 129 130 131 132 133 134 135
41			136 137 138 139 140 141 142 143
42			144 145 146 147 148 149 150 151
43			152 153 154 155 156 157 158 159
44			160 161 162 163 164 165 166 167
45			168 169 170 171 172 173 174 175
46			176 177 178 179 180 181 182 183
47			184 185 186 187 188 189 190 191
48			192 193 194 195 196 197 198 199
49			200 201 202 203 204 205 206 207
50			208 209 210 211 212 213 214 215
51			216 217 218 219 220 221 222 223
52			224 225 226 227 228 229 230 231
53			232 233 234 235 236 237 238 239
54			240 241 242 243 244 245 246 247
55			248 249 250 251 252 253 254 255>;
56		default-brightness-level = <128>;
57		enable-gpios = <&gpio7 RK_PA2 GPIO_ACTIVE_HIGH>;
58		pinctrl-names = "default";
59		pinctrl-0 = <&bl_en>;
60		pwms = <&pwm0 0 1000000 0>;
61		post-pwm-on-delay-ms = <10>;
62		pwm-off-delay-ms = <10>;
63	};
64
65	gpio-charger {
66		compatible = "gpio-charger";
67		charger-type = "mains";
68		gpios = <&gpio0 RK_PB0 GPIO_ACTIVE_HIGH>;
69		pinctrl-names = "default";
70		pinctrl-0 = <&ac_present_ap>;
71	};
72
73	panel: panel {
74		compatible ="innolux,n116bge", "simple-panel";
75		status = "okay";
76		power-supply = <&vcc33_lcd>;
77		backlight = <&backlight>;
78
79		ports {
80			panel_in: port {
81				panel_in_edp: endpoint {
82					remote-endpoint = <&edp_out_panel>;
83				};
84			};
85		};
86	};
87
88	/* A non-regulated voltage from power supply or battery */
89	vccsys: vccsys {
90		compatible = "regulator-fixed";
91		regulator-name = "vccsys";
92		regulator-boot-on;
93		regulator-always-on;
94	};
95
96	vcc33_sys: vcc33-sys {
97		vin-supply = <&vccsys>;
98	};
99
100	vcc_5v: vcc-5v {
101		vin-supply = <&vccsys>;
102	};
103
104	/* This turns on vbus for host1 (dwc2) */
105	vcc5_host1: vcc5-host1-regulator {
106		compatible = "regulator-fixed";
107		enable-active-high;
108		gpio = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH>;
109		pinctrl-names = "default";
110		pinctrl-0 = <&host1_pwr_en>;
111		regulator-name = "vcc5_host1";
112		regulator-always-on;
113		regulator-boot-on;
114	};
115
116	/* This turns on vbus for otg for host mode (dwc2) */
117	vcc5v_otg: vcc5v-otg-regulator {
118		compatible = "regulator-fixed";
119		enable-active-high;
120		gpio = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>;
121		pinctrl-names = "default";
122		pinctrl-0 = <&usbotg_pwren_h>;
123		regulator-name = "vcc5_host2";
124		regulator-always-on;
125		regulator-boot-on;
126	};
127};
128
129&edp {
130	status = "okay";
131
132	pinctrl-names = "default";
133	pinctrl-0 = <&edp_hpd>;
134
135	ports {
136		edp_out: port@1 {
137			reg = <1>;
138			#address-cells = <1>;
139			#size-cells = <0>;
140			edp_out_panel: endpoint@0 {
141				reg = <0>;
142				remote-endpoint = <&panel_in_edp>;
143			};
144		};
145	};
146};
147
148&edp_phy {
149	status = "okay";
150};
151
152&gpio_keys {
153	pinctrl-0 = <&pwr_key_l &ap_lid_int_l>;
154	lid {
155		label = "Lid";
156		gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_LOW>;
157		wakeup-source;
158		linux,code = <0>; /* SW_LID */
159		linux,input-type = <5>; /* EV_SW */
160		debounce-interval = <1>;
161	};
162};
163
164&pwm0 {
165	status = "okay";
166};
167
168&rk808 {
169	vcc11-supply = <&vcc_5v>;
170
171	regulators {
172		vcc33_ccd: LDO_REG8 {
173			regulator-name = "vcc33_ccd";
174			regulator-always-on;
175			regulator-boot-on;
176			regulator-min-microvolt = <3300000>;
177			regulator-max-microvolt = <3300000>;
178			regulator-state-mem {
179				regulator-on-in-suspend;
180				regulator-suspend-microvolt = <3300000>;
181			};
182		};
183	};
184};
185
186&spi0 {
187	status = "okay";
188
189	cros_ec: ec@0 {
190		compatible = "google,cros-ec-spi";
191		reg = <0>;
192		google,cros-ec-spi-pre-delay = <30>;
193		interrupt-parent = <&gpio7>;
194		interrupts = <RK_PA7 IRQ_TYPE_LEVEL_LOW>;
195		pinctrl-names = "default";
196		pinctrl-0 = <&ec_int>;
197		spi-max-frequency = <3000000>;
198
199		i2c_tunnel: i2c-tunnel {
200			compatible = "google,cros-ec-i2c-tunnel";
201			google,remote-bus = <0>;
202			#address-cells = <1>;
203			#size-cells = <0>;
204		};
205	};
206};
207
208&i2c4 {
209	trackpad@15 {
210		compatible = "elan,ekth3000";
211		reg = <0x15>;
212		interrupt-parent = <&gpio7>;
213		interrupts = <RK_PA3 IRQ_TYPE_EDGE_FALLING>;
214		pinctrl-names = "default";
215		pinctrl-0 = <&trackpad_int>;
216		vcc-supply = <&vcc33_io>;
217		wakeup-source;
218	};
219};
220
221&vopl {
222	status = "okay";
223};
224
225&vopl_mmu {
226	status = "okay";
227};
228
229&pinctrl {
230	pinctrl-0 = <
231		/* Common for sleep and wake, but no owners */
232		&global_pwroff
233
234		/* Wake only */
235		&suspend_l_wake
236	>;
237	pinctrl-1 = <
238		/* Common for sleep and wake, but no owners */
239		&global_pwroff
240
241		/* Sleep only */
242		&suspend_l_sleep
243	>;
244
245	backlight {
246		bl_en: bl-en {
247			rockchip,pins = <7 2 RK_FUNC_GPIO &pcfg_pull_none>;
248		};
249	};
250
251	buttons {
252		ap_lid_int_l: ap-lid-int-l {
253			rockchip,pins = <0 6 RK_FUNC_GPIO &pcfg_pull_up>;
254		};
255	};
256
257	charger {
258		ac_present_ap: ac-present-ap {
259			rockchip,pins = <0 8 RK_FUNC_GPIO &pcfg_pull_up>;
260		};
261	};
262
263	cros-ec {
264		ec_int: ec-int {
265			rockchip,pins = <7 7 RK_FUNC_GPIO &pcfg_pull_none>;
266		};
267	};
268
269	suspend {
270		suspend_l_wake: suspend-l-wake {
271			rockchip,pins = <0 17 RK_FUNC_GPIO &pcfg_output_low>;
272		};
273
274		suspend_l_sleep: suspend-l-sleep {
275			rockchip,pins = <0 17 RK_FUNC_GPIO &pcfg_output_high>;
276		};
277	};
278
279	trackpad {
280		trackpad_int: trackpad-int {
281			rockchip,pins = <7 3 RK_FUNC_GPIO &pcfg_pull_up>;
282		};
283	};
284
285	usb-host {
286		host1_pwr_en: host1-pwr-en {
287			rockchip,pins = <0 11 RK_FUNC_GPIO &pcfg_pull_none>;
288		};
289
290		usbotg_pwren_h: usbotg-pwren-h {
291			rockchip,pins = <0 12 RK_FUNC_GPIO &pcfg_pull_none>;
292		};
293	};
294};
295
296#include "cros-ec-keyboard.dtsi"
297