xref: /linux/scripts/dtc/include-prefixes/arm/rockchip/rk3288-veyron.dtsi (revision c34e9ab9a612ee8b18273398ef75c207b01f516d)
1724ba675SRob Herring// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2724ba675SRob Herring/*
3724ba675SRob Herring * Google Veyron (and derivatives) board device tree source
4724ba675SRob Herring *
5724ba675SRob Herring * Copyright 2015 Google, Inc
6724ba675SRob Herring */
7724ba675SRob Herring
8724ba675SRob Herring#include <dt-bindings/clock/rockchip,rk808.h>
9724ba675SRob Herring#include <dt-bindings/input/input.h>
10724ba675SRob Herring#include "rk3288.dtsi"
11724ba675SRob Herring
12724ba675SRob Herring/ {
13724ba675SRob Herring	aliases {
14724ba675SRob Herring		mmc0 = &emmc;
15724ba675SRob Herring	};
16724ba675SRob Herring
17724ba675SRob Herring	chosen {
18724ba675SRob Herring		stdout-path = "serial2:115200n8";
19724ba675SRob Herring	};
20724ba675SRob Herring
21724ba675SRob Herring	/*
22724ba675SRob Herring	 * The default coreboot on veyron devices ignores memory@0 nodes
23724ba675SRob Herring	 * and would instead create another memory node.
24724ba675SRob Herring	 */
25724ba675SRob Herring	memory {
26724ba675SRob Herring		device_type = "memory";
27724ba675SRob Herring		reg = <0x0 0x0 0x0 0x80000000>;
28724ba675SRob Herring	};
29724ba675SRob Herring
30724ba675SRob Herring
31724ba675SRob Herring	power_button: power-button {
32724ba675SRob Herring		compatible = "gpio-keys";
33724ba675SRob Herring		pinctrl-names = "default";
34724ba675SRob Herring		pinctrl-0 = <&pwr_key_l>;
35724ba675SRob Herring
36724ba675SRob Herring		key-power {
37724ba675SRob Herring			label = "Power";
38724ba675SRob Herring			gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
39724ba675SRob Herring			linux,code = <KEY_POWER>;
40724ba675SRob Herring			debounce-interval = <100>;
41724ba675SRob Herring			wakeup-source;
42724ba675SRob Herring		};
43724ba675SRob Herring	};
44724ba675SRob Herring
45724ba675SRob Herring	gpio-restart {
46724ba675SRob Herring		compatible = "gpio-restart";
47724ba675SRob Herring		gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>;
48724ba675SRob Herring		pinctrl-names = "default";
49724ba675SRob Herring		pinctrl-0 = <&ap_warm_reset_h>;
50724ba675SRob Herring		priority = <200>;
51724ba675SRob Herring	};
52724ba675SRob Herring
53724ba675SRob Herring	emmc_pwrseq: emmc-pwrseq {
54724ba675SRob Herring		compatible = "mmc-pwrseq-emmc";
55724ba675SRob Herring		pinctrl-0 = <&emmc_reset>;
56724ba675SRob Herring		pinctrl-names = "default";
57724ba675SRob Herring		reset-gpios = <&gpio2 RK_PB1 GPIO_ACTIVE_HIGH>;
58724ba675SRob Herring	};
59724ba675SRob Herring
60724ba675SRob Herring	sdio_pwrseq: sdio-pwrseq {
61724ba675SRob Herring		compatible = "mmc-pwrseq-simple";
62724ba675SRob Herring		clocks = <&rk808 RK808_CLKOUT1>;
63724ba675SRob Herring		clock-names = "ext_clock";
64724ba675SRob Herring		pinctrl-names = "default";
65724ba675SRob Herring		pinctrl-0 = <&wifi_enable_h>;
66724ba675SRob Herring
67724ba675SRob Herring		/*
68724ba675SRob Herring		 * Depending on the actual card populated GPIO4 D4
69724ba675SRob Herring		 * correspond to one of these signals on the module:
70724ba675SRob Herring		 *
71724ba675SRob Herring		 * D4:
72724ba675SRob Herring		 * - SDIO_RESET_L_WL_REG_ON
73724ba675SRob Herring		 * - PDN (power down when low)
74724ba675SRob Herring		 */
75724ba675SRob Herring		reset-gpios = <&gpio4 RK_PD4 GPIO_ACTIVE_LOW>;
76724ba675SRob Herring	};
77724ba675SRob Herring
78*2c3944d9SJohan Jonker	vcc_5v: regulator-vcc-5v {
79724ba675SRob Herring		compatible = "regulator-fixed";
80724ba675SRob Herring		regulator-name = "vcc_5v";
81724ba675SRob Herring		regulator-always-on;
82724ba675SRob Herring		regulator-boot-on;
83724ba675SRob Herring		regulator-min-microvolt = <5000000>;
84724ba675SRob Herring		regulator-max-microvolt = <5000000>;
85724ba675SRob Herring	};
86724ba675SRob Herring
87*2c3944d9SJohan Jonker	vcc33_sys: regulator-vcc33-sys {
88724ba675SRob Herring		compatible = "regulator-fixed";
89724ba675SRob Herring		regulator-name = "vcc33_sys";
90724ba675SRob Herring		regulator-always-on;
91724ba675SRob Herring		regulator-boot-on;
92724ba675SRob Herring		regulator-min-microvolt = <3300000>;
93724ba675SRob Herring		regulator-max-microvolt = <3300000>;
94724ba675SRob Herring	};
95724ba675SRob Herring
96*2c3944d9SJohan Jonker	vcc50_hdmi: regulator-vcc50-hdmi {
97724ba675SRob Herring		compatible = "regulator-fixed";
98724ba675SRob Herring		regulator-name = "vcc50_hdmi";
99724ba675SRob Herring		regulator-always-on;
100724ba675SRob Herring		regulator-boot-on;
101724ba675SRob Herring		vin-supply = <&vcc_5v>;
102724ba675SRob Herring	};
103724ba675SRob Herring
104*2c3944d9SJohan Jonker	vdd_logic: regulator-vdd-logic {
105724ba675SRob Herring		compatible = "pwm-regulator";
106724ba675SRob Herring		regulator-name = "vdd_logic";
107724ba675SRob Herring
108724ba675SRob Herring		pwms = <&pwm1 0 1994 0>;
109724ba675SRob Herring		pwm-supply = <&vcc33_sys>;
110724ba675SRob Herring
111724ba675SRob Herring		pwm-dutycycle-range = <0x7b 0>;
112724ba675SRob Herring		pwm-dutycycle-unit = <0x94>;
113724ba675SRob Herring
114724ba675SRob Herring		regulator-always-on;
115724ba675SRob Herring		regulator-boot-on;
116724ba675SRob Herring		regulator-min-microvolt = <950000>;
117724ba675SRob Herring		regulator-max-microvolt = <1350000>;
118724ba675SRob Herring		regulator-ramp-delay = <4000>;
119724ba675SRob Herring	};
120724ba675SRob Herring};
121724ba675SRob Herring
122724ba675SRob Herring&cpu0 {
123724ba675SRob Herring	cpu0-supply = <&vdd_cpu>;
124724ba675SRob Herring};
125724ba675SRob Herring
126724ba675SRob Herring&cpu_crit {
127724ba675SRob Herring	temperature = <100000>;
128724ba675SRob Herring};
129724ba675SRob Herring
130724ba675SRob Herring/* rk3288-c used in Veyron Chrome-devices has slightly changed OPPs */
131724ba675SRob Herring&cpu_opp_table {
132724ba675SRob Herring	/delete-node/ opp-312000000;
133724ba675SRob Herring
134724ba675SRob Herring	opp-1512000000 {
135724ba675SRob Herring		opp-microvolt = <1250000>;
136724ba675SRob Herring	};
137724ba675SRob Herring	opp-1608000000 {
138724ba675SRob Herring		opp-microvolt = <1300000>;
139724ba675SRob Herring	};
140724ba675SRob Herring	opp-1704000000 {
141724ba675SRob Herring		opp-hz = /bits/ 64 <1704000000>;
142724ba675SRob Herring		opp-microvolt = <1350000>;
143724ba675SRob Herring	};
144724ba675SRob Herring	opp-1800000000 {
145724ba675SRob Herring		opp-hz = /bits/ 64 <1800000000>;
146724ba675SRob Herring		opp-microvolt = <1400000>;
147724ba675SRob Herring	};
148724ba675SRob Herring};
149724ba675SRob Herring
150724ba675SRob Herring&emmc {
151724ba675SRob Herring	status = "okay";
152724ba675SRob Herring
153724ba675SRob Herring	bus-width = <8>;
154724ba675SRob Herring	cap-mmc-highspeed;
155724ba675SRob Herring	rockchip,default-sample-phase = <158>;
156724ba675SRob Herring	disable-wp;
157724ba675SRob Herring	mmc-hs200-1_8v;
158724ba675SRob Herring	mmc-pwrseq = <&emmc_pwrseq>;
159724ba675SRob Herring	non-removable;
160724ba675SRob Herring	pinctrl-names = "default";
161724ba675SRob Herring	pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
162724ba675SRob Herring};
163724ba675SRob Herring
164724ba675SRob Herring&gpu {
165724ba675SRob Herring	mali-supply = <&vdd_gpu>;
166724ba675SRob Herring	status = "okay";
167724ba675SRob Herring};
168724ba675SRob Herring
169724ba675SRob Herring&gpu_alert0 {
170724ba675SRob Herring	temperature = <72500>;
171724ba675SRob Herring};
172724ba675SRob Herring
173724ba675SRob Herring&gpu_crit {
174724ba675SRob Herring	temperature = <100000>;
175724ba675SRob Herring};
176724ba675SRob Herring
177724ba675SRob Herring&hdmi {
178724ba675SRob Herring	pinctrl-names = "default", "unwedge";
179724ba675SRob Herring	pinctrl-0 = <&hdmi_ddc>;
180724ba675SRob Herring	pinctrl-1 = <&hdmi_ddc_unwedge>;
181724ba675SRob Herring	status = "okay";
182724ba675SRob Herring};
183724ba675SRob Herring
184724ba675SRob Herring&i2c0 {
185724ba675SRob Herring	status = "okay";
186724ba675SRob Herring
187724ba675SRob Herring	clock-frequency = <400000>;
188724ba675SRob Herring	i2c-scl-falling-time-ns = <50>;		/* 2.5ns measured */
189724ba675SRob Herring	i2c-scl-rising-time-ns = <100>;		/* 45ns measured */
190724ba675SRob Herring
191724ba675SRob Herring	rk808: pmic@1b {
192724ba675SRob Herring		compatible = "rockchip,rk808";
193724ba675SRob Herring		reg = <0x1b>;
194724ba675SRob Herring		clock-output-names = "xin32k", "wifibt_32kin";
195724ba675SRob Herring		interrupt-parent = <&gpio0>;
196724ba675SRob Herring		interrupts = <RK_PA4 IRQ_TYPE_LEVEL_LOW>;
197724ba675SRob Herring		pinctrl-names = "default";
198724ba675SRob Herring		pinctrl-0 = <&pmic_int_l>;
199724ba675SRob Herring		rockchip,system-power-controller;
200724ba675SRob Herring		wakeup-source;
201724ba675SRob Herring		#clock-cells = <1>;
202724ba675SRob Herring
203724ba675SRob Herring		vcc1-supply = <&vcc33_sys>;
204724ba675SRob Herring		vcc2-supply = <&vcc33_sys>;
205724ba675SRob Herring		vcc3-supply = <&vcc33_sys>;
206724ba675SRob Herring		vcc4-supply = <&vcc33_sys>;
207724ba675SRob Herring		vcc6-supply = <&vcc_5v>;
208724ba675SRob Herring		vcc7-supply = <&vcc33_sys>;
209724ba675SRob Herring		vcc8-supply = <&vcc33_sys>;
210724ba675SRob Herring		vcc12-supply = <&vcc_18>;
211724ba675SRob Herring		vddio-supply = <&vcc33_io>;
212724ba675SRob Herring
213724ba675SRob Herring		regulators {
214724ba675SRob Herring			vdd_cpu: DCDC_REG1 {
215724ba675SRob Herring				regulator-name = "vdd_arm";
216724ba675SRob Herring				regulator-always-on;
217724ba675SRob Herring				regulator-boot-on;
218724ba675SRob Herring				regulator-min-microvolt = <750000>;
219724ba675SRob Herring				regulator-max-microvolt = <1450000>;
220724ba675SRob Herring				regulator-ramp-delay = <6001>;
221724ba675SRob Herring				regulator-state-mem {
222724ba675SRob Herring					regulator-off-in-suspend;
223724ba675SRob Herring				};
224724ba675SRob Herring			};
225724ba675SRob Herring
226724ba675SRob Herring			vdd_gpu: DCDC_REG2 {
227724ba675SRob Herring				regulator-name = "vdd_gpu";
228724ba675SRob Herring				regulator-always-on;
229724ba675SRob Herring				regulator-boot-on;
230724ba675SRob Herring				regulator-min-microvolt = <800000>;
231724ba675SRob Herring				regulator-max-microvolt = <1250000>;
232724ba675SRob Herring				regulator-ramp-delay = <6001>;
233724ba675SRob Herring				regulator-state-mem {
234724ba675SRob Herring					regulator-off-in-suspend;
235724ba675SRob Herring				};
236724ba675SRob Herring			};
237724ba675SRob Herring
238724ba675SRob Herring			vcc135_ddr: DCDC_REG3 {
239724ba675SRob Herring				regulator-name = "vcc135_ddr";
240724ba675SRob Herring				regulator-always-on;
241724ba675SRob Herring				regulator-boot-on;
242724ba675SRob Herring				regulator-state-mem {
243724ba675SRob Herring					regulator-on-in-suspend;
244724ba675SRob Herring				};
245724ba675SRob Herring			};
246724ba675SRob Herring
247724ba675SRob Herring			/*
248724ba675SRob Herring			 * vcc_18 has several aliases.  (vcc18_flashio and
249724ba675SRob Herring			 * vcc18_wl).  We'll add those aliases here just to
250724ba675SRob Herring			 * make it easier to follow the schematic.  The signals
251724ba675SRob Herring			 * are actually hooked together and only separated for
252724ba675SRob Herring			 * power measurement purposes).
253724ba675SRob Herring			 */
254724ba675SRob Herring			vcc18_wl: vcc18_flashio: vcc_18: DCDC_REG4 {
255724ba675SRob Herring				regulator-name = "vcc_18";
256724ba675SRob Herring				regulator-always-on;
257724ba675SRob Herring				regulator-boot-on;
258724ba675SRob Herring				regulator-min-microvolt = <1800000>;
259724ba675SRob Herring				regulator-max-microvolt = <1800000>;
260724ba675SRob Herring				regulator-state-mem {
261724ba675SRob Herring					regulator-on-in-suspend;
262724ba675SRob Herring					regulator-suspend-microvolt = <1800000>;
263724ba675SRob Herring				};
264724ba675SRob Herring			};
265724ba675SRob Herring
266724ba675SRob Herring			/*
267724ba675SRob Herring			 * Note that both vcc33_io and vcc33_pmuio are always
268724ba675SRob Herring			 * powered together. To simplify the logic in the dts
269724ba675SRob Herring			 * we just refer to vcc33_io every time something is
270724ba675SRob Herring			 * powered from vcc33_pmuio. In fact, on later boards
271724ba675SRob Herring			 * (such as danger) they're the same net.
272724ba675SRob Herring			 */
273724ba675SRob Herring			vcc33_io: LDO_REG1 {
274724ba675SRob Herring				regulator-name = "vcc33_io";
275724ba675SRob Herring				regulator-always-on;
276724ba675SRob Herring				regulator-boot-on;
277724ba675SRob Herring				regulator-min-microvolt = <3300000>;
278724ba675SRob Herring				regulator-max-microvolt = <3300000>;
279724ba675SRob Herring				regulator-state-mem {
280724ba675SRob Herring					regulator-on-in-suspend;
281724ba675SRob Herring					regulator-suspend-microvolt = <3300000>;
282724ba675SRob Herring				};
283724ba675SRob Herring			};
284724ba675SRob Herring
285724ba675SRob Herring			vdd_10: LDO_REG3 {
286724ba675SRob Herring				regulator-name = "vdd_10";
287724ba675SRob Herring				regulator-always-on;
288724ba675SRob Herring				regulator-boot-on;
289724ba675SRob Herring				regulator-min-microvolt = <1000000>;
290724ba675SRob Herring				regulator-max-microvolt = <1000000>;
291724ba675SRob Herring				regulator-state-mem {
292724ba675SRob Herring					regulator-on-in-suspend;
293724ba675SRob Herring					regulator-suspend-microvolt = <1000000>;
294724ba675SRob Herring				};
295724ba675SRob Herring			};
296724ba675SRob Herring
297724ba675SRob Herring			vdd10_lcd_pwren_h: LDO_REG7 {
298724ba675SRob Herring				regulator-name = "vdd10_lcd_pwren_h";
299724ba675SRob Herring				regulator-always-on;
300724ba675SRob Herring				regulator-boot-on;
301724ba675SRob Herring				regulator-min-microvolt = <2500000>;
302724ba675SRob Herring				regulator-max-microvolt = <2500000>;
303724ba675SRob Herring				regulator-state-mem {
304724ba675SRob Herring					regulator-off-in-suspend;
305724ba675SRob Herring				};
306724ba675SRob Herring			};
307724ba675SRob Herring
308724ba675SRob Herring			vcc33_lcd: SWITCH_REG1 {
309724ba675SRob Herring				regulator-name = "vcc33_lcd";
310724ba675SRob Herring				regulator-always-on;
311724ba675SRob Herring				regulator-boot-on;
312724ba675SRob Herring				regulator-state-mem {
313724ba675SRob Herring					regulator-off-in-suspend;
314724ba675SRob Herring				};
315724ba675SRob Herring			};
316724ba675SRob Herring		};
317724ba675SRob Herring	};
318724ba675SRob Herring};
319724ba675SRob Herring
320724ba675SRob Herring&i2c1 {
321724ba675SRob Herring	status = "okay";
322724ba675SRob Herring
323724ba675SRob Herring	clock-frequency = <400000>;
324724ba675SRob Herring	i2c-scl-falling-time-ns = <50>;		/* 2.5ns measured */
325724ba675SRob Herring	i2c-scl-rising-time-ns = <100>;		/* 40ns measured */
326724ba675SRob Herring
327724ba675SRob Herring	tpm: tpm@20 {
328724ba675SRob Herring		compatible = "infineon,slb9645tt";
329724ba675SRob Herring		reg = <0x20>;
330724ba675SRob Herring		powered-while-suspended;
331724ba675SRob Herring	};
332724ba675SRob Herring};
333724ba675SRob Herring
334724ba675SRob Herring&i2c2 {
335724ba675SRob Herring	status = "okay";
336724ba675SRob Herring
337724ba675SRob Herring	/* 100kHz since 4.7k resistors don't rise fast enough */
338724ba675SRob Herring	clock-frequency = <100000>;
339724ba675SRob Herring	i2c-scl-falling-time-ns = <50>;		/* 10ns measured */
340724ba675SRob Herring	i2c-scl-rising-time-ns = <800>;		/* 600ns measured */
341724ba675SRob Herring};
342724ba675SRob Herring
343724ba675SRob Herring&i2c4 {
344724ba675SRob Herring	status = "okay";
345724ba675SRob Herring
346724ba675SRob Herring	clock-frequency = <400000>;
347724ba675SRob Herring	i2c-scl-falling-time-ns = <50>;		/* 11ns measured */
348724ba675SRob Herring	i2c-scl-rising-time-ns = <300>;		/* 225ns measured */
349724ba675SRob Herring};
350724ba675SRob Herring
351724ba675SRob Herring&io_domains {
352724ba675SRob Herring	status = "okay";
353724ba675SRob Herring
354724ba675SRob Herring	bb-supply = <&vcc33_io>;
355724ba675SRob Herring	dvp-supply = <&vcc_18>;
356724ba675SRob Herring	flash0-supply = <&vcc18_flashio>;
357724ba675SRob Herring	gpio1830-supply = <&vcc33_io>;
358724ba675SRob Herring	gpio30-supply = <&vcc33_io>;
359724ba675SRob Herring	lcdc-supply = <&vcc33_lcd>;
360724ba675SRob Herring	wifi-supply = <&vcc18_wl>;
361724ba675SRob Herring};
362724ba675SRob Herring
363724ba675SRob Herring&pwm1 {
364724ba675SRob Herring	status = "okay";
365724ba675SRob Herring};
366724ba675SRob Herring
367724ba675SRob Herring&sdio0 {
368724ba675SRob Herring	status = "okay";
369724ba675SRob Herring
370724ba675SRob Herring	bus-width = <4>;
371724ba675SRob Herring	cap-sd-highspeed;
372724ba675SRob Herring	cap-sdio-irq;
373724ba675SRob Herring	keep-power-in-suspend;
374724ba675SRob Herring	mmc-pwrseq = <&sdio_pwrseq>;
375724ba675SRob Herring	non-removable;
376724ba675SRob Herring	pinctrl-names = "default";
377724ba675SRob Herring	pinctrl-0 = <&sdio0_clk &sdio0_cmd &sdio0_bus4>;
378724ba675SRob Herring	sd-uhs-sdr12;
379724ba675SRob Herring	sd-uhs-sdr25;
380724ba675SRob Herring	sd-uhs-sdr50;
381724ba675SRob Herring	sd-uhs-sdr104;
382724ba675SRob Herring	vmmc-supply = <&vcc33_sys>;
383724ba675SRob Herring	vqmmc-supply = <&vcc18_wl>;
384724ba675SRob Herring};
385724ba675SRob Herring
386724ba675SRob Herring&spi2 {
387724ba675SRob Herring	status = "okay";
388724ba675SRob Herring
389724ba675SRob Herring	rx-sample-delay-ns = <12>;
390724ba675SRob Herring
391724ba675SRob Herring	flash@0 {
392724ba675SRob Herring		compatible = "jedec,spi-nor";
393724ba675SRob Herring		spi-max-frequency = <50000000>;
394724ba675SRob Herring		reg = <0>;
395724ba675SRob Herring	};
396724ba675SRob Herring};
397724ba675SRob Herring
398724ba675SRob Herring&tsadc {
399724ba675SRob Herring	status = "okay";
400724ba675SRob Herring
401724ba675SRob Herring	rockchip,hw-tshut-mode = <1>; /* tshut mode 0:CRU 1:GPIO */
402724ba675SRob Herring	rockchip,hw-tshut-polarity = <1>; /* tshut polarity 0:LOW 1:HIGH */
403724ba675SRob Herring	rockchip,hw-tshut-temp = <125000>;
404724ba675SRob Herring};
405724ba675SRob Herring
406724ba675SRob Herring&uart0 {
407724ba675SRob Herring	status = "okay";
408724ba675SRob Herring
409724ba675SRob Herring	/* Pins don't include flow control by default; add that in */
410724ba675SRob Herring	pinctrl-names = "default";
411724ba675SRob Herring	pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
412724ba675SRob Herring};
413724ba675SRob Herring
414724ba675SRob Herring&uart1 {
415724ba675SRob Herring	status = "okay";
416724ba675SRob Herring};
417724ba675SRob Herring
418724ba675SRob Herring&uart2 {
419724ba675SRob Herring	status = "okay";
420724ba675SRob Herring};
421724ba675SRob Herring
422724ba675SRob Herring&usbphy {
423724ba675SRob Herring	status = "okay";
424724ba675SRob Herring};
425724ba675SRob Herring
426724ba675SRob Herring&usb_host0_ehci {
427724ba675SRob Herring	status = "okay";
428724ba675SRob Herring
429724ba675SRob Herring	needs-reset-on-resume;
430724ba675SRob Herring};
431724ba675SRob Herring
432724ba675SRob Herring&usb_host1 {
433724ba675SRob Herring	status = "okay";
434724ba675SRob Herring	snps,need-phy-for-wake;
435724ba675SRob Herring};
436724ba675SRob Herring
437724ba675SRob Herring&usb_otg {
438724ba675SRob Herring	status = "okay";
439724ba675SRob Herring
440724ba675SRob Herring	assigned-clocks = <&cru SCLK_USBPHY480M_SRC>;
441724ba675SRob Herring	assigned-clock-parents = <&usbphy0>;
442724ba675SRob Herring	dr_mode = "host";
443724ba675SRob Herring	snps,need-phy-for-wake;
444724ba675SRob Herring};
445724ba675SRob Herring
446724ba675SRob Herring&vopb {
447724ba675SRob Herring	status = "okay";
448724ba675SRob Herring};
449724ba675SRob Herring
450724ba675SRob Herring&vopb_mmu {
451724ba675SRob Herring	status = "okay";
452724ba675SRob Herring};
453724ba675SRob Herring
454724ba675SRob Herring&wdt {
455724ba675SRob Herring	status = "okay";
456724ba675SRob Herring};
457724ba675SRob Herring
458724ba675SRob Herring&pinctrl {
459724ba675SRob Herring	pcfg_pull_none_drv_8ma: pcfg-pull-none-drv-8ma {
460724ba675SRob Herring		bias-disable;
461724ba675SRob Herring		drive-strength = <8>;
462724ba675SRob Herring	};
463724ba675SRob Herring
464724ba675SRob Herring	pcfg_pull_up_drv_8ma: pcfg-pull-up-drv-8ma {
465724ba675SRob Herring		bias-pull-up;
466724ba675SRob Herring		drive-strength = <8>;
467724ba675SRob Herring	};
468724ba675SRob Herring
469724ba675SRob Herring	pcfg_output_high: pcfg-output-high {
470724ba675SRob Herring		output-high;
471724ba675SRob Herring	};
472724ba675SRob Herring
473724ba675SRob Herring	pcfg_output_low: pcfg-output-low {
474724ba675SRob Herring		output-low;
475724ba675SRob Herring	};
476724ba675SRob Herring
477724ba675SRob Herring	buttons {
478724ba675SRob Herring		pwr_key_l: pwr-key-l {
479724ba675SRob Herring			rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
480724ba675SRob Herring		};
481724ba675SRob Herring	};
482724ba675SRob Herring
483724ba675SRob Herring	emmc {
484724ba675SRob Herring		emmc_reset: emmc-reset {
485724ba675SRob Herring			rockchip,pins = <2 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
486724ba675SRob Herring		};
487724ba675SRob Herring
488724ba675SRob Herring		/*
489724ba675SRob Herring		 * We run eMMC at max speed; bump up drive strength.
490724ba675SRob Herring		 * We also have external pulls, so disable the internal ones.
491724ba675SRob Herring		 */
492724ba675SRob Herring		emmc_clk: emmc-clk {
493724ba675SRob Herring			rockchip,pins = <3 RK_PC2 2 &pcfg_pull_none_drv_8ma>;
494724ba675SRob Herring		};
495724ba675SRob Herring
496724ba675SRob Herring		emmc_cmd: emmc-cmd {
497724ba675SRob Herring			rockchip,pins = <3 RK_PC0 2 &pcfg_pull_none_drv_8ma>;
498724ba675SRob Herring		};
499724ba675SRob Herring
500724ba675SRob Herring		emmc_bus8: emmc-bus8 {
501724ba675SRob Herring			rockchip,pins = <3 RK_PA0 2 &pcfg_pull_none_drv_8ma>,
502724ba675SRob Herring					<3 RK_PA1 2 &pcfg_pull_none_drv_8ma>,
503724ba675SRob Herring					<3 RK_PA2 2 &pcfg_pull_none_drv_8ma>,
504724ba675SRob Herring					<3 RK_PA3 2 &pcfg_pull_none_drv_8ma>,
505724ba675SRob Herring					<3 RK_PA4 2 &pcfg_pull_none_drv_8ma>,
506724ba675SRob Herring					<3 RK_PA5 2 &pcfg_pull_none_drv_8ma>,
507724ba675SRob Herring					<3 RK_PA6 2 &pcfg_pull_none_drv_8ma>,
508724ba675SRob Herring					<3 RK_PA7 2 &pcfg_pull_none_drv_8ma>;
509724ba675SRob Herring		};
510724ba675SRob Herring	};
511724ba675SRob Herring
512724ba675SRob Herring	pmic {
513724ba675SRob Herring		pmic_int_l: pmic-int-l {
514724ba675SRob Herring			rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>;
515724ba675SRob Herring		};
516724ba675SRob Herring	};
517724ba675SRob Herring
518724ba675SRob Herring	reboot {
519724ba675SRob Herring		ap_warm_reset_h: ap-warm-reset-h {
520724ba675SRob Herring			rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
521724ba675SRob Herring		};
522724ba675SRob Herring	};
523724ba675SRob Herring
524724ba675SRob Herring	recovery-switch {
525724ba675SRob Herring		rec_mode_l: rec-mode-l {
526724ba675SRob Herring			rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>;
527724ba675SRob Herring		};
528724ba675SRob Herring	};
529724ba675SRob Herring
530724ba675SRob Herring	sdio0 {
531724ba675SRob Herring		wifi_enable_h: wifienable-h {
532724ba675SRob Herring			rockchip,pins = <4 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>;
533724ba675SRob Herring		};
534724ba675SRob Herring
535724ba675SRob Herring		/* NOTE: mislabelled on schematic; should be bt_enable_h */
536724ba675SRob Herring		bt_enable_l: bt-enable-l {
537724ba675SRob Herring			rockchip,pins = <4 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>;
538724ba675SRob Herring		};
539724ba675SRob Herring
540724ba675SRob Herring		bt_host_wake: bt-host-wake {
541724ba675SRob Herring			rockchip,pins = <4 RK_PD7 RK_FUNC_GPIO &pcfg_pull_down>;
542724ba675SRob Herring		};
543724ba675SRob Herring
544724ba675SRob Herring		bt_host_wake_l: bt-host-wake-l {
545724ba675SRob Herring			rockchip,pins = <4 RK_PD7 RK_FUNC_GPIO &pcfg_pull_none>;
546724ba675SRob Herring		};
547724ba675SRob Herring
548724ba675SRob Herring		/*
549724ba675SRob Herring		 * We run sdio0 at max speed; bump up drive strength.
550724ba675SRob Herring		 * We also have external pulls, so disable the internal ones.
551724ba675SRob Herring		 */
552724ba675SRob Herring		sdio0_bus4: sdio0-bus4 {
553724ba675SRob Herring			rockchip,pins = <4 RK_PC4 1 &pcfg_pull_none_drv_8ma>,
554724ba675SRob Herring					<4 RK_PC5 1 &pcfg_pull_none_drv_8ma>,
555724ba675SRob Herring					<4 RK_PC6 1 &pcfg_pull_none_drv_8ma>,
556724ba675SRob Herring					<4 RK_PC7 1 &pcfg_pull_none_drv_8ma>;
557724ba675SRob Herring		};
558724ba675SRob Herring
559724ba675SRob Herring		sdio0_cmd: sdio0-cmd {
560724ba675SRob Herring			rockchip,pins = <4 RK_PD0 1 &pcfg_pull_none_drv_8ma>;
561724ba675SRob Herring		};
562724ba675SRob Herring
563724ba675SRob Herring		sdio0_clk: sdio0-clk {
564724ba675SRob Herring			rockchip,pins = <4 RK_PD1 1 &pcfg_pull_none_drv_8ma>;
565724ba675SRob Herring		};
566724ba675SRob Herring
567724ba675SRob Herring		/*
568724ba675SRob Herring		 * These pins are only present on very new veyron boards; on
569724ba675SRob Herring		 * older boards bt_dev_wake is simply always high.  Note that
570724ba675SRob Herring		 * gpio4_D2 is a NC on old veyron boards, so it doesn't hurt
571724ba675SRob Herring		 * to map this pin everywhere
572724ba675SRob Herring		 */
573724ba675SRob Herring		bt_dev_wake_sleep: bt-dev-wake-sleep {
574724ba675SRob Herring			rockchip,pins = <4 RK_PD2 RK_FUNC_GPIO &pcfg_output_low>;
575724ba675SRob Herring		};
576724ba675SRob Herring
577724ba675SRob Herring		bt_dev_wake_awake: bt-dev-wake-awake {
578724ba675SRob Herring			rockchip,pins = <4 RK_PD2 RK_FUNC_GPIO &pcfg_output_high>;
579724ba675SRob Herring		};
580724ba675SRob Herring
581724ba675SRob Herring		bt_dev_wake: bt-dev-wake {
582724ba675SRob Herring			rockchip,pins = <4 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
583724ba675SRob Herring		};
584724ba675SRob Herring	};
585724ba675SRob Herring
586724ba675SRob Herring	tpm {
587724ba675SRob Herring		tpm_int_h: tpm-int-h {
588724ba675SRob Herring			rockchip,pins = <7 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
589724ba675SRob Herring		};
590724ba675SRob Herring	};
591724ba675SRob Herring
592724ba675SRob Herring	write-protect {
593724ba675SRob Herring		fw_wp_ap: fw-wp-ap {
594724ba675SRob Herring			rockchip,pins = <7 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
595724ba675SRob Herring		};
596724ba675SRob Herring	};
597724ba675SRob Herring};
598