1116f7cc4SDouglas Anderson// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2116f7cc4SDouglas Anderson/*
3116f7cc4SDouglas Anderson * Google Herobrine baseboard device tree source
4116f7cc4SDouglas Anderson *
5116f7cc4SDouglas Anderson * The set of things in this file is a bit loosely defined. It's roughly
6116f7cc4SDouglas Anderson * defined as the set of things that the child boards happen to have in
7116f7cc4SDouglas Anderson * common. Since all of the child boards started from the same original
8116f7cc4SDouglas Anderson * design this is hopefully a large set of things but as more derivatives
9116f7cc4SDouglas Anderson * appear things may "bubble down" out of this file. For things that are
10116f7cc4SDouglas Anderson * part of the reference design but might not exist on child nodes we will
11116f7cc4SDouglas Anderson * follow the lead of the SoC dtsi files and leave their status as "disabled".
12116f7cc4SDouglas Anderson *
13116f7cc4SDouglas Anderson * Copyright 2022 Google LLC.
14116f7cc4SDouglas Anderson */
15116f7cc4SDouglas Anderson
16116f7cc4SDouglas Anderson#include <dt-bindings/input/gpio-keys.h>
17116f7cc4SDouglas Anderson#include <dt-bindings/input/input.h>
18116f7cc4SDouglas Anderson
19116f7cc4SDouglas Anderson#include "sc7280-qcard.dtsi"
20116f7cc4SDouglas Anderson#include "sc7280-chrome-common.dtsi"
21116f7cc4SDouglas Anderson
22116f7cc4SDouglas Anderson/ {
23116f7cc4SDouglas Anderson	chosen {
24116f7cc4SDouglas Anderson		stdout-path = "serial0:115200n8";
25116f7cc4SDouglas Anderson	};
26116f7cc4SDouglas Anderson
27116f7cc4SDouglas Anderson	/*
28116f7cc4SDouglas Anderson	 * FIXED REGULATORS
29116f7cc4SDouglas Anderson	 *
30116f7cc4SDouglas Anderson	 * Sort order:
31116f7cc4SDouglas Anderson	 * 1. parents above children.
32116f7cc4SDouglas Anderson	 * 2. higher voltage above lower voltage.
33116f7cc4SDouglas Anderson	 * 3. alphabetically by node name.
34116f7cc4SDouglas Anderson	 */
35116f7cc4SDouglas Anderson
36116f7cc4SDouglas Anderson	/* This is the top level supply and variable voltage */
37116f7cc4SDouglas Anderson	ppvar_sys: ppvar-sys-regulator {
38116f7cc4SDouglas Anderson		compatible = "regulator-fixed";
39116f7cc4SDouglas Anderson		regulator-name = "ppvar_sys";
40116f7cc4SDouglas Anderson		regulator-always-on;
41116f7cc4SDouglas Anderson		regulator-boot-on;
42116f7cc4SDouglas Anderson	};
43116f7cc4SDouglas Anderson
44116f7cc4SDouglas Anderson	/* This divides ppvar_sys by 2, so voltage is variable */
45116f7cc4SDouglas Anderson	src_vph_pwr: src-vph-pwr-regulator {
46116f7cc4SDouglas Anderson		compatible = "regulator-fixed";
47116f7cc4SDouglas Anderson		regulator-name = "src_vph_pwr";
48116f7cc4SDouglas Anderson
49116f7cc4SDouglas Anderson		/* EC turns on with switchcap_on; always on for AP */
50116f7cc4SDouglas Anderson		regulator-always-on;
51116f7cc4SDouglas Anderson		regulator-boot-on;
52116f7cc4SDouglas Anderson
53116f7cc4SDouglas Anderson		vin-supply = <&ppvar_sys>;
54116f7cc4SDouglas Anderson	};
55116f7cc4SDouglas Anderson
56116f7cc4SDouglas Anderson	pp5000_s5: pp5000-s5-regulator {
57116f7cc4SDouglas Anderson		compatible = "regulator-fixed";
58116f7cc4SDouglas Anderson		regulator-name = "pp5000_s5";
59116f7cc4SDouglas Anderson
60116f7cc4SDouglas Anderson		/* EC turns on with en_pp5000_s5; always on for AP */
61116f7cc4SDouglas Anderson		regulator-always-on;
62116f7cc4SDouglas Anderson		regulator-boot-on;
63116f7cc4SDouglas Anderson		regulator-min-microvolt = <5000000>;
64116f7cc4SDouglas Anderson		regulator-max-microvolt = <5000000>;
65116f7cc4SDouglas Anderson
66116f7cc4SDouglas Anderson		vin-supply = <&ppvar_sys>;
67116f7cc4SDouglas Anderson	};
68116f7cc4SDouglas Anderson
69116f7cc4SDouglas Anderson	pp3300_z1: pp3300-z1-regulator {
70116f7cc4SDouglas Anderson		compatible = "regulator-fixed";
71116f7cc4SDouglas Anderson		regulator-name = "pp3300_z1";
72116f7cc4SDouglas Anderson
73116f7cc4SDouglas Anderson		/* EC turns on with en_pp3300_z1; always on for AP */
74116f7cc4SDouglas Anderson		regulator-always-on;
75116f7cc4SDouglas Anderson		regulator-boot-on;
76116f7cc4SDouglas Anderson		regulator-min-microvolt = <3300000>;
77116f7cc4SDouglas Anderson		regulator-max-microvolt = <3300000>;
78116f7cc4SDouglas Anderson
79116f7cc4SDouglas Anderson		vin-supply = <&ppvar_sys>;
80116f7cc4SDouglas Anderson	};
81116f7cc4SDouglas Anderson
82116f7cc4SDouglas Anderson	pp3300_codec: pp3300-codec-regulator {
83116f7cc4SDouglas Anderson		compatible = "regulator-fixed";
84116f7cc4SDouglas Anderson		regulator-name = "pp3300_codec";
85116f7cc4SDouglas Anderson
86116f7cc4SDouglas Anderson		regulator-min-microvolt = <3300000>;
87116f7cc4SDouglas Anderson		regulator-max-microvolt = <3300000>;
88116f7cc4SDouglas Anderson
89116f7cc4SDouglas Anderson		gpio = <&tlmm 105 GPIO_ACTIVE_HIGH>;
90116f7cc4SDouglas Anderson		enable-active-high;
91116f7cc4SDouglas Anderson		pinctrl-names = "default";
92116f7cc4SDouglas Anderson		pinctrl-0 = <&en_pp3300_codec>;
93116f7cc4SDouglas Anderson
94116f7cc4SDouglas Anderson		vin-supply = <&pp3300_z1>;
95533ca1c3SMatthias Kaehlcke		status = "disabled";
96116f7cc4SDouglas Anderson	};
97116f7cc4SDouglas Anderson
98116f7cc4SDouglas Anderson	pp3300_left_in_mlb: pp3300-left-in-mlb-regulator {
99116f7cc4SDouglas Anderson		compatible = "regulator-fixed";
100116f7cc4SDouglas Anderson		regulator-name = "pp3300_left_in_mlb";
101116f7cc4SDouglas Anderson
102116f7cc4SDouglas Anderson		regulator-min-microvolt = <3300000>;
103116f7cc4SDouglas Anderson		regulator-max-microvolt = <3300000>;
104116f7cc4SDouglas Anderson
105116f7cc4SDouglas Anderson		gpio = <&tlmm 80 GPIO_ACTIVE_HIGH>;
106116f7cc4SDouglas Anderson		enable-active-high;
107116f7cc4SDouglas Anderson		pinctrl-names = "default";
108116f7cc4SDouglas Anderson		pinctrl-0 = <&en_pp3300_dx_edp>;
109116f7cc4SDouglas Anderson
110116f7cc4SDouglas Anderson		vin-supply = <&pp3300_z1>;
111116f7cc4SDouglas Anderson	};
112116f7cc4SDouglas Anderson
113116f7cc4SDouglas Anderson	pp3300_mcu_fp:
114116f7cc4SDouglas Anderson	pp3300_fp_ls:
115116f7cc4SDouglas Anderson	pp3300_fp_mcu: pp3300-fp-regulator {
116116f7cc4SDouglas Anderson		compatible = "regulator-fixed";
117116f7cc4SDouglas Anderson		regulator-name = "pp3300_fp";
118116f7cc4SDouglas Anderson
119116f7cc4SDouglas Anderson		regulator-min-microvolt = <3300000>;
120116f7cc4SDouglas Anderson		regulator-max-microvolt = <3300000>;
121116f7cc4SDouglas Anderson
122116f7cc4SDouglas Anderson		regulator-boot-on;
123116f7cc4SDouglas Anderson		regulator-always-on;
124116f7cc4SDouglas Anderson
125116f7cc4SDouglas Anderson		/*
126116f7cc4SDouglas Anderson		 * WARNING: it is intentional that GPIO 77 isn't listed here.
127116f7cc4SDouglas Anderson		 * The userspace script for updating the fingerprint firmware
128116f7cc4SDouglas Anderson		 * needs to control the FP regulators during a FW update,
129116f7cc4SDouglas Anderson		 * hence the signal can't be owned by the kernel regulator.
130116f7cc4SDouglas Anderson		 */
131116f7cc4SDouglas Anderson
132116f7cc4SDouglas Anderson		pinctrl-names = "default";
133116f7cc4SDouglas Anderson		pinctrl-0 = <&en_fp_rails>;
134116f7cc4SDouglas Anderson
135116f7cc4SDouglas Anderson		vin-supply = <&pp3300_z1>;
136533ca1c3SMatthias Kaehlcke		status = "disabled";
137116f7cc4SDouglas Anderson	};
138116f7cc4SDouglas Anderson
139116f7cc4SDouglas Anderson	pp3300_hub: pp3300-hub-regulator {
140116f7cc4SDouglas Anderson		compatible = "regulator-fixed";
141116f7cc4SDouglas Anderson		regulator-name = "pp3300_hub";
142116f7cc4SDouglas Anderson
143116f7cc4SDouglas Anderson		regulator-min-microvolt = <3300000>;
144116f7cc4SDouglas Anderson		regulator-max-microvolt = <3300000>;
145116f7cc4SDouglas Anderson
146116f7cc4SDouglas Anderson		regulator-boot-on;
147116f7cc4SDouglas Anderson		regulator-always-on;
148116f7cc4SDouglas Anderson
149116f7cc4SDouglas Anderson		gpio = <&tlmm 157 GPIO_ACTIVE_HIGH>;
150116f7cc4SDouglas Anderson		enable-active-high;
151116f7cc4SDouglas Anderson		pinctrl-names = "default";
152116f7cc4SDouglas Anderson		pinctrl-0 = <&hub_en>;
153116f7cc4SDouglas Anderson
154116f7cc4SDouglas Anderson		vin-supply = <&pp3300_z1>;
155116f7cc4SDouglas Anderson	};
156116f7cc4SDouglas Anderson
157116f7cc4SDouglas Anderson	pp3300_tp: pp3300-tp-regulator {
158116f7cc4SDouglas Anderson		compatible = "regulator-fixed";
159116f7cc4SDouglas Anderson		regulator-name = "pp3300_tp";
160116f7cc4SDouglas Anderson
161116f7cc4SDouglas Anderson		regulator-min-microvolt = <3300000>;
162116f7cc4SDouglas Anderson		regulator-max-microvolt = <3300000>;
163116f7cc4SDouglas Anderson
164116f7cc4SDouglas Anderson		/* AP turns on with PP1800_L18B_S0; always on for AP */
165116f7cc4SDouglas Anderson		regulator-always-on;
166116f7cc4SDouglas Anderson		regulator-boot-on;
167116f7cc4SDouglas Anderson
168116f7cc4SDouglas Anderson		vin-supply = <&pp3300_z1>;
169116f7cc4SDouglas Anderson	};
170116f7cc4SDouglas Anderson
171116f7cc4SDouglas Anderson	pp3300_ssd: pp3300-ssd-regulator {
172116f7cc4SDouglas Anderson		compatible = "regulator-fixed";
173116f7cc4SDouglas Anderson		regulator-name = "pp3300_ssd";
174116f7cc4SDouglas Anderson
175116f7cc4SDouglas Anderson		regulator-min-microvolt = <3300000>;
176116f7cc4SDouglas Anderson		regulator-max-microvolt = <3300000>;
177116f7cc4SDouglas Anderson
178116f7cc4SDouglas Anderson		gpio = <&tlmm 51 GPIO_ACTIVE_HIGH>;
179116f7cc4SDouglas Anderson		enable-active-high;
180116f7cc4SDouglas Anderson		pinctrl-names = "default";
181116f7cc4SDouglas Anderson		pinctrl-0 = <&ssd_en>;
182116f7cc4SDouglas Anderson
183*0d40497dSDouglas Anderson		/*
184*0d40497dSDouglas Anderson		 * The bootloaer may have left PCIe configured. Powering this
185*0d40497dSDouglas Anderson		 * off while the PCIe clocks are still running isn't great,
186*0d40497dSDouglas Anderson		 * so it's better to default to this regulator being on.
187*0d40497dSDouglas Anderson		 */
188*0d40497dSDouglas Anderson		regulator-boot-on;
189*0d40497dSDouglas Anderson
190116f7cc4SDouglas Anderson		vin-supply = <&pp3300_z1>;
191116f7cc4SDouglas Anderson	};
192116f7cc4SDouglas Anderson
193116f7cc4SDouglas Anderson	pp2850_vcm_wf_cam: pp2850-vcm-wf-cam-regulator {
194116f7cc4SDouglas Anderson		compatible = "regulator-fixed";
195116f7cc4SDouglas Anderson		regulator-name = "pp2850_vcm_wf_cam";
196116f7cc4SDouglas Anderson
197116f7cc4SDouglas Anderson		regulator-min-microvolt = <2850000>;
198116f7cc4SDouglas Anderson		regulator-max-microvolt = <2850000>;
199116f7cc4SDouglas Anderson
200116f7cc4SDouglas Anderson		gpio = <&tlmm 119 GPIO_ACTIVE_HIGH>;
201116f7cc4SDouglas Anderson		enable-active-high;
202116f7cc4SDouglas Anderson		pinctrl-names = "default";
203116f7cc4SDouglas Anderson		pinctrl-0 = <&wf_cam_en>;
204116f7cc4SDouglas Anderson
205116f7cc4SDouglas Anderson		vin-supply = <&pp3300_z1>;
206533ca1c3SMatthias Kaehlcke		status = "disabled";
207116f7cc4SDouglas Anderson	};
208116f7cc4SDouglas Anderson
209116f7cc4SDouglas Anderson	pp2850_wf_cam: pp2850-wf-cam-regulator {
210116f7cc4SDouglas Anderson		compatible = "regulator-fixed";
211116f7cc4SDouglas Anderson		regulator-name = "pp2850_wf_cam";
212116f7cc4SDouglas Anderson
213116f7cc4SDouglas Anderson		regulator-min-microvolt = <2850000>;
214116f7cc4SDouglas Anderson		regulator-max-microvolt = <2850000>;
215116f7cc4SDouglas Anderson
216116f7cc4SDouglas Anderson		gpio = <&tlmm 119 GPIO_ACTIVE_HIGH>;
217116f7cc4SDouglas Anderson		enable-active-high;
218116f7cc4SDouglas Anderson		/*
219116f7cc4SDouglas Anderson		 * The pinconf can only be referenced once so we put it on the
220116f7cc4SDouglas Anderson		 * first regulator and comment it out here.
221116f7cc4SDouglas Anderson		 *
222116f7cc4SDouglas Anderson		 * pinctrl-names = "default";
223116f7cc4SDouglas Anderson		 * pinctrl-0 = <&wf_cam_en>;
224116f7cc4SDouglas Anderson		 */
225116f7cc4SDouglas Anderson
226116f7cc4SDouglas Anderson		vin-supply = <&pp3300_z1>;
227533ca1c3SMatthias Kaehlcke		status = "disabled";
228116f7cc4SDouglas Anderson	};
229116f7cc4SDouglas Anderson
230116f7cc4SDouglas Anderson	pp1800_fp: pp1800-fp-regulator {
231116f7cc4SDouglas Anderson		compatible = "regulator-fixed";
232116f7cc4SDouglas Anderson		regulator-name = "pp1800_fp";
233116f7cc4SDouglas Anderson
234116f7cc4SDouglas Anderson		regulator-min-microvolt = <1800000>;
235116f7cc4SDouglas Anderson		regulator-max-microvolt = <1800000>;
236116f7cc4SDouglas Anderson
237116f7cc4SDouglas Anderson		regulator-boot-on;
238116f7cc4SDouglas Anderson		regulator-always-on;
239116f7cc4SDouglas Anderson
240116f7cc4SDouglas Anderson		/*
241116f7cc4SDouglas Anderson		 * WARNING: it is intentional that GPIO 77 isn't listed here.
242116f7cc4SDouglas Anderson		 * The userspace script for updating the fingerprint firmware
243116f7cc4SDouglas Anderson		 * needs to control the FP regulators during a FW update,
244116f7cc4SDouglas Anderson		 * hence the signal can't be owned by the kernel regulator.
245116f7cc4SDouglas Anderson		 */
246116f7cc4SDouglas Anderson
247116f7cc4SDouglas Anderson		pinctrl-names = "default";
248116f7cc4SDouglas Anderson		pinctrl-0 = <&en_fp_rails>;
249116f7cc4SDouglas Anderson
250116f7cc4SDouglas Anderson		vin-supply = <&pp1800_l18b_s0>;
251116f7cc4SDouglas Anderson		status = "disabled";
252116f7cc4SDouglas Anderson	};
253116f7cc4SDouglas Anderson
254116f7cc4SDouglas Anderson	pp1800_wf_cam: pp1800-wf-cam-regulator {
255116f7cc4SDouglas Anderson		compatible = "regulator-fixed";
256116f7cc4SDouglas Anderson		regulator-name = "pp1800_wf_cam";
257116f7cc4SDouglas Anderson
258116f7cc4SDouglas Anderson		regulator-min-microvolt = <1800000>;
259116f7cc4SDouglas Anderson		regulator-max-microvolt = <1800000>;
260116f7cc4SDouglas Anderson
261116f7cc4SDouglas Anderson		gpio = <&tlmm 119 GPIO_ACTIVE_HIGH>;
262116f7cc4SDouglas Anderson		enable-active-high;
263116f7cc4SDouglas Anderson		/*
264116f7cc4SDouglas Anderson		 * The pinconf can only be referenced once so we put it on the
265116f7cc4SDouglas Anderson		 * first regulator and comment it out here.
266116f7cc4SDouglas Anderson		 *
267116f7cc4SDouglas Anderson		 * pinctrl-names = "default";
268116f7cc4SDouglas Anderson		 * pinctrl-0 = <&wf_cam_en>;
269116f7cc4SDouglas Anderson		 */
270116f7cc4SDouglas Anderson
271116f7cc4SDouglas Anderson		vin-supply = <&vreg_l19b_s0>;
272533ca1c3SMatthias Kaehlcke		status = "disabled";
273116f7cc4SDouglas Anderson	};
274116f7cc4SDouglas Anderson
275116f7cc4SDouglas Anderson	pp1200_wf_cam: pp1200-wf-cam-regulator {
276116f7cc4SDouglas Anderson		compatible = "regulator-fixed";
277116f7cc4SDouglas Anderson		regulator-name = "pp1200_wf_cam";
278116f7cc4SDouglas Anderson
279116f7cc4SDouglas Anderson		regulator-min-microvolt = <1200000>;
280116f7cc4SDouglas Anderson		regulator-max-microvolt = <1200000>;
281116f7cc4SDouglas Anderson
282116f7cc4SDouglas Anderson		gpio = <&tlmm 119 GPIO_ACTIVE_HIGH>;
283116f7cc4SDouglas Anderson		enable-active-high;
284116f7cc4SDouglas Anderson		/*
285116f7cc4SDouglas Anderson		 * The pinconf can only be referenced once so we put it on the
286116f7cc4SDouglas Anderson		 * first regulator and comment it out here.
287116f7cc4SDouglas Anderson		 *
288116f7cc4SDouglas Anderson		 * pinctrl-names = "default";
289116f7cc4SDouglas Anderson		 * pinctrl-0 = <&wf_cam_en>;
290116f7cc4SDouglas Anderson		 */
291116f7cc4SDouglas Anderson
292116f7cc4SDouglas Anderson		vin-supply = <&pp3300_z1>;
293533ca1c3SMatthias Kaehlcke		status = "disabled";
294116f7cc4SDouglas Anderson	};
295116f7cc4SDouglas Anderson
296116f7cc4SDouglas Anderson	/* BOARD-SPECIFIC TOP LEVEL NODES */
297116f7cc4SDouglas Anderson
298116f7cc4SDouglas Anderson	pwmleds {
299116f7cc4SDouglas Anderson		compatible = "pwm-leds";
300116f7cc4SDouglas Anderson		status = "disabled";
301116f7cc4SDouglas Anderson		keyboard_backlight: keyboard-backlight {
302116f7cc4SDouglas Anderson			status = "disabled";
303116f7cc4SDouglas Anderson			label = "cros_ec::kbd_backlight";
304116f7cc4SDouglas Anderson			pwms = <&cros_ec_pwm 0>;
305116f7cc4SDouglas Anderson			max-brightness = <1023>;
306116f7cc4SDouglas Anderson		};
307116f7cc4SDouglas Anderson	};
308116f7cc4SDouglas Anderson};
309116f7cc4SDouglas Anderson
310116f7cc4SDouglas Anderson/*
311116f7cc4SDouglas Anderson * BOARD-LOCAL NAMES FOR REGULATORS THAT CONNECT TO QCARD
312116f7cc4SDouglas Anderson *
313116f7cc4SDouglas Anderson * Names are only listed here if regulators go somewhere other than a
314116f7cc4SDouglas Anderson * testpoint.
315116f7cc4SDouglas Anderson */
316116f7cc4SDouglas Anderson
317116f7cc4SDouglas Anderson/* From Qcard to our board; ordered by PMIC-ID / rail number */
318116f7cc4SDouglas Anderson
319116f7cc4SDouglas Andersonpp1256_s8b: &vreg_s8b_1p256 {};
320116f7cc4SDouglas Anderson
321116f7cc4SDouglas Andersonpp1800_l18b_s0: &vreg_l18b_1p8 {};
322116f7cc4SDouglas Andersonpp1800_l18b:    &vreg_l18b_1p8 {};
323116f7cc4SDouglas Anderson
324116f7cc4SDouglas Andersonvreg_l19b_s0: &vreg_l19b_1p8 {};
325116f7cc4SDouglas Anderson
326116f7cc4SDouglas Andersonpp1800_alc5682: &vreg_l2c_1p8 {};
327116f7cc4SDouglas Andersonpp1800_l2c:     &vreg_l2c_1p8 {};
328116f7cc4SDouglas Anderson
329116f7cc4SDouglas Andersonvreg_l4c: &vreg_l4c_1p8_3p0 {};
330116f7cc4SDouglas Anderson
331116f7cc4SDouglas Andersonppvar_l6c: &vreg_l6c_2p96 {};
332116f7cc4SDouglas Anderson
333116f7cc4SDouglas Andersonpp3000_l7c: &vreg_l7c_3p0 {};
334116f7cc4SDouglas Anderson
335116f7cc4SDouglas Andersonpp1800_prox: &vreg_l8c_1p8 {};
336116f7cc4SDouglas Andersonpp1800_l8c:  &vreg_l8c_1p8 {};
337116f7cc4SDouglas Anderson
338116f7cc4SDouglas Andersonpp2950_l9c: &vreg_l9c_2p96 {};
339116f7cc4SDouglas Anderson
340116f7cc4SDouglas Andersonpp1800_lcm:  &vreg_l12c_1p8 {};
341116f7cc4SDouglas Andersonpp1800_mipi: &vreg_l12c_1p8 {};
342116f7cc4SDouglas Andersonpp1800_l12c: &vreg_l12c_1p8 {};
343116f7cc4SDouglas Anderson
344116f7cc4SDouglas Andersonpp3300_lcm:  &vreg_l13c_3p0 {};
345116f7cc4SDouglas Andersonpp3300_mipi: &vreg_l13c_3p0 {};
346116f7cc4SDouglas Andersonpp3300_l13c: &vreg_l13c_3p0 {};
347116f7cc4SDouglas Anderson
348116f7cc4SDouglas Anderson/* From our board to Qcard; ordered same as node definition above */
349116f7cc4SDouglas Anderson
350116f7cc4SDouglas Andersonvreg_edp_bl: &ppvar_sys {};
351116f7cc4SDouglas Anderson
352116f7cc4SDouglas Andersonts_avdd:      &pp3300_left_in_mlb {};
353116f7cc4SDouglas Andersonvreg_edp_3p3: &pp3300_left_in_mlb {};
354116f7cc4SDouglas Anderson
355116f7cc4SDouglas Anderson/* ADDITIONS TO NODES DEFINED IN PARENT DEVICE TREE FILES */
356116f7cc4SDouglas Anderson
35770137d1dSMatthias Kaehlckeap_sar_sensor_i2c: &i2c1 {
35870137d1dSMatthias Kaehlcke	clock-frequency = <400000>;
35970137d1dSMatthias Kaehlcke	status = "disabled";
36070137d1dSMatthias Kaehlcke
36170137d1dSMatthias Kaehlcke	ap_sar_sensor0: proximity@28 {
36270137d1dSMatthias Kaehlcke		compatible = "semtech,sx9324";
36370137d1dSMatthias Kaehlcke		reg = <0x28>;
36470137d1dSMatthias Kaehlcke		#io-channel-cells = <1>;
36570137d1dSMatthias Kaehlcke		pinctrl-names = "default";
36670137d1dSMatthias Kaehlcke		pinctrl-0 = <&sar0_irq_odl>;
36770137d1dSMatthias Kaehlcke
36870137d1dSMatthias Kaehlcke		interrupt-parent = <&tlmm>;
36970137d1dSMatthias Kaehlcke		interrupts = <141 IRQ_TYPE_LEVEL_LOW>;
37070137d1dSMatthias Kaehlcke
37170137d1dSMatthias Kaehlcke		vdd-supply = <&pp1800_prox>;
37270137d1dSMatthias Kaehlcke
37370137d1dSMatthias Kaehlcke		label = "proximity-wifi-lte0";
37470137d1dSMatthias Kaehlcke		status = "disabled";
37570137d1dSMatthias Kaehlcke	};
37670137d1dSMatthias Kaehlcke
37770137d1dSMatthias Kaehlcke	ap_sar_sensor1: proximity@2c {
37870137d1dSMatthias Kaehlcke		compatible = "semtech,sx9324";
37970137d1dSMatthias Kaehlcke		reg = <0x2c>;
38070137d1dSMatthias Kaehlcke		#io-channel-cells = <1>;
38170137d1dSMatthias Kaehlcke		pinctrl-names = "default";
38270137d1dSMatthias Kaehlcke		pinctrl-0 = <&sar1_irq_odl>;
38370137d1dSMatthias Kaehlcke
38470137d1dSMatthias Kaehlcke		interrupt-parent = <&tlmm>;
38570137d1dSMatthias Kaehlcke		interrupts = <140 IRQ_TYPE_LEVEL_LOW>;
38670137d1dSMatthias Kaehlcke
38770137d1dSMatthias Kaehlcke		vdd-supply = <&pp1800_prox>;
38870137d1dSMatthias Kaehlcke
38970137d1dSMatthias Kaehlcke		label = "proximity-wifi-lte1";
39070137d1dSMatthias Kaehlcke		status = "disabled";
39170137d1dSMatthias Kaehlcke	};
39270137d1dSMatthias Kaehlcke};
39370137d1dSMatthias Kaehlcke
394116f7cc4SDouglas Andersonap_i2c_tpm: &i2c14 {
395116f7cc4SDouglas Anderson	status = "okay";
396116f7cc4SDouglas Anderson	clock-frequency = <400000>;
397116f7cc4SDouglas Anderson
398116f7cc4SDouglas Anderson	tpm@50 {
399116f7cc4SDouglas Anderson		compatible = "google,cr50";
400116f7cc4SDouglas Anderson		reg = <0x50>;
401116f7cc4SDouglas Anderson
402116f7cc4SDouglas Anderson		pinctrl-names = "default";
403116f7cc4SDouglas Anderson		pinctrl-0 = <&gsc_ap_int_odl>;
404116f7cc4SDouglas Anderson
405116f7cc4SDouglas Anderson		interrupt-parent = <&tlmm>;
406116f7cc4SDouglas Anderson		interrupts = <104 IRQ_TYPE_EDGE_RISING>;
407116f7cc4SDouglas Anderson	};
408116f7cc4SDouglas Anderson};
409116f7cc4SDouglas Anderson
410116f7cc4SDouglas Anderson/* NVMe drive, enabled on a per-board basis */
411116f7cc4SDouglas Anderson&pcie1 {
412116f7cc4SDouglas Anderson	pinctrl-names = "default";
413116f7cc4SDouglas Anderson	pinctrl-0 = <&pcie1_clkreq_n>, <&ssd_rst_l>, <&pe_wake_odl>;
414116f7cc4SDouglas Anderson
415116f7cc4SDouglas Anderson	perst-gpio = <&tlmm 2 GPIO_ACTIVE_LOW>;
416116f7cc4SDouglas Anderson	vddpe-3v3-supply = <&pp3300_ssd>;
417116f7cc4SDouglas Anderson};
418116f7cc4SDouglas Anderson
419116f7cc4SDouglas Anderson&pmk8350_rtc {
420116f7cc4SDouglas Anderson	status = "disabled";
421116f7cc4SDouglas Anderson};
422116f7cc4SDouglas Anderson
423116f7cc4SDouglas Anderson&qupv3_id_0 {
424116f7cc4SDouglas Anderson	status = "okay";
425116f7cc4SDouglas Anderson};
426116f7cc4SDouglas Anderson
427116f7cc4SDouglas Anderson&qupv3_id_1 {
428116f7cc4SDouglas Anderson	status = "okay";
429116f7cc4SDouglas Anderson};
430116f7cc4SDouglas Anderson
431116f7cc4SDouglas Anderson/* SD Card, enabled on a per-board basis */
432116f7cc4SDouglas Anderson&sdhc_2 {
433116f7cc4SDouglas Anderson	pinctrl-0 = <&sdc2_clk>, <&sdc2_cmd>, <&sdc2_data>, <&sd_cd_odl>;
434116f7cc4SDouglas Anderson	pinctrl-1 = <&sdc2_clk_sleep>, <&sdc2_cmd_sleep>, <&sdc2_data_sleep>, <&sd_cd_odl>;
435116f7cc4SDouglas Anderson
436116f7cc4SDouglas Anderson	vmmc-supply = <&pp2950_l9c>;
437116f7cc4SDouglas Anderson	vqmmc-supply = <&ppvar_l6c>;
438116f7cc4SDouglas Anderson
439116f7cc4SDouglas Anderson	cd-gpios = <&tlmm 91 GPIO_ACTIVE_LOW>;
440116f7cc4SDouglas Anderson};
441116f7cc4SDouglas Anderson
442116f7cc4SDouglas Anderson/* Fingerprint, enabled on a per-board basis */
443116f7cc4SDouglas Andersonap_spi_fp: &spi9 {
444116f7cc4SDouglas Anderson	pinctrl-0 = <&qup_spi9_data_clk>, <&qup_spi9_cs_gpio_init_high>, <&qup_spi9_cs_gpio>;
445116f7cc4SDouglas Anderson
446116f7cc4SDouglas Anderson	cs-gpios = <&tlmm 39 GPIO_ACTIVE_LOW>;
447116f7cc4SDouglas Anderson
448116f7cc4SDouglas Anderson	cros_ec_fp: ec@0 {
449116f7cc4SDouglas Anderson		compatible = "google,cros-ec-spi";
450116f7cc4SDouglas Anderson		reg = <0>;
451116f7cc4SDouglas Anderson		interrupt-parent = <&tlmm>;
452116f7cc4SDouglas Anderson		interrupts = <61 IRQ_TYPE_LEVEL_LOW>;
453116f7cc4SDouglas Anderson		pinctrl-names = "default";
454116f7cc4SDouglas Anderson		pinctrl-0 = <&fp_to_ap_irq_l>, <&fp_rst_l>, <&fpmcu_boot0>;
455116f7cc4SDouglas Anderson		spi-max-frequency = <3000000>;
456116f7cc4SDouglas Anderson	};
457116f7cc4SDouglas Anderson};
458116f7cc4SDouglas Anderson
459116f7cc4SDouglas Andersonap_ec_spi: &spi10 {
460116f7cc4SDouglas Anderson	status = "okay";
461116f7cc4SDouglas Anderson	pinctrl-0 = <&qup_spi10_data_clk>, <&qup_spi10_cs_gpio_init_high>, <&qup_spi10_cs_gpio>;
462116f7cc4SDouglas Anderson
463116f7cc4SDouglas Anderson	cs-gpios = <&tlmm 43 GPIO_ACTIVE_LOW>;
464116f7cc4SDouglas Anderson
465116f7cc4SDouglas Anderson	cros_ec: ec@0 {
466116f7cc4SDouglas Anderson		compatible = "google,cros-ec-spi";
467116f7cc4SDouglas Anderson		reg = <0>;
468116f7cc4SDouglas Anderson		interrupt-parent = <&tlmm>;
469116f7cc4SDouglas Anderson		interrupts = <18 IRQ_TYPE_LEVEL_LOW>;
470116f7cc4SDouglas Anderson		pinctrl-names = "default";
471116f7cc4SDouglas Anderson		pinctrl-0 = <&ap_ec_int_l>;
472116f7cc4SDouglas Anderson		spi-max-frequency = <3000000>;
473116f7cc4SDouglas Anderson
4741e49defbSKrzysztof Kozlowski		cros_ec_pwm: pwm {
475116f7cc4SDouglas Anderson			compatible = "google,cros-ec-pwm";
476116f7cc4SDouglas Anderson			#pwm-cells = <1>;
477116f7cc4SDouglas Anderson		};
478116f7cc4SDouglas Anderson
479116f7cc4SDouglas Anderson		i2c_tunnel: i2c-tunnel {
480116f7cc4SDouglas Anderson			compatible = "google,cros-ec-i2c-tunnel";
481116f7cc4SDouglas Anderson			google,remote-bus = <0>;
482116f7cc4SDouglas Anderson			#address-cells = <1>;
483116f7cc4SDouglas Anderson			#size-cells = <0>;
484116f7cc4SDouglas Anderson		};
485116f7cc4SDouglas Anderson
486116f7cc4SDouglas Anderson		typec {
487116f7cc4SDouglas Anderson			compatible = "google,cros-ec-typec";
488116f7cc4SDouglas Anderson			#address-cells = <1>;
489116f7cc4SDouglas Anderson			#size-cells = <0>;
490116f7cc4SDouglas Anderson
491116f7cc4SDouglas Anderson			usb_c0: connector@0 {
492116f7cc4SDouglas Anderson				compatible = "usb-c-connector";
493116f7cc4SDouglas Anderson				reg = <0>;
494116f7cc4SDouglas Anderson				label = "left";
495116f7cc4SDouglas Anderson				power-role = "dual";
496116f7cc4SDouglas Anderson				data-role = "host";
497116f7cc4SDouglas Anderson				try-power-role = "source";
498116f7cc4SDouglas Anderson			};
499116f7cc4SDouglas Anderson
500116f7cc4SDouglas Anderson			usb_c1: connector@1 {
501116f7cc4SDouglas Anderson				compatible = "usb-c-connector";
502116f7cc4SDouglas Anderson				reg = <1>;
503116f7cc4SDouglas Anderson				label = "right";
504116f7cc4SDouglas Anderson				power-role = "dual";
505116f7cc4SDouglas Anderson				data-role = "host";
506116f7cc4SDouglas Anderson				try-power-role = "source";
507116f7cc4SDouglas Anderson			};
508116f7cc4SDouglas Anderson		};
509116f7cc4SDouglas Anderson	};
510116f7cc4SDouglas Anderson};
511116f7cc4SDouglas Anderson
512116f7cc4SDouglas Anderson#include <arm/cros-ec-keyboard.dtsi>
513116f7cc4SDouglas Anderson#include <arm/cros-ec-sbs.dtsi>
514116f7cc4SDouglas Anderson
515116f7cc4SDouglas Anderson&keyboard_controller {
516116f7cc4SDouglas Anderson	function-row-physmap = <
517116f7cc4SDouglas Anderson		MATRIX_KEY(0x00, 0x02, 0)	/* T1 */
518116f7cc4SDouglas Anderson		MATRIX_KEY(0x03, 0x02, 0)	/* T2 */
519116f7cc4SDouglas Anderson		MATRIX_KEY(0x02, 0x02, 0)	/* T3 */
520116f7cc4SDouglas Anderson		MATRIX_KEY(0x01, 0x02, 0)	/* T4 */
521116f7cc4SDouglas Anderson		MATRIX_KEY(0x03, 0x04, 0)	/* T5 */
522116f7cc4SDouglas Anderson		MATRIX_KEY(0x02, 0x04, 0)	/* T6 */
523116f7cc4SDouglas Anderson		MATRIX_KEY(0x01, 0x04, 0)	/* T7 */
524116f7cc4SDouglas Anderson		MATRIX_KEY(0x02, 0x09, 0)	/* T8 */
525116f7cc4SDouglas Anderson		MATRIX_KEY(0x01, 0x09, 0)	/* T9 */
526116f7cc4SDouglas Anderson		MATRIX_KEY(0x00, 0x04, 0)	/* T10 */
527116f7cc4SDouglas Anderson	>;
528116f7cc4SDouglas Anderson	linux,keymap = <
529116f7cc4SDouglas Anderson		MATRIX_KEY(0x00, 0x02, KEY_BACK)
530116f7cc4SDouglas Anderson		MATRIX_KEY(0x03, 0x02, KEY_REFRESH)
531116f7cc4SDouglas Anderson		MATRIX_KEY(0x02, 0x02, KEY_ZOOM)
532116f7cc4SDouglas Anderson		MATRIX_KEY(0x01, 0x02, KEY_SCALE)
533116f7cc4SDouglas Anderson		MATRIX_KEY(0x03, 0x04, KEY_SYSRQ)
534116f7cc4SDouglas Anderson		MATRIX_KEY(0x02, 0x04, KEY_BRIGHTNESSDOWN)
535116f7cc4SDouglas Anderson		MATRIX_KEY(0x01, 0x04, KEY_BRIGHTNESSUP)
536116f7cc4SDouglas Anderson		MATRIX_KEY(0x02, 0x09, KEY_MUTE)
537116f7cc4SDouglas Anderson		MATRIX_KEY(0x01, 0x09, KEY_VOLUMEDOWN)
538116f7cc4SDouglas Anderson		MATRIX_KEY(0x00, 0x04, KEY_VOLUMEUP)
539116f7cc4SDouglas Anderson
540116f7cc4SDouglas Anderson		CROS_STD_MAIN_KEYMAP
541116f7cc4SDouglas Anderson	>;
542116f7cc4SDouglas Anderson};
543116f7cc4SDouglas Anderson
544116f7cc4SDouglas Anderson&usb_1 {
545116f7cc4SDouglas Anderson	status = "okay";
546116f7cc4SDouglas Anderson};
547116f7cc4SDouglas Anderson
548116f7cc4SDouglas Anderson&usb_1_dwc3 {
549116f7cc4SDouglas Anderson	dr_mode = "host";
550116f7cc4SDouglas Anderson};
551116f7cc4SDouglas Anderson
552116f7cc4SDouglas Anderson&usb_1_hsphy {
553116f7cc4SDouglas Anderson	status = "okay";
554116f7cc4SDouglas Anderson};
555116f7cc4SDouglas Anderson
556116f7cc4SDouglas Anderson&usb_1_qmpphy {
557116f7cc4SDouglas Anderson	status = "okay";
558116f7cc4SDouglas Anderson};
559116f7cc4SDouglas Anderson
560116f7cc4SDouglas Anderson&usb_2 {
561116f7cc4SDouglas Anderson	status = "okay";
562116f7cc4SDouglas Anderson};
563116f7cc4SDouglas Anderson
564116f7cc4SDouglas Anderson&usb_2_dwc3 {
565116f7cc4SDouglas Anderson	dr_mode = "host";
566116f7cc4SDouglas Anderson};
567116f7cc4SDouglas Anderson
568116f7cc4SDouglas Anderson&usb_2_hsphy {
569116f7cc4SDouglas Anderson	status = "okay";
570116f7cc4SDouglas Anderson};
571116f7cc4SDouglas Anderson
572116f7cc4SDouglas Anderson/* PINCTRL - ADDITIONS TO NODES IN PARENT DEVICE TREE FILES */
573116f7cc4SDouglas Anderson
574116f7cc4SDouglas Anderson&dp_hot_plug_det {
575116f7cc4SDouglas Anderson	bias-disable;
576116f7cc4SDouglas Anderson};
577116f7cc4SDouglas Anderson
578116f7cc4SDouglas Anderson&pcie1_clkreq_n {
579116f7cc4SDouglas Anderson	bias-pull-up;
580116f7cc4SDouglas Anderson	drive-strength = <2>;
581116f7cc4SDouglas Anderson};
582116f7cc4SDouglas Anderson
583116f7cc4SDouglas Anderson&qspi_cs0 {
584116f7cc4SDouglas Anderson	bias-disable;
585116f7cc4SDouglas Anderson	drive-strength = <8>;
586116f7cc4SDouglas Anderson};
587116f7cc4SDouglas Anderson
588116f7cc4SDouglas Anderson&qspi_clk {
589116f7cc4SDouglas Anderson	bias-disable;
590116f7cc4SDouglas Anderson	drive-strength = <8>;
591116f7cc4SDouglas Anderson};
592116f7cc4SDouglas Anderson
593116f7cc4SDouglas Anderson&qspi_data01 {
594116f7cc4SDouglas Anderson	/* High-Z when no transfers; nice to park the lines */
595116f7cc4SDouglas Anderson	bias-pull-up;
596116f7cc4SDouglas Anderson	drive-strength = <8>;
597116f7cc4SDouglas Anderson};
598116f7cc4SDouglas Anderson
599116f7cc4SDouglas Anderson/* For ap_tp_i2c */
600116f7cc4SDouglas Anderson&qup_i2c0_data_clk {
601116f7cc4SDouglas Anderson	/* Has external pull */
602116f7cc4SDouglas Anderson	bias-disable;
603116f7cc4SDouglas Anderson	drive-strength = <2>;
604116f7cc4SDouglas Anderson};
605116f7cc4SDouglas Anderson
606116f7cc4SDouglas Anderson/* For ap_i2c_tpm */
607116f7cc4SDouglas Anderson&qup_i2c14_data_clk {
608116f7cc4SDouglas Anderson	/* Has external pull */
609116f7cc4SDouglas Anderson	bias-disable;
610116f7cc4SDouglas Anderson	drive-strength = <2>;
611116f7cc4SDouglas Anderson};
612116f7cc4SDouglas Anderson
613116f7cc4SDouglas Anderson/* For ap_spi_fp */
614116f7cc4SDouglas Anderson&qup_spi9_data_clk {
615116f7cc4SDouglas Anderson	bias-disable;
616116f7cc4SDouglas Anderson	drive-strength = <2>;
617116f7cc4SDouglas Anderson};
618116f7cc4SDouglas Anderson
619116f7cc4SDouglas Anderson/* For ap_spi_fp */
620116f7cc4SDouglas Anderson&qup_spi9_cs_gpio {
621116f7cc4SDouglas Anderson	bias-disable;
622116f7cc4SDouglas Anderson	drive-strength = <2>;
623116f7cc4SDouglas Anderson};
624116f7cc4SDouglas Anderson
625116f7cc4SDouglas Anderson/* For ap_ec_spi */
626116f7cc4SDouglas Anderson&qup_spi10_data_clk {
627116f7cc4SDouglas Anderson	bias-disable;
628116f7cc4SDouglas Anderson	drive-strength = <2>;
629116f7cc4SDouglas Anderson};
630116f7cc4SDouglas Anderson
631116f7cc4SDouglas Anderson/* For ap_ec_spi */
632116f7cc4SDouglas Anderson&qup_spi10_cs_gpio {
633116f7cc4SDouglas Anderson	bias-disable;
634116f7cc4SDouglas Anderson	drive-strength = <2>;
635116f7cc4SDouglas Anderson};
636116f7cc4SDouglas Anderson
637116f7cc4SDouglas Anderson/* For uart_dbg */
638116f7cc4SDouglas Anderson&qup_uart5_rx {
639116f7cc4SDouglas Anderson	bias-pull-up;
640116f7cc4SDouglas Anderson};
641116f7cc4SDouglas Anderson
642116f7cc4SDouglas Anderson/* For uart_dbg */
643116f7cc4SDouglas Anderson&qup_uart5_tx {
644116f7cc4SDouglas Anderson	bias-disable;
645116f7cc4SDouglas Anderson	drive-strength = <2>;
646116f7cc4SDouglas Anderson};
647116f7cc4SDouglas Anderson
648116f7cc4SDouglas Anderson&sdc2_clk {
649116f7cc4SDouglas Anderson	bias-disable;
650116f7cc4SDouglas Anderson	drive-strength = <16>;
651116f7cc4SDouglas Anderson};
652116f7cc4SDouglas Anderson
653116f7cc4SDouglas Anderson&sdc2_cmd {
654116f7cc4SDouglas Anderson	bias-pull-up;
655116f7cc4SDouglas Anderson	drive-strength = <10>;
656116f7cc4SDouglas Anderson};
657116f7cc4SDouglas Anderson
658116f7cc4SDouglas Anderson&sdc2_data {
659116f7cc4SDouglas Anderson	bias-pull-up;
660116f7cc4SDouglas Anderson	drive-strength = <10>;
661116f7cc4SDouglas Anderson};
662116f7cc4SDouglas Anderson
663116f7cc4SDouglas Anderson/* PINCTRL - board-specific pinctrl */
664116f7cc4SDouglas Anderson
665116f7cc4SDouglas Anderson&pm7325_gpios {
666116f7cc4SDouglas Anderson	/*
667116f7cc4SDouglas Anderson	 * On a quick glance it might look like KYPD_VOL_UP_N is used, but
668116f7cc4SDouglas Anderson	 * that only passes through to a debug connector and not to the actual
669116f7cc4SDouglas Anderson	 * volume up key.
670116f7cc4SDouglas Anderson	 */
671116f7cc4SDouglas Anderson	status = "disabled"; /* No GPIOs are connected */
672116f7cc4SDouglas Anderson};
673116f7cc4SDouglas Anderson
674116f7cc4SDouglas Anderson&pmk8350_gpios {
675116f7cc4SDouglas Anderson	status = "disabled"; /* No GPIOs are connected */
676116f7cc4SDouglas Anderson};
677116f7cc4SDouglas Anderson
678116f7cc4SDouglas Anderson&tlmm {
679116f7cc4SDouglas Anderson	/* pinctrl settings for pins that have no real owners. */
680116f7cc4SDouglas Anderson	pinctrl-names = "default";
681116f7cc4SDouglas Anderson	pinctrl-0 = <&bios_flash_wp_od>;
682116f7cc4SDouglas Anderson
683116f7cc4SDouglas Anderson	amp_en: amp-en {
684116f7cc4SDouglas Anderson		pins = "gpio63";
685116f7cc4SDouglas Anderson		function = "gpio";
686116f7cc4SDouglas Anderson		bias-disable;
687116f7cc4SDouglas Anderson		drive-strength = <2>;
688116f7cc4SDouglas Anderson	};
689116f7cc4SDouglas Anderson
690116f7cc4SDouglas Anderson	ap_ec_int_l: ap-ec-int-l {
691116f7cc4SDouglas Anderson		pins = "gpio18";
692116f7cc4SDouglas Anderson		function = "gpio";
693116f7cc4SDouglas Anderson		bias-pull-up;
694116f7cc4SDouglas Anderson	};
695116f7cc4SDouglas Anderson
696116f7cc4SDouglas Anderson	bios_flash_wp_od: bios-flash-wp-od {
697116f7cc4SDouglas Anderson		pins = "gpio16";
698116f7cc4SDouglas Anderson		function = "gpio";
699116f7cc4SDouglas Anderson		/* Has external pull */
700116f7cc4SDouglas Anderson		bias-disable;
701116f7cc4SDouglas Anderson	};
702116f7cc4SDouglas Anderson
703116f7cc4SDouglas Anderson	en_fp_rails: en-fp-rails {
704116f7cc4SDouglas Anderson		pins = "gpio77";
705116f7cc4SDouglas Anderson		function = "gpio";
706116f7cc4SDouglas Anderson		bias-disable;
707116f7cc4SDouglas Anderson		drive-strength = <2>;
708116f7cc4SDouglas Anderson		output-high;
709116f7cc4SDouglas Anderson	};
710116f7cc4SDouglas Anderson
711116f7cc4SDouglas Anderson	en_pp3300_codec: en-pp3300-codec {
712116f7cc4SDouglas Anderson		pins = "gpio105";
713116f7cc4SDouglas Anderson		function = "gpio";
714116f7cc4SDouglas Anderson		bias-disable;
715116f7cc4SDouglas Anderson		drive-strength = <2>;
716116f7cc4SDouglas Anderson	};
717116f7cc4SDouglas Anderson
718116f7cc4SDouglas Anderson	en_pp3300_dx_edp: en-pp3300-dx-edp {
719116f7cc4SDouglas Anderson		pins = "gpio80";
720116f7cc4SDouglas Anderson		function = "gpio";
721116f7cc4SDouglas Anderson		bias-disable;
722116f7cc4SDouglas Anderson		drive-strength = <2>;
723116f7cc4SDouglas Anderson	};
724116f7cc4SDouglas Anderson
725116f7cc4SDouglas Anderson	fp_rst_l: fp-rst-l {
726116f7cc4SDouglas Anderson		pins = "gpio78";
727116f7cc4SDouglas Anderson		function = "gpio";
728116f7cc4SDouglas Anderson		bias-disable;
729116f7cc4SDouglas Anderson		drive-strength = <2>;
730116f7cc4SDouglas Anderson		output-high;
731116f7cc4SDouglas Anderson	};
732116f7cc4SDouglas Anderson
733116f7cc4SDouglas Anderson	fp_to_ap_irq_l: fp-to-ap-irq-l {
734116f7cc4SDouglas Anderson		pins = "gpio61";
735116f7cc4SDouglas Anderson		function = "gpio";
736116f7cc4SDouglas Anderson		/* Has external pullup */
737116f7cc4SDouglas Anderson		bias-disable;
738116f7cc4SDouglas Anderson	};
739116f7cc4SDouglas Anderson
740116f7cc4SDouglas Anderson	fpmcu_boot0: fpmcu-boot0 {
741116f7cc4SDouglas Anderson		pins = "gpio68";
742116f7cc4SDouglas Anderson		function = "gpio";
743116f7cc4SDouglas Anderson		bias-disable;
744116f7cc4SDouglas Anderson		output-low;
745116f7cc4SDouglas Anderson	};
746116f7cc4SDouglas Anderson
747116f7cc4SDouglas Anderson	gsc_ap_int_odl: gsc-ap-int-odl {
748116f7cc4SDouglas Anderson		pins = "gpio104";
749116f7cc4SDouglas Anderson		function = "gpio";
750116f7cc4SDouglas Anderson		bias-pull-up;
751116f7cc4SDouglas Anderson	};
752116f7cc4SDouglas Anderson
753116f7cc4SDouglas Anderson	hp_irq: hp-irq {
754116f7cc4SDouglas Anderson		pins = "gpio101";
755116f7cc4SDouglas Anderson		function = "gpio";
756116f7cc4SDouglas Anderson		bias-pull-up;
757116f7cc4SDouglas Anderson	};
758116f7cc4SDouglas Anderson
759116f7cc4SDouglas Anderson	hub_en: hub-en {
760116f7cc4SDouglas Anderson		pins = "gpio157";
761116f7cc4SDouglas Anderson		function = "gpio";
762116f7cc4SDouglas Anderson		bias-disable;
763116f7cc4SDouglas Anderson		drive-strength = <2>;
764116f7cc4SDouglas Anderson	};
765116f7cc4SDouglas Anderson
766116f7cc4SDouglas Anderson	pe_wake_odl: pe-wake-odl {
767116f7cc4SDouglas Anderson		pins = "gpio3";
768116f7cc4SDouglas Anderson		function = "gpio";
769116f7cc4SDouglas Anderson		/* Has external pull */
770116f7cc4SDouglas Anderson		bias-disable;
771116f7cc4SDouglas Anderson		drive-strength = <2>;
772116f7cc4SDouglas Anderson	};
773116f7cc4SDouglas Anderson
774116f7cc4SDouglas Anderson	/* For ap_spi_fp */
775116f7cc4SDouglas Anderson	qup_spi9_cs_gpio_init_high: qup-spi9-cs-gpio-init-high {
776116f7cc4SDouglas Anderson		pins = "gpio39";
777116f7cc4SDouglas Anderson		function = "gpio";
778116f7cc4SDouglas Anderson		output-high;
779116f7cc4SDouglas Anderson	};
780116f7cc4SDouglas Anderson
781116f7cc4SDouglas Anderson	/* For ap_ec_spi */
782116f7cc4SDouglas Anderson	qup_spi10_cs_gpio_init_high: qup-spi10-cs-gpio-init-high {
783116f7cc4SDouglas Anderson		pins = "gpio43";
784116f7cc4SDouglas Anderson		function = "gpio";
785116f7cc4SDouglas Anderson		output-high;
786116f7cc4SDouglas Anderson	};
787116f7cc4SDouglas Anderson
788116f7cc4SDouglas Anderson	sar0_irq_odl: sar0-irq-odl {
789116f7cc4SDouglas Anderson		pins = "gpio141";
790116f7cc4SDouglas Anderson		function = "gpio";
791116f7cc4SDouglas Anderson		bias-pull-up;
792116f7cc4SDouglas Anderson	};
793116f7cc4SDouglas Anderson
794f31c834dSStephen Boyd	sar1_irq_odl: sar1-irq-odl {
795116f7cc4SDouglas Anderson		pins = "gpio140";
796116f7cc4SDouglas Anderson		function = "gpio";
797116f7cc4SDouglas Anderson		bias-pull-up;
798116f7cc4SDouglas Anderson	};
799116f7cc4SDouglas Anderson
800116f7cc4SDouglas Anderson	sd_cd_odl: sd-cd-odl {
801116f7cc4SDouglas Anderson		pins = "gpio91";
802116f7cc4SDouglas Anderson		function = "gpio";
803116f7cc4SDouglas Anderson		bias-pull-up;
804116f7cc4SDouglas Anderson	};
805116f7cc4SDouglas Anderson
806116f7cc4SDouglas Anderson	ssd_en: ssd-en {
807116f7cc4SDouglas Anderson		pins = "gpio51";
808116f7cc4SDouglas Anderson		function = "gpio";
809116f7cc4SDouglas Anderson		bias-disable;
810116f7cc4SDouglas Anderson		drive-strength = <2>;
811116f7cc4SDouglas Anderson	};
812116f7cc4SDouglas Anderson
813116f7cc4SDouglas Anderson	ssd_rst_l: ssd-rst-l {
814116f7cc4SDouglas Anderson		pins = "gpio2";
815116f7cc4SDouglas Anderson		function = "gpio";
816116f7cc4SDouglas Anderson		bias-disable;
817116f7cc4SDouglas Anderson		drive-strength = <2>;
818116f7cc4SDouglas Anderson		output-low;
819116f7cc4SDouglas Anderson	};
820116f7cc4SDouglas Anderson
821116f7cc4SDouglas Anderson	tp_int_odl: tp-int-odl {
822116f7cc4SDouglas Anderson		pins = "gpio7";
823116f7cc4SDouglas Anderson		function = "gpio";
824116f7cc4SDouglas Anderson		/* Has external pullup */
825116f7cc4SDouglas Anderson		bias-disable;
826116f7cc4SDouglas Anderson	};
827116f7cc4SDouglas Anderson
828116f7cc4SDouglas Anderson	wf_cam_en: wf-cam-en {
829116f7cc4SDouglas Anderson		pins = "gpio119";
830116f7cc4SDouglas Anderson		function = "gpio";
831116f7cc4SDouglas Anderson		/* Has external pulldown */
832116f7cc4SDouglas Anderson		bias-disable;
833116f7cc4SDouglas Anderson		drive-strength = <2>;
834116f7cc4SDouglas Anderson	};
835116f7cc4SDouglas Anderson};
836