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>
18b7428806SKrzysztof Kozlowski#include <dt-bindings/leds/common.h>
19116f7cc4SDouglas Anderson
20116f7cc4SDouglas Anderson#include "sc7280-qcard.dtsi"
21116f7cc4SDouglas Anderson#include "sc7280-chrome-common.dtsi"
22116f7cc4SDouglas Anderson
23116f7cc4SDouglas Anderson/ {
24116f7cc4SDouglas Anderson	chosen {
25116f7cc4SDouglas Anderson		stdout-path = "serial0:115200n8";
26116f7cc4SDouglas Anderson	};
27116f7cc4SDouglas Anderson
28116f7cc4SDouglas Anderson	/*
29116f7cc4SDouglas Anderson	 * FIXED REGULATORS
30116f7cc4SDouglas Anderson	 *
31116f7cc4SDouglas Anderson	 * Sort order:
32116f7cc4SDouglas Anderson	 * 1. parents above children.
33116f7cc4SDouglas Anderson	 * 2. higher voltage above lower voltage.
34116f7cc4SDouglas Anderson	 * 3. alphabetically by node name.
35116f7cc4SDouglas Anderson	 */
36116f7cc4SDouglas Anderson
37116f7cc4SDouglas Anderson	/* This is the top level supply and variable voltage */
38116f7cc4SDouglas Anderson	ppvar_sys: ppvar-sys-regulator {
39116f7cc4SDouglas Anderson		compatible = "regulator-fixed";
40116f7cc4SDouglas Anderson		regulator-name = "ppvar_sys";
41116f7cc4SDouglas Anderson		regulator-always-on;
42116f7cc4SDouglas Anderson		regulator-boot-on;
43116f7cc4SDouglas Anderson	};
44116f7cc4SDouglas Anderson
45116f7cc4SDouglas Anderson	/* This divides ppvar_sys by 2, so voltage is variable */
46116f7cc4SDouglas Anderson	src_vph_pwr: src-vph-pwr-regulator {
47116f7cc4SDouglas Anderson		compatible = "regulator-fixed";
48116f7cc4SDouglas Anderson		regulator-name = "src_vph_pwr";
49116f7cc4SDouglas Anderson
50116f7cc4SDouglas Anderson		/* EC turns on with switchcap_on; always on for AP */
51116f7cc4SDouglas Anderson		regulator-always-on;
52116f7cc4SDouglas Anderson		regulator-boot-on;
53116f7cc4SDouglas Anderson
54116f7cc4SDouglas Anderson		vin-supply = <&ppvar_sys>;
55116f7cc4SDouglas Anderson	};
56116f7cc4SDouglas Anderson
57116f7cc4SDouglas Anderson	pp5000_s5: pp5000-s5-regulator {
58116f7cc4SDouglas Anderson		compatible = "regulator-fixed";
59116f7cc4SDouglas Anderson		regulator-name = "pp5000_s5";
60116f7cc4SDouglas Anderson
61116f7cc4SDouglas Anderson		/* EC turns on with en_pp5000_s5; always on for AP */
62116f7cc4SDouglas Anderson		regulator-always-on;
63116f7cc4SDouglas Anderson		regulator-boot-on;
64116f7cc4SDouglas Anderson		regulator-min-microvolt = <5000000>;
65116f7cc4SDouglas Anderson		regulator-max-microvolt = <5000000>;
66116f7cc4SDouglas Anderson
67116f7cc4SDouglas Anderson		vin-supply = <&ppvar_sys>;
68116f7cc4SDouglas Anderson	};
69116f7cc4SDouglas Anderson
70116f7cc4SDouglas Anderson	pp3300_z1: pp3300-z1-regulator {
71116f7cc4SDouglas Anderson		compatible = "regulator-fixed";
72116f7cc4SDouglas Anderson		regulator-name = "pp3300_z1";
73116f7cc4SDouglas Anderson
74116f7cc4SDouglas Anderson		/* EC turns on with en_pp3300_z1; always on for AP */
75116f7cc4SDouglas Anderson		regulator-always-on;
76116f7cc4SDouglas Anderson		regulator-boot-on;
77116f7cc4SDouglas Anderson		regulator-min-microvolt = <3300000>;
78116f7cc4SDouglas Anderson		regulator-max-microvolt = <3300000>;
79116f7cc4SDouglas Anderson
80116f7cc4SDouglas Anderson		vin-supply = <&ppvar_sys>;
81116f7cc4SDouglas Anderson	};
82116f7cc4SDouglas Anderson
83116f7cc4SDouglas Anderson	pp3300_codec: pp3300-codec-regulator {
84116f7cc4SDouglas Anderson		compatible = "regulator-fixed";
85116f7cc4SDouglas Anderson		regulator-name = "pp3300_codec";
86116f7cc4SDouglas Anderson
87116f7cc4SDouglas Anderson		regulator-min-microvolt = <3300000>;
88116f7cc4SDouglas Anderson		regulator-max-microvolt = <3300000>;
89116f7cc4SDouglas Anderson
90116f7cc4SDouglas Anderson		gpio = <&tlmm 105 GPIO_ACTIVE_HIGH>;
91116f7cc4SDouglas Anderson		enable-active-high;
92116f7cc4SDouglas Anderson		pinctrl-names = "default";
93116f7cc4SDouglas Anderson		pinctrl-0 = <&en_pp3300_codec>;
94116f7cc4SDouglas Anderson
95116f7cc4SDouglas Anderson		vin-supply = <&pp3300_z1>;
96533ca1c3SMatthias Kaehlcke		status = "disabled";
97116f7cc4SDouglas Anderson	};
98116f7cc4SDouglas Anderson
99116f7cc4SDouglas Anderson	pp3300_left_in_mlb: pp3300-left-in-mlb-regulator {
100116f7cc4SDouglas Anderson		compatible = "regulator-fixed";
101116f7cc4SDouglas Anderson		regulator-name = "pp3300_left_in_mlb";
102116f7cc4SDouglas Anderson
103116f7cc4SDouglas Anderson		regulator-min-microvolt = <3300000>;
104116f7cc4SDouglas Anderson		regulator-max-microvolt = <3300000>;
105116f7cc4SDouglas Anderson
106116f7cc4SDouglas Anderson		gpio = <&tlmm 80 GPIO_ACTIVE_HIGH>;
107116f7cc4SDouglas Anderson		enable-active-high;
108116f7cc4SDouglas Anderson		pinctrl-names = "default";
109116f7cc4SDouglas Anderson		pinctrl-0 = <&en_pp3300_dx_edp>;
110116f7cc4SDouglas Anderson
1114261cea1SDouglas Anderson		regulator-enable-ramp-delay = <3000>;
1124261cea1SDouglas Anderson
113f069ede8SDouglas Anderson		/*
114f069ede8SDouglas Anderson		 * eDP panel specs nearly always have a spec that says you
115f069ede8SDouglas Anderson		 * shouldn't turn them off an on again without waiting 500ms.
116f069ede8SDouglas Anderson		 * Add this as a board constraint since this rail is shared
117f069ede8SDouglas Anderson		 * between the panel and touchscreen.
118f069ede8SDouglas Anderson		 */
119f069ede8SDouglas Anderson		off-on-delay-us = <500000>;
120f069ede8SDouglas Anderson
121f069ede8SDouglas Anderson		/*
122f069ede8SDouglas Anderson		 * Stat the regulator on. This has the advantage of starting
123f069ede8SDouglas Anderson		 * the slow process of powering the panel on as soon as we
124f069ede8SDouglas Anderson		 * probe the regulator. It also avoids tripping the
125f069ede8SDouglas Anderson		 * off-on-delay immediately on every bootup.
126f069ede8SDouglas Anderson		 */
127f069ede8SDouglas Anderson		regulator-boot-on;
128f069ede8SDouglas Anderson
129116f7cc4SDouglas Anderson		vin-supply = <&pp3300_z1>;
130116f7cc4SDouglas Anderson	};
131116f7cc4SDouglas Anderson
132116f7cc4SDouglas Anderson	pp3300_mcu_fp:
133116f7cc4SDouglas Anderson	pp3300_fp_ls:
134116f7cc4SDouglas Anderson	pp3300_fp_mcu: pp3300-fp-regulator {
135116f7cc4SDouglas Anderson		compatible = "regulator-fixed";
136116f7cc4SDouglas Anderson		regulator-name = "pp3300_fp";
137116f7cc4SDouglas Anderson
138116f7cc4SDouglas Anderson		regulator-min-microvolt = <3300000>;
139116f7cc4SDouglas Anderson		regulator-max-microvolt = <3300000>;
140116f7cc4SDouglas Anderson
141116f7cc4SDouglas Anderson		regulator-boot-on;
142116f7cc4SDouglas Anderson		regulator-always-on;
143116f7cc4SDouglas Anderson
144116f7cc4SDouglas Anderson		/*
145116f7cc4SDouglas Anderson		 * WARNING: it is intentional that GPIO 77 isn't listed here.
146116f7cc4SDouglas Anderson		 * The userspace script for updating the fingerprint firmware
147116f7cc4SDouglas Anderson		 * needs to control the FP regulators during a FW update,
148116f7cc4SDouglas Anderson		 * hence the signal can't be owned by the kernel regulator.
149116f7cc4SDouglas Anderson		 */
150116f7cc4SDouglas Anderson
151116f7cc4SDouglas Anderson		pinctrl-names = "default";
152116f7cc4SDouglas Anderson		pinctrl-0 = <&en_fp_rails>;
153116f7cc4SDouglas Anderson
154116f7cc4SDouglas Anderson		vin-supply = <&pp3300_z1>;
155533ca1c3SMatthias Kaehlcke		status = "disabled";
156116f7cc4SDouglas Anderson	};
157116f7cc4SDouglas Anderson
158116f7cc4SDouglas Anderson	pp3300_hub: pp3300-hub-regulator {
159116f7cc4SDouglas Anderson		compatible = "regulator-fixed";
160116f7cc4SDouglas Anderson		regulator-name = "pp3300_hub";
161116f7cc4SDouglas Anderson
162116f7cc4SDouglas Anderson		regulator-min-microvolt = <3300000>;
163116f7cc4SDouglas Anderson		regulator-max-microvolt = <3300000>;
164116f7cc4SDouglas Anderson
165dc94156cSMatthias Kaehlcke		/* The BIOS leaves this regulator on */
166116f7cc4SDouglas Anderson		regulator-boot-on;
167116f7cc4SDouglas Anderson
168116f7cc4SDouglas Anderson		gpio = <&tlmm 157 GPIO_ACTIVE_HIGH>;
169116f7cc4SDouglas Anderson		enable-active-high;
170116f7cc4SDouglas Anderson		pinctrl-names = "default";
171116f7cc4SDouglas Anderson		pinctrl-0 = <&hub_en>;
172116f7cc4SDouglas Anderson
173116f7cc4SDouglas Anderson		vin-supply = <&pp3300_z1>;
174116f7cc4SDouglas Anderson	};
175116f7cc4SDouglas Anderson
176116f7cc4SDouglas Anderson	pp3300_tp: pp3300-tp-regulator {
177116f7cc4SDouglas Anderson		compatible = "regulator-fixed";
178116f7cc4SDouglas Anderson		regulator-name = "pp3300_tp";
179116f7cc4SDouglas Anderson
180116f7cc4SDouglas Anderson		regulator-min-microvolt = <3300000>;
181116f7cc4SDouglas Anderson		regulator-max-microvolt = <3300000>;
182116f7cc4SDouglas Anderson
183116f7cc4SDouglas Anderson		/* AP turns on with PP1800_L18B_S0; always on for AP */
184116f7cc4SDouglas Anderson		regulator-always-on;
185116f7cc4SDouglas Anderson		regulator-boot-on;
186116f7cc4SDouglas Anderson
187116f7cc4SDouglas Anderson		vin-supply = <&pp3300_z1>;
188116f7cc4SDouglas Anderson	};
189116f7cc4SDouglas Anderson
190116f7cc4SDouglas Anderson	pp3300_ssd: pp3300-ssd-regulator {
191116f7cc4SDouglas Anderson		compatible = "regulator-fixed";
192116f7cc4SDouglas Anderson		regulator-name = "pp3300_ssd";
193116f7cc4SDouglas Anderson
194116f7cc4SDouglas Anderson		regulator-min-microvolt = <3300000>;
195116f7cc4SDouglas Anderson		regulator-max-microvolt = <3300000>;
196116f7cc4SDouglas Anderson
197116f7cc4SDouglas Anderson		gpio = <&tlmm 51 GPIO_ACTIVE_HIGH>;
198116f7cc4SDouglas Anderson		enable-active-high;
199116f7cc4SDouglas Anderson		pinctrl-names = "default";
200116f7cc4SDouglas Anderson		pinctrl-0 = <&ssd_en>;
201116f7cc4SDouglas Anderson
2020d40497dSDouglas Anderson		/*
2030d40497dSDouglas Anderson		 * The bootloaer may have left PCIe configured. Powering this
2040d40497dSDouglas Anderson		 * off while the PCIe clocks are still running isn't great,
2050d40497dSDouglas Anderson		 * so it's better to default to this regulator being on.
2060d40497dSDouglas Anderson		 */
2070d40497dSDouglas Anderson		regulator-boot-on;
2080d40497dSDouglas Anderson
209116f7cc4SDouglas Anderson		vin-supply = <&pp3300_z1>;
210116f7cc4SDouglas Anderson	};
211116f7cc4SDouglas Anderson
212116f7cc4SDouglas Anderson	pp2850_vcm_wf_cam: pp2850-vcm-wf-cam-regulator {
213116f7cc4SDouglas Anderson		compatible = "regulator-fixed";
214116f7cc4SDouglas Anderson		regulator-name = "pp2850_vcm_wf_cam";
215116f7cc4SDouglas Anderson
216116f7cc4SDouglas Anderson		regulator-min-microvolt = <2850000>;
217116f7cc4SDouglas Anderson		regulator-max-microvolt = <2850000>;
218116f7cc4SDouglas Anderson
219116f7cc4SDouglas Anderson		gpio = <&tlmm 119 GPIO_ACTIVE_HIGH>;
220116f7cc4SDouglas Anderson		enable-active-high;
221116f7cc4SDouglas Anderson		pinctrl-names = "default";
222116f7cc4SDouglas Anderson		pinctrl-0 = <&wf_cam_en>;
223116f7cc4SDouglas Anderson
224116f7cc4SDouglas Anderson		vin-supply = <&pp3300_z1>;
225533ca1c3SMatthias Kaehlcke		status = "disabled";
226116f7cc4SDouglas Anderson	};
227116f7cc4SDouglas Anderson
228116f7cc4SDouglas Anderson	pp2850_wf_cam: pp2850-wf-cam-regulator {
229116f7cc4SDouglas Anderson		compatible = "regulator-fixed";
230116f7cc4SDouglas Anderson		regulator-name = "pp2850_wf_cam";
231116f7cc4SDouglas Anderson
232116f7cc4SDouglas Anderson		regulator-min-microvolt = <2850000>;
233116f7cc4SDouglas Anderson		regulator-max-microvolt = <2850000>;
234116f7cc4SDouglas Anderson
235116f7cc4SDouglas Anderson		gpio = <&tlmm 119 GPIO_ACTIVE_HIGH>;
236116f7cc4SDouglas Anderson		enable-active-high;
237116f7cc4SDouglas Anderson		/*
238116f7cc4SDouglas Anderson		 * The pinconf can only be referenced once so we put it on the
239116f7cc4SDouglas Anderson		 * first regulator and comment it out here.
240116f7cc4SDouglas Anderson		 *
241116f7cc4SDouglas Anderson		 * pinctrl-names = "default";
242116f7cc4SDouglas Anderson		 * pinctrl-0 = <&wf_cam_en>;
243116f7cc4SDouglas Anderson		 */
244116f7cc4SDouglas Anderson
245116f7cc4SDouglas Anderson		vin-supply = <&pp3300_z1>;
246533ca1c3SMatthias Kaehlcke		status = "disabled";
247116f7cc4SDouglas Anderson	};
248116f7cc4SDouglas Anderson
249116f7cc4SDouglas Anderson	pp1800_fp: pp1800-fp-regulator {
250116f7cc4SDouglas Anderson		compatible = "regulator-fixed";
251116f7cc4SDouglas Anderson		regulator-name = "pp1800_fp";
252116f7cc4SDouglas Anderson
253116f7cc4SDouglas Anderson		regulator-min-microvolt = <1800000>;
254116f7cc4SDouglas Anderson		regulator-max-microvolt = <1800000>;
255116f7cc4SDouglas Anderson
256116f7cc4SDouglas Anderson		regulator-boot-on;
257116f7cc4SDouglas Anderson		regulator-always-on;
258116f7cc4SDouglas Anderson
259116f7cc4SDouglas Anderson		/*
260116f7cc4SDouglas Anderson		 * WARNING: it is intentional that GPIO 77 isn't listed here.
261116f7cc4SDouglas Anderson		 * The userspace script for updating the fingerprint firmware
262116f7cc4SDouglas Anderson		 * needs to control the FP regulators during a FW update,
263116f7cc4SDouglas Anderson		 * hence the signal can't be owned by the kernel regulator.
264116f7cc4SDouglas Anderson		 */
265116f7cc4SDouglas Anderson
266116f7cc4SDouglas Anderson		pinctrl-names = "default";
267116f7cc4SDouglas Anderson		pinctrl-0 = <&en_fp_rails>;
268116f7cc4SDouglas Anderson
269116f7cc4SDouglas Anderson		vin-supply = <&pp1800_l18b_s0>;
270116f7cc4SDouglas Anderson		status = "disabled";
271116f7cc4SDouglas Anderson	};
272116f7cc4SDouglas Anderson
273116f7cc4SDouglas Anderson	pp1800_wf_cam: pp1800-wf-cam-regulator {
274116f7cc4SDouglas Anderson		compatible = "regulator-fixed";
275116f7cc4SDouglas Anderson		regulator-name = "pp1800_wf_cam";
276116f7cc4SDouglas Anderson
277116f7cc4SDouglas Anderson		regulator-min-microvolt = <1800000>;
278116f7cc4SDouglas Anderson		regulator-max-microvolt = <1800000>;
279116f7cc4SDouglas Anderson
280116f7cc4SDouglas Anderson		gpio = <&tlmm 119 GPIO_ACTIVE_HIGH>;
281116f7cc4SDouglas Anderson		enable-active-high;
282116f7cc4SDouglas Anderson		/*
283116f7cc4SDouglas Anderson		 * The pinconf can only be referenced once so we put it on the
284116f7cc4SDouglas Anderson		 * first regulator and comment it out here.
285116f7cc4SDouglas Anderson		 *
286116f7cc4SDouglas Anderson		 * pinctrl-names = "default";
287116f7cc4SDouglas Anderson		 * pinctrl-0 = <&wf_cam_en>;
288116f7cc4SDouglas Anderson		 */
289116f7cc4SDouglas Anderson
290116f7cc4SDouglas Anderson		vin-supply = <&vreg_l19b_s0>;
291533ca1c3SMatthias Kaehlcke		status = "disabled";
292116f7cc4SDouglas Anderson	};
293116f7cc4SDouglas Anderson
294116f7cc4SDouglas Anderson	pp1200_wf_cam: pp1200-wf-cam-regulator {
295116f7cc4SDouglas Anderson		compatible = "regulator-fixed";
296116f7cc4SDouglas Anderson		regulator-name = "pp1200_wf_cam";
297116f7cc4SDouglas Anderson
298116f7cc4SDouglas Anderson		regulator-min-microvolt = <1200000>;
299116f7cc4SDouglas Anderson		regulator-max-microvolt = <1200000>;
300116f7cc4SDouglas Anderson
301116f7cc4SDouglas Anderson		gpio = <&tlmm 119 GPIO_ACTIVE_HIGH>;
302116f7cc4SDouglas Anderson		enable-active-high;
303116f7cc4SDouglas Anderson		/*
304116f7cc4SDouglas Anderson		 * The pinconf can only be referenced once so we put it on the
305116f7cc4SDouglas Anderson		 * first regulator and comment it out here.
306116f7cc4SDouglas Anderson		 *
307116f7cc4SDouglas Anderson		 * pinctrl-names = "default";
308116f7cc4SDouglas Anderson		 * pinctrl-0 = <&wf_cam_en>;
309116f7cc4SDouglas Anderson		 */
310116f7cc4SDouglas Anderson
311116f7cc4SDouglas Anderson		vin-supply = <&pp3300_z1>;
312533ca1c3SMatthias Kaehlcke		status = "disabled";
313116f7cc4SDouglas Anderson	};
314116f7cc4SDouglas Anderson
315116f7cc4SDouglas Anderson	/* BOARD-SPECIFIC TOP LEVEL NODES */
316116f7cc4SDouglas Anderson
31714afeaf9SSrinivasa Rao Mandadapu	max98360a: audio-codec-0 {
31814afeaf9SSrinivasa Rao Mandadapu		compatible = "maxim,max98360a";
31914afeaf9SSrinivasa Rao Mandadapu		pinctrl-names = "default";
32014afeaf9SSrinivasa Rao Mandadapu		pinctrl-0 = <&amp_en>;
32114afeaf9SSrinivasa Rao Mandadapu		sdmode-gpios = <&tlmm 63 GPIO_ACTIVE_HIGH>;
32214afeaf9SSrinivasa Rao Mandadapu		#sound-dai-cells = <0>;
32314afeaf9SSrinivasa Rao Mandadapu	};
32414afeaf9SSrinivasa Rao Mandadapu
325426e81c7SMatthias Kaehlcke	pwmleds: pwmleds {
326116f7cc4SDouglas Anderson		compatible = "pwm-leds";
327116f7cc4SDouglas Anderson		status = "disabled";
328cb3920b5SKrzysztof Kozlowski		keyboard_backlight: led-0 {
329116f7cc4SDouglas Anderson			label = "cros_ec::kbd_backlight";
330b7428806SKrzysztof Kozlowski			function = LED_FUNCTION_KBD_BACKLIGHT;
331116f7cc4SDouglas Anderson			pwms = <&cros_ec_pwm 0>;
332116f7cc4SDouglas Anderson			max-brightness = <1023>;
333116f7cc4SDouglas Anderson		};
334116f7cc4SDouglas Anderson	};
335116f7cc4SDouglas Anderson};
336116f7cc4SDouglas Anderson
337116f7cc4SDouglas Anderson/*
3385a026558SDouglas Anderson * ADJUSTMENTS TO QCARD REGULATORS
3395a026558SDouglas Anderson *
3405a026558SDouglas Anderson * Mostly this is just board-local names for regulators that come from
3415a026558SDouglas Anderson * Qcard, but this also has some minor regulator overrides.
342116f7cc4SDouglas Anderson *
343116f7cc4SDouglas Anderson * Names are only listed here if regulators go somewhere other than a
344116f7cc4SDouglas Anderson * testpoint.
345116f7cc4SDouglas Anderson */
346116f7cc4SDouglas Anderson
347116f7cc4SDouglas Anderson/* From Qcard to our board; ordered by PMIC-ID / rail number */
348116f7cc4SDouglas Anderson
349116f7cc4SDouglas Andersonpp1256_s8b: &vreg_s8b_1p256 {};
350116f7cc4SDouglas Anderson
351116f7cc4SDouglas Andersonpp1800_l18b_s0: &vreg_l18b_1p8 {};
352116f7cc4SDouglas Andersonpp1800_l18b:    &vreg_l18b_1p8 {};
353116f7cc4SDouglas Anderson
354116f7cc4SDouglas Andersonvreg_l19b_s0: &vreg_l19b_1p8 {};
355116f7cc4SDouglas Anderson
356116f7cc4SDouglas Andersonpp1800_alc5682: &vreg_l2c_1p8 {};
357116f7cc4SDouglas Andersonpp1800_l2c:     &vreg_l2c_1p8 {};
358116f7cc4SDouglas Anderson
359116f7cc4SDouglas Andersonvreg_l4c: &vreg_l4c_1p8_3p0 {};
360116f7cc4SDouglas Anderson
361116f7cc4SDouglas Andersonppvar_l6c: &vreg_l6c_2p96 {};
362116f7cc4SDouglas Anderson
363116f7cc4SDouglas Andersonpp3000_l7c: &vreg_l7c_3p0 {};
364116f7cc4SDouglas Anderson
365116f7cc4SDouglas Andersonpp1800_prox: &vreg_l8c_1p8 {};
366116f7cc4SDouglas Andersonpp1800_l8c:  &vreg_l8c_1p8 {};
367116f7cc4SDouglas Anderson
368116f7cc4SDouglas Andersonpp2950_l9c: &vreg_l9c_2p96 {};
369116f7cc4SDouglas Anderson
370116f7cc4SDouglas Andersonpp1800_lcm:  &vreg_l12c_1p8 {};
371116f7cc4SDouglas Andersonpp1800_mipi: &vreg_l12c_1p8 {};
372116f7cc4SDouglas Andersonpp1800_l12c: &vreg_l12c_1p8 {};
373116f7cc4SDouglas Anderson
374116f7cc4SDouglas Andersonpp3300_lcm:  &vreg_l13c_3p0 {};
375116f7cc4SDouglas Andersonpp3300_mipi: &vreg_l13c_3p0 {};
376116f7cc4SDouglas Andersonpp3300_l13c: &vreg_l13c_3p0 {};
377116f7cc4SDouglas Anderson
378116f7cc4SDouglas Anderson/* From our board to Qcard; ordered same as node definition above */
379116f7cc4SDouglas Anderson
380116f7cc4SDouglas Andersonvreg_edp_bl: &ppvar_sys {};
381116f7cc4SDouglas Anderson
382116f7cc4SDouglas Andersonts_avdd:      &pp3300_left_in_mlb {};
383116f7cc4SDouglas Andersonvreg_edp_3p3: &pp3300_left_in_mlb {};
384116f7cc4SDouglas Anderson
3855a026558SDouglas Anderson/* Regulator overrides from Qcard */
3865a026558SDouglas Anderson
3875a026558SDouglas Anderson/*
3885a026558SDouglas Anderson * Herobrine boards only use l2c to power an external audio codec (like
3895a026558SDouglas Anderson * alc5682) and we want that to be at 1.8V, not at some slightly lower voltage.
3905a026558SDouglas Anderson */
3915a026558SDouglas Anderson&vreg_l2c_1p8 {
3925a026558SDouglas Anderson	regulator-min-microvolt = <1800000>;
3935a026558SDouglas Anderson};
3945a026558SDouglas Anderson
395116f7cc4SDouglas Anderson/* ADDITIONS TO NODES DEFINED IN PARENT DEVICE TREE FILES */
396116f7cc4SDouglas Anderson
397366a0a19SDouglas Anderson&edp_panel {
398366a0a19SDouglas Anderson	/* Our board provides power to the qcard for the eDP panel. */
399366a0a19SDouglas Anderson	power-supply = <&vreg_edp_3p3>;
400366a0a19SDouglas Anderson};
401366a0a19SDouglas Anderson
40270137d1dSMatthias Kaehlckeap_sar_sensor_i2c: &i2c1 {
40370137d1dSMatthias Kaehlcke	clock-frequency = <400000>;
40470137d1dSMatthias Kaehlcke	status = "disabled";
40570137d1dSMatthias Kaehlcke
40670137d1dSMatthias Kaehlcke	ap_sar_sensor0: proximity@28 {
40770137d1dSMatthias Kaehlcke		compatible = "semtech,sx9324";
40870137d1dSMatthias Kaehlcke		reg = <0x28>;
40970137d1dSMatthias Kaehlcke		#io-channel-cells = <1>;
41070137d1dSMatthias Kaehlcke		pinctrl-names = "default";
41170137d1dSMatthias Kaehlcke		pinctrl-0 = <&sar0_irq_odl>;
41270137d1dSMatthias Kaehlcke
41370137d1dSMatthias Kaehlcke		interrupt-parent = <&tlmm>;
41470137d1dSMatthias Kaehlcke		interrupts = <141 IRQ_TYPE_LEVEL_LOW>;
41570137d1dSMatthias Kaehlcke
41670137d1dSMatthias Kaehlcke		vdd-supply = <&pp1800_prox>;
41770137d1dSMatthias Kaehlcke
4189c54f171SGwendal Grignou		label = "proximity-wifi_cellular-0";
41970137d1dSMatthias Kaehlcke		status = "disabled";
42070137d1dSMatthias Kaehlcke	};
42170137d1dSMatthias Kaehlcke
42270137d1dSMatthias Kaehlcke	ap_sar_sensor1: proximity@2c {
42370137d1dSMatthias Kaehlcke		compatible = "semtech,sx9324";
42470137d1dSMatthias Kaehlcke		reg = <0x2c>;
42570137d1dSMatthias Kaehlcke		#io-channel-cells = <1>;
42670137d1dSMatthias Kaehlcke		pinctrl-names = "default";
42770137d1dSMatthias Kaehlcke		pinctrl-0 = <&sar1_irq_odl>;
42870137d1dSMatthias Kaehlcke
42970137d1dSMatthias Kaehlcke		interrupt-parent = <&tlmm>;
43070137d1dSMatthias Kaehlcke		interrupts = <140 IRQ_TYPE_LEVEL_LOW>;
43170137d1dSMatthias Kaehlcke
43270137d1dSMatthias Kaehlcke		vdd-supply = <&pp1800_prox>;
43370137d1dSMatthias Kaehlcke
4349c54f171SGwendal Grignou		label = "proximity-wifi_cellular-1";
43570137d1dSMatthias Kaehlcke		status = "disabled";
43670137d1dSMatthias Kaehlcke	};
43770137d1dSMatthias Kaehlcke};
43870137d1dSMatthias Kaehlcke
439116f7cc4SDouglas Andersonap_i2c_tpm: &i2c14 {
440116f7cc4SDouglas Anderson	status = "okay";
441116f7cc4SDouglas Anderson	clock-frequency = <400000>;
442116f7cc4SDouglas Anderson
443116f7cc4SDouglas Anderson	tpm@50 {
444116f7cc4SDouglas Anderson		compatible = "google,cr50";
445116f7cc4SDouglas Anderson		reg = <0x50>;
446116f7cc4SDouglas Anderson
447116f7cc4SDouglas Anderson		pinctrl-names = "default";
448116f7cc4SDouglas Anderson		pinctrl-0 = <&gsc_ap_int_odl>;
449116f7cc4SDouglas Anderson
450116f7cc4SDouglas Anderson		interrupt-parent = <&tlmm>;
451116f7cc4SDouglas Anderson		interrupts = <104 IRQ_TYPE_EDGE_RISING>;
452116f7cc4SDouglas Anderson	};
453116f7cc4SDouglas Anderson};
454116f7cc4SDouglas Anderson
455366a0a19SDouglas Anderson&mdss {
456366a0a19SDouglas Anderson	status = "okay";
457366a0a19SDouglas Anderson};
458366a0a19SDouglas Anderson
4594ab03ef8SDouglas Anderson&mdss_dp {
4604ab03ef8SDouglas Anderson	status = "okay";
4614ab03ef8SDouglas Anderson	pinctrl-names = "default";
4624ab03ef8SDouglas Anderson	pinctrl-0 = <&dp_hot_plug_det>;
46326c5aa54SKuogee Hsieh};
46426c5aa54SKuogee Hsieh
46526c5aa54SKuogee Hsieh&mdss_dp_out {
4664ab03ef8SDouglas Anderson	data-lanes = <0 1>;
46775eab749SAbhinav Kumar	link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000>;
4684ab03ef8SDouglas Anderson};
4694ab03ef8SDouglas Anderson
470116f7cc4SDouglas Anderson/* NVMe drive, enabled on a per-board basis */
471116f7cc4SDouglas Anderson&pcie1 {
472116f7cc4SDouglas Anderson	pinctrl-names = "default";
473116f7cc4SDouglas Anderson	pinctrl-0 = <&pcie1_clkreq_n>, <&ssd_rst_l>, <&pe_wake_odl>;
474116f7cc4SDouglas Anderson
475f3f5fb31SDmitry Baryshkov	perst-gpios = <&tlmm 2 GPIO_ACTIVE_LOW>;
476116f7cc4SDouglas Anderson	vddpe-3v3-supply = <&pp3300_ssd>;
477116f7cc4SDouglas Anderson};
478116f7cc4SDouglas Anderson
479366a0a19SDouglas Anderson&pm8350c_pwm {
480366a0a19SDouglas Anderson	status = "okay";
481366a0a19SDouglas Anderson};
482366a0a19SDouglas Anderson
483366a0a19SDouglas Anderson&pm8350c_pwm_backlight {
484366a0a19SDouglas Anderson	status = "okay";
485366a0a19SDouglas Anderson
486366a0a19SDouglas Anderson	/* Our board provides power to the qcard for the backlight */
487366a0a19SDouglas Anderson	power-supply = <&vreg_edp_bl>;
488366a0a19SDouglas Anderson};
489366a0a19SDouglas Anderson
490116f7cc4SDouglas Anderson&pmk8350_rtc {
491116f7cc4SDouglas Anderson	status = "disabled";
492116f7cc4SDouglas Anderson};
493116f7cc4SDouglas Anderson
494116f7cc4SDouglas Anderson&qupv3_id_0 {
495116f7cc4SDouglas Anderson	status = "okay";
496116f7cc4SDouglas Anderson};
497116f7cc4SDouglas Anderson
498116f7cc4SDouglas Anderson&qupv3_id_1 {
499116f7cc4SDouglas Anderson	status = "okay";
500116f7cc4SDouglas Anderson};
501116f7cc4SDouglas Anderson
502116f7cc4SDouglas Anderson/* SD Card, enabled on a per-board basis */
503116f7cc4SDouglas Anderson&sdhc_2 {
504116f7cc4SDouglas Anderson	pinctrl-0 = <&sdc2_clk>, <&sdc2_cmd>, <&sdc2_data>, <&sd_cd_odl>;
505116f7cc4SDouglas Anderson	pinctrl-1 = <&sdc2_clk_sleep>, <&sdc2_cmd_sleep>, <&sdc2_data_sleep>, <&sd_cd_odl>;
506116f7cc4SDouglas Anderson
507116f7cc4SDouglas Anderson	vmmc-supply = <&pp2950_l9c>;
508116f7cc4SDouglas Anderson	vqmmc-supply = <&ppvar_l6c>;
509116f7cc4SDouglas Anderson
510116f7cc4SDouglas Anderson	cd-gpios = <&tlmm 91 GPIO_ACTIVE_LOW>;
511116f7cc4SDouglas Anderson};
512116f7cc4SDouglas Anderson
513d756a0b2SDouglas Anderson&spi_flash {
514d756a0b2SDouglas Anderson	spi-max-frequency = <50000000>;
515d756a0b2SDouglas Anderson};
516d756a0b2SDouglas Anderson
517116f7cc4SDouglas Anderson/* Fingerprint, enabled on a per-board basis */
518116f7cc4SDouglas Andersonap_spi_fp: &spi9 {
519116f7cc4SDouglas Anderson	pinctrl-0 = <&qup_spi9_data_clk>, <&qup_spi9_cs_gpio_init_high>, <&qup_spi9_cs_gpio>;
520116f7cc4SDouglas Anderson
521116f7cc4SDouglas Anderson	cs-gpios = <&tlmm 39 GPIO_ACTIVE_LOW>;
522116f7cc4SDouglas Anderson
523116f7cc4SDouglas Anderson	cros_ec_fp: ec@0 {
524aefd5370SStephen Boyd		compatible = "google,cros-ec-fp", "google,cros-ec-spi";
525116f7cc4SDouglas Anderson		reg = <0>;
526116f7cc4SDouglas Anderson		interrupt-parent = <&tlmm>;
527116f7cc4SDouglas Anderson		interrupts = <61 IRQ_TYPE_LEVEL_LOW>;
528116f7cc4SDouglas Anderson		pinctrl-names = "default";
529116f7cc4SDouglas Anderson		pinctrl-0 = <&fp_to_ap_irq_l>, <&fp_rst_l>, <&fpmcu_boot0>;
530aefd5370SStephen Boyd		boot0-gpios = <&tlmm 68 GPIO_ACTIVE_HIGH>;
531aefd5370SStephen Boyd		reset-gpios = <&tlmm 78 GPIO_ACTIVE_LOW>;
532116f7cc4SDouglas Anderson		spi-max-frequency = <3000000>;
533aefd5370SStephen Boyd		vdd-supply = <&pp3300_fp_mcu>;
534116f7cc4SDouglas Anderson	};
535116f7cc4SDouglas Anderson};
536116f7cc4SDouglas Anderson
537116f7cc4SDouglas Andersonap_ec_spi: &spi10 {
538116f7cc4SDouglas Anderson	status = "okay";
539116f7cc4SDouglas Anderson	pinctrl-0 = <&qup_spi10_data_clk>, <&qup_spi10_cs_gpio_init_high>, <&qup_spi10_cs_gpio>;
540116f7cc4SDouglas Anderson
541116f7cc4SDouglas Anderson	cs-gpios = <&tlmm 43 GPIO_ACTIVE_LOW>;
542116f7cc4SDouglas Anderson
543116f7cc4SDouglas Anderson	cros_ec: ec@0 {
544116f7cc4SDouglas Anderson		compatible = "google,cros-ec-spi";
545116f7cc4SDouglas Anderson		reg = <0>;
546116f7cc4SDouglas Anderson		interrupt-parent = <&tlmm>;
547116f7cc4SDouglas Anderson		interrupts = <18 IRQ_TYPE_LEVEL_LOW>;
548116f7cc4SDouglas Anderson		pinctrl-names = "default";
549116f7cc4SDouglas Anderson		pinctrl-0 = <&ap_ec_int_l>;
550116f7cc4SDouglas Anderson		spi-max-frequency = <3000000>;
551116f7cc4SDouglas Anderson
5521e49defbSKrzysztof Kozlowski		cros_ec_pwm: pwm {
553116f7cc4SDouglas Anderson			compatible = "google,cros-ec-pwm";
554116f7cc4SDouglas Anderson			#pwm-cells = <1>;
555116f7cc4SDouglas Anderson		};
556116f7cc4SDouglas Anderson
557116f7cc4SDouglas Anderson		i2c_tunnel: i2c-tunnel {
558116f7cc4SDouglas Anderson			compatible = "google,cros-ec-i2c-tunnel";
559116f7cc4SDouglas Anderson			google,remote-bus = <0>;
560116f7cc4SDouglas Anderson			#address-cells = <1>;
561116f7cc4SDouglas Anderson			#size-cells = <0>;
562116f7cc4SDouglas Anderson		};
563116f7cc4SDouglas Anderson
564116f7cc4SDouglas Anderson		typec {
565116f7cc4SDouglas Anderson			compatible = "google,cros-ec-typec";
566116f7cc4SDouglas Anderson			#address-cells = <1>;
567116f7cc4SDouglas Anderson			#size-cells = <0>;
568116f7cc4SDouglas Anderson
569116f7cc4SDouglas Anderson			usb_c0: connector@0 {
570116f7cc4SDouglas Anderson				compatible = "usb-c-connector";
571116f7cc4SDouglas Anderson				reg = <0>;
572116f7cc4SDouglas Anderson				label = "left";
573116f7cc4SDouglas Anderson				power-role = "dual";
574116f7cc4SDouglas Anderson				data-role = "host";
575116f7cc4SDouglas Anderson				try-power-role = "source";
576116f7cc4SDouglas Anderson			};
577116f7cc4SDouglas Anderson
578116f7cc4SDouglas Anderson			usb_c1: connector@1 {
579116f7cc4SDouglas Anderson				compatible = "usb-c-connector";
580116f7cc4SDouglas Anderson				reg = <1>;
581116f7cc4SDouglas Anderson				label = "right";
582116f7cc4SDouglas Anderson				power-role = "dual";
583116f7cc4SDouglas Anderson				data-role = "host";
584116f7cc4SDouglas Anderson				try-power-role = "source";
585116f7cc4SDouglas Anderson			};
586116f7cc4SDouglas Anderson		};
587116f7cc4SDouglas Anderson	};
588116f7cc4SDouglas Anderson};
589116f7cc4SDouglas Anderson
590116f7cc4SDouglas Anderson#include <arm/cros-ec-keyboard.dtsi>
591116f7cc4SDouglas Anderson#include <arm/cros-ec-sbs.dtsi>
592116f7cc4SDouglas Anderson
593116f7cc4SDouglas Anderson&keyboard_controller {
594116f7cc4SDouglas Anderson	function-row-physmap = <
595116f7cc4SDouglas Anderson		MATRIX_KEY(0x00, 0x02, 0)	/* T1 */
596116f7cc4SDouglas Anderson		MATRIX_KEY(0x03, 0x02, 0)	/* T2 */
597116f7cc4SDouglas Anderson		MATRIX_KEY(0x02, 0x02, 0)	/* T3 */
598116f7cc4SDouglas Anderson		MATRIX_KEY(0x01, 0x02, 0)	/* T4 */
599116f7cc4SDouglas Anderson		MATRIX_KEY(0x03, 0x04, 0)	/* T5 */
600116f7cc4SDouglas Anderson		MATRIX_KEY(0x02, 0x04, 0)	/* T6 */
601116f7cc4SDouglas Anderson		MATRIX_KEY(0x01, 0x04, 0)	/* T7 */
602116f7cc4SDouglas Anderson		MATRIX_KEY(0x02, 0x09, 0)	/* T8 */
603116f7cc4SDouglas Anderson		MATRIX_KEY(0x01, 0x09, 0)	/* T9 */
604116f7cc4SDouglas Anderson		MATRIX_KEY(0x00, 0x04, 0)	/* T10 */
605116f7cc4SDouglas Anderson	>;
606116f7cc4SDouglas Anderson	linux,keymap = <
607116f7cc4SDouglas Anderson		MATRIX_KEY(0x00, 0x02, KEY_BACK)
608116f7cc4SDouglas Anderson		MATRIX_KEY(0x03, 0x02, KEY_REFRESH)
609116f7cc4SDouglas Anderson		MATRIX_KEY(0x02, 0x02, KEY_ZOOM)
610116f7cc4SDouglas Anderson		MATRIX_KEY(0x01, 0x02, KEY_SCALE)
611116f7cc4SDouglas Anderson		MATRIX_KEY(0x03, 0x04, KEY_SYSRQ)
612116f7cc4SDouglas Anderson		MATRIX_KEY(0x02, 0x04, KEY_BRIGHTNESSDOWN)
613116f7cc4SDouglas Anderson		MATRIX_KEY(0x01, 0x04, KEY_BRIGHTNESSUP)
614116f7cc4SDouglas Anderson		MATRIX_KEY(0x02, 0x09, KEY_MUTE)
615116f7cc4SDouglas Anderson		MATRIX_KEY(0x01, 0x09, KEY_VOLUMEDOWN)
616116f7cc4SDouglas Anderson		MATRIX_KEY(0x00, 0x04, KEY_VOLUMEUP)
617116f7cc4SDouglas Anderson
618116f7cc4SDouglas Anderson		CROS_STD_MAIN_KEYMAP
619116f7cc4SDouglas Anderson	>;
620116f7cc4SDouglas Anderson};
621116f7cc4SDouglas Anderson
622116f7cc4SDouglas Anderson&usb_1 {
623116f7cc4SDouglas Anderson	status = "okay";
624116f7cc4SDouglas Anderson};
625116f7cc4SDouglas Anderson
626116f7cc4SDouglas Anderson&usb_1_dwc3 {
627116f7cc4SDouglas Anderson	dr_mode = "host";
628dc94156cSMatthias Kaehlcke
629dc94156cSMatthias Kaehlcke	#address-cells = <1>;
630dc94156cSMatthias Kaehlcke	#size-cells = <0>;
631dc94156cSMatthias Kaehlcke
632dc94156cSMatthias Kaehlcke	/* 2.x hub on port 1 */
633dc94156cSMatthias Kaehlcke	usb_hub_2_x: hub@1 {
634dc94156cSMatthias Kaehlcke		compatible = "usbbda,5411";
635dc94156cSMatthias Kaehlcke		reg = <1>;
636dc94156cSMatthias Kaehlcke		vdd-supply = <&pp3300_hub>;
637dc94156cSMatthias Kaehlcke		peer-hub = <&usb_hub_3_x>;
638dc94156cSMatthias Kaehlcke	};
639dc94156cSMatthias Kaehlcke
640dc94156cSMatthias Kaehlcke	/* 3.x hub on port 2 */
641dc94156cSMatthias Kaehlcke	usb_hub_3_x: hub@2 {
642dc94156cSMatthias Kaehlcke		compatible = "usbbda,411";
643dc94156cSMatthias Kaehlcke		reg = <2>;
644dc94156cSMatthias Kaehlcke		vdd-supply = <&pp3300_hub>;
645dc94156cSMatthias Kaehlcke		peer-hub = <&usb_hub_2_x>;
646dc94156cSMatthias Kaehlcke	};
647116f7cc4SDouglas Anderson};
648116f7cc4SDouglas Anderson
649116f7cc4SDouglas Anderson&usb_1_hsphy {
650116f7cc4SDouglas Anderson	status = "okay";
6519c2eb597SKrishna Kurapati
6529c2eb597SKrishna Kurapati	qcom,hs-rise-fall-time-bp = <0>;
6539c2eb597SKrishna Kurapati	qcom,squelch-detector-bp = <(-2090)>;
6549c2eb597SKrishna Kurapati	qcom,hs-disconnect-bp = <1743>;
6559c2eb597SKrishna Kurapati	qcom,hs-amplitude-bp = <1780>;
6569c2eb597SKrishna Kurapati	qcom,hs-crossover-voltage-microvolt = <(-31000)>;
6579c2eb597SKrishna Kurapati	qcom,hs-output-impedance-micro-ohms = <2600000>;
658116f7cc4SDouglas Anderson};
659116f7cc4SDouglas Anderson
660116f7cc4SDouglas Anderson&usb_1_qmpphy {
661116f7cc4SDouglas Anderson	status = "okay";
662116f7cc4SDouglas Anderson};
663116f7cc4SDouglas Anderson
664116f7cc4SDouglas Anderson/* PINCTRL - ADDITIONS TO NODES IN PARENT DEVICE TREE FILES */
665116f7cc4SDouglas Anderson
666116f7cc4SDouglas Anderson&dp_hot_plug_det {
667116f7cc4SDouglas Anderson	bias-disable;
668116f7cc4SDouglas Anderson};
669116f7cc4SDouglas Anderson
670a1afae1aSJudy Hsiao&mi2s1_data0 {
671a1afae1aSJudy Hsiao	drive-strength = <6>;
672a1afae1aSJudy Hsiao	bias-disable;
673a1afae1aSJudy Hsiao};
674a1afae1aSJudy Hsiao
675a1afae1aSJudy Hsiao&mi2s1_sclk {
676a1afae1aSJudy Hsiao	drive-strength = <6>;
677a1afae1aSJudy Hsiao	bias-disable;
678a1afae1aSJudy Hsiao};
679a1afae1aSJudy Hsiao
680a1afae1aSJudy Hsiao&mi2s1_ws {
681a1afae1aSJudy Hsiao	drive-strength = <6>;
682a1afae1aSJudy Hsiao	bias-disable;
683a1afae1aSJudy Hsiao};
684a1afae1aSJudy Hsiao
685116f7cc4SDouglas Anderson&pcie1_clkreq_n {
686116f7cc4SDouglas Anderson	bias-pull-up;
687116f7cc4SDouglas Anderson	drive-strength = <2>;
688116f7cc4SDouglas Anderson};
689116f7cc4SDouglas Anderson
690116f7cc4SDouglas Anderson&qspi_cs0 {
691*5f89df31SDouglas Anderson	bias-disable;		/* External pullup */
692116f7cc4SDouglas Anderson	drive-strength = <8>;
693116f7cc4SDouglas Anderson};
694116f7cc4SDouglas Anderson
695116f7cc4SDouglas Anderson&qspi_clk {
696*5f89df31SDouglas Anderson	bias-pull-down;		/* No external pulls */
697116f7cc4SDouglas Anderson	drive-strength = <8>;
698116f7cc4SDouglas Anderson};
699116f7cc4SDouglas Anderson
700*5f89df31SDouglas Anderson&qspi_data0 {
701*5f89df31SDouglas Anderson	bias-pull-down;		/* No external pulls */
702*5f89df31SDouglas Anderson	drive-strength = <8>;
703*5f89df31SDouglas Anderson};
704*5f89df31SDouglas Anderson
705*5f89df31SDouglas Anderson&qspi_data1 {
706*5f89df31SDouglas Anderson	bias-disable;		/* External pulldown */
707116f7cc4SDouglas Anderson	drive-strength = <8>;
708116f7cc4SDouglas Anderson};
709116f7cc4SDouglas Anderson
710116f7cc4SDouglas Anderson/* For ap_tp_i2c */
711116f7cc4SDouglas Anderson&qup_i2c0_data_clk {
712116f7cc4SDouglas Anderson	/* Has external pull */
713116f7cc4SDouglas Anderson	bias-disable;
714116f7cc4SDouglas Anderson	drive-strength = <2>;
715116f7cc4SDouglas Anderson};
716116f7cc4SDouglas Anderson
717116f7cc4SDouglas Anderson/* For ap_i2c_tpm */
718116f7cc4SDouglas Anderson&qup_i2c14_data_clk {
719116f7cc4SDouglas Anderson	/* Has external pull */
720116f7cc4SDouglas Anderson	bias-disable;
721116f7cc4SDouglas Anderson	drive-strength = <2>;
722116f7cc4SDouglas Anderson};
723116f7cc4SDouglas Anderson
724116f7cc4SDouglas Anderson/* For ap_spi_fp */
725116f7cc4SDouglas Anderson&qup_spi9_data_clk {
726116f7cc4SDouglas Anderson	bias-disable;
727116f7cc4SDouglas Anderson	drive-strength = <2>;
728116f7cc4SDouglas Anderson};
729116f7cc4SDouglas Anderson
730116f7cc4SDouglas Anderson/* For ap_spi_fp */
731116f7cc4SDouglas Anderson&qup_spi9_cs_gpio {
732116f7cc4SDouglas Anderson	bias-disable;
733116f7cc4SDouglas Anderson	drive-strength = <2>;
734116f7cc4SDouglas Anderson};
735116f7cc4SDouglas Anderson
736116f7cc4SDouglas Anderson/* For ap_ec_spi */
737116f7cc4SDouglas Anderson&qup_spi10_data_clk {
738116f7cc4SDouglas Anderson	bias-disable;
739116f7cc4SDouglas Anderson	drive-strength = <2>;
740116f7cc4SDouglas Anderson};
741116f7cc4SDouglas Anderson
742116f7cc4SDouglas Anderson/* For ap_ec_spi */
743116f7cc4SDouglas Anderson&qup_spi10_cs_gpio {
744116f7cc4SDouglas Anderson	bias-disable;
745116f7cc4SDouglas Anderson	drive-strength = <2>;
746116f7cc4SDouglas Anderson};
747116f7cc4SDouglas Anderson
748116f7cc4SDouglas Anderson/* For uart_dbg */
749116f7cc4SDouglas Anderson&qup_uart5_rx {
750116f7cc4SDouglas Anderson	bias-pull-up;
751116f7cc4SDouglas Anderson};
752116f7cc4SDouglas Anderson
753116f7cc4SDouglas Anderson/* For uart_dbg */
754116f7cc4SDouglas Anderson&qup_uart5_tx {
755116f7cc4SDouglas Anderson	bias-disable;
756116f7cc4SDouglas Anderson	drive-strength = <2>;
757116f7cc4SDouglas Anderson};
758116f7cc4SDouglas Anderson
759116f7cc4SDouglas Anderson&sdc2_clk {
760116f7cc4SDouglas Anderson	bias-disable;
761116f7cc4SDouglas Anderson	drive-strength = <16>;
762116f7cc4SDouglas Anderson};
763116f7cc4SDouglas Anderson
764116f7cc4SDouglas Anderson&sdc2_cmd {
765116f7cc4SDouglas Anderson	bias-pull-up;
766116f7cc4SDouglas Anderson	drive-strength = <10>;
767116f7cc4SDouglas Anderson};
768116f7cc4SDouglas Anderson
769116f7cc4SDouglas Anderson&sdc2_data {
770116f7cc4SDouglas Anderson	bias-pull-up;
771116f7cc4SDouglas Anderson	drive-strength = <10>;
772116f7cc4SDouglas Anderson};
773116f7cc4SDouglas Anderson
774116f7cc4SDouglas Anderson/* PINCTRL - board-specific pinctrl */
775116f7cc4SDouglas Anderson
776116f7cc4SDouglas Anderson&pm7325_gpios {
777116f7cc4SDouglas Anderson	/*
778116f7cc4SDouglas Anderson	 * On a quick glance it might look like KYPD_VOL_UP_N is used, but
779116f7cc4SDouglas Anderson	 * that only passes through to a debug connector and not to the actual
780116f7cc4SDouglas Anderson	 * volume up key.
781116f7cc4SDouglas Anderson	 */
782116f7cc4SDouglas Anderson	status = "disabled"; /* No GPIOs are connected */
783116f7cc4SDouglas Anderson};
784116f7cc4SDouglas Anderson
785116f7cc4SDouglas Anderson&pmk8350_gpios {
786116f7cc4SDouglas Anderson	status = "disabled"; /* No GPIOs are connected */
787116f7cc4SDouglas Anderson};
788116f7cc4SDouglas Anderson
789116f7cc4SDouglas Anderson&tlmm {
790116f7cc4SDouglas Anderson	/* pinctrl settings for pins that have no real owners. */
791116f7cc4SDouglas Anderson	pinctrl-names = "default";
792116f7cc4SDouglas Anderson	pinctrl-0 = <&bios_flash_wp_od>;
793116f7cc4SDouglas Anderson
794ec0872a6SKrzysztof Kozlowski	amp_en: amp-en-state {
795116f7cc4SDouglas Anderson		pins = "gpio63";
796116f7cc4SDouglas Anderson		function = "gpio";
797116f7cc4SDouglas Anderson		bias-disable;
798116f7cc4SDouglas Anderson		drive-strength = <2>;
799116f7cc4SDouglas Anderson	};
800116f7cc4SDouglas Anderson
801ec0872a6SKrzysztof Kozlowski	ap_ec_int_l: ap-ec-int-l-state {
802116f7cc4SDouglas Anderson		pins = "gpio18";
803116f7cc4SDouglas Anderson		function = "gpio";
804116f7cc4SDouglas Anderson		bias-pull-up;
805116f7cc4SDouglas Anderson	};
806116f7cc4SDouglas Anderson
807ec0872a6SKrzysztof Kozlowski	bios_flash_wp_od: bios-flash-wp-od-state {
808116f7cc4SDouglas Anderson		pins = "gpio16";
809116f7cc4SDouglas Anderson		function = "gpio";
810116f7cc4SDouglas Anderson		/* Has external pull */
811116f7cc4SDouglas Anderson		bias-disable;
812116f7cc4SDouglas Anderson	};
813116f7cc4SDouglas Anderson
814ec0872a6SKrzysztof Kozlowski	en_fp_rails: en-fp-rails-state {
815116f7cc4SDouglas Anderson		pins = "gpio77";
816116f7cc4SDouglas Anderson		function = "gpio";
817116f7cc4SDouglas Anderson		bias-disable;
818116f7cc4SDouglas Anderson		drive-strength = <2>;
819116f7cc4SDouglas Anderson		output-high;
820116f7cc4SDouglas Anderson	};
821116f7cc4SDouglas Anderson
822ec0872a6SKrzysztof Kozlowski	en_pp3300_codec: en-pp3300-codec-state {
823116f7cc4SDouglas Anderson		pins = "gpio105";
824116f7cc4SDouglas Anderson		function = "gpio";
825116f7cc4SDouglas Anderson		bias-disable;
826116f7cc4SDouglas Anderson		drive-strength = <2>;
827116f7cc4SDouglas Anderson	};
828116f7cc4SDouglas Anderson
829ec0872a6SKrzysztof Kozlowski	en_pp3300_dx_edp: en-pp3300-dx-edp-state {
830116f7cc4SDouglas Anderson		pins = "gpio80";
831116f7cc4SDouglas Anderson		function = "gpio";
832116f7cc4SDouglas Anderson		bias-disable;
833116f7cc4SDouglas Anderson		drive-strength = <2>;
834116f7cc4SDouglas Anderson	};
835116f7cc4SDouglas Anderson
836ec0872a6SKrzysztof Kozlowski	fp_rst_l: fp-rst-l-state {
837116f7cc4SDouglas Anderson		pins = "gpio78";
838116f7cc4SDouglas Anderson		function = "gpio";
839116f7cc4SDouglas Anderson		bias-disable;
840116f7cc4SDouglas Anderson		drive-strength = <2>;
841116f7cc4SDouglas Anderson	};
842116f7cc4SDouglas Anderson
843ec0872a6SKrzysztof Kozlowski	fp_to_ap_irq_l: fp-to-ap-irq-l-state {
844116f7cc4SDouglas Anderson		pins = "gpio61";
845116f7cc4SDouglas Anderson		function = "gpio";
846116f7cc4SDouglas Anderson		/* Has external pullup */
847116f7cc4SDouglas Anderson		bias-disable;
848116f7cc4SDouglas Anderson	};
849116f7cc4SDouglas Anderson
850ec0872a6SKrzysztof Kozlowski	fpmcu_boot0: fpmcu-boot0-state {
851116f7cc4SDouglas Anderson		pins = "gpio68";
852116f7cc4SDouglas Anderson		function = "gpio";
853116f7cc4SDouglas Anderson		bias-disable;
854116f7cc4SDouglas Anderson	};
855116f7cc4SDouglas Anderson
856ec0872a6SKrzysztof Kozlowski	gsc_ap_int_odl: gsc-ap-int-odl-state {
857116f7cc4SDouglas Anderson		pins = "gpio104";
858116f7cc4SDouglas Anderson		function = "gpio";
859116f7cc4SDouglas Anderson		bias-pull-up;
860116f7cc4SDouglas Anderson	};
861116f7cc4SDouglas Anderson
862ec0872a6SKrzysztof Kozlowski	hp_irq: hp-irq-state {
863116f7cc4SDouglas Anderson		pins = "gpio101";
864116f7cc4SDouglas Anderson		function = "gpio";
865116f7cc4SDouglas Anderson		bias-pull-up;
866116f7cc4SDouglas Anderson	};
867116f7cc4SDouglas Anderson
868ec0872a6SKrzysztof Kozlowski	hub_en: hub-en-state {
869116f7cc4SDouglas Anderson		pins = "gpio157";
870116f7cc4SDouglas Anderson		function = "gpio";
871116f7cc4SDouglas Anderson		bias-disable;
872116f7cc4SDouglas Anderson		drive-strength = <2>;
873116f7cc4SDouglas Anderson	};
874116f7cc4SDouglas Anderson
875ec0872a6SKrzysztof Kozlowski	pe_wake_odl: pe-wake-odl-state {
876116f7cc4SDouglas Anderson		pins = "gpio3";
877116f7cc4SDouglas Anderson		function = "gpio";
878116f7cc4SDouglas Anderson		/* Has external pull */
879116f7cc4SDouglas Anderson		bias-disable;
880116f7cc4SDouglas Anderson		drive-strength = <2>;
881116f7cc4SDouglas Anderson	};
882116f7cc4SDouglas Anderson
883116f7cc4SDouglas Anderson	/* For ap_spi_fp */
884ec0872a6SKrzysztof Kozlowski	qup_spi9_cs_gpio_init_high: qup-spi9-cs-gpio-init-high-state {
885116f7cc4SDouglas Anderson		pins = "gpio39";
886116f7cc4SDouglas Anderson		function = "gpio";
887116f7cc4SDouglas Anderson		output-high;
888116f7cc4SDouglas Anderson	};
889116f7cc4SDouglas Anderson
890116f7cc4SDouglas Anderson	/* For ap_ec_spi */
891ec0872a6SKrzysztof Kozlowski	qup_spi10_cs_gpio_init_high: qup-spi10-cs-gpio-init-high-state {
892116f7cc4SDouglas Anderson		pins = "gpio43";
893116f7cc4SDouglas Anderson		function = "gpio";
894116f7cc4SDouglas Anderson		output-high;
895116f7cc4SDouglas Anderson	};
896116f7cc4SDouglas Anderson
897ec0872a6SKrzysztof Kozlowski	sar0_irq_odl: sar0-irq-odl-state {
898116f7cc4SDouglas Anderson		pins = "gpio141";
899116f7cc4SDouglas Anderson		function = "gpio";
900116f7cc4SDouglas Anderson		bias-pull-up;
901116f7cc4SDouglas Anderson	};
902116f7cc4SDouglas Anderson
903ec0872a6SKrzysztof Kozlowski	sar1_irq_odl: sar1-irq-odl-state {
904116f7cc4SDouglas Anderson		pins = "gpio140";
905116f7cc4SDouglas Anderson		function = "gpio";
906116f7cc4SDouglas Anderson		bias-pull-up;
907116f7cc4SDouglas Anderson	};
908116f7cc4SDouglas Anderson
909ec0872a6SKrzysztof Kozlowski	sd_cd_odl: sd-cd-odl-state {
910116f7cc4SDouglas Anderson		pins = "gpio91";
911116f7cc4SDouglas Anderson		function = "gpio";
912116f7cc4SDouglas Anderson		bias-pull-up;
913116f7cc4SDouglas Anderson	};
914116f7cc4SDouglas Anderson
915ec0872a6SKrzysztof Kozlowski	ssd_en: ssd-en-state {
916116f7cc4SDouglas Anderson		pins = "gpio51";
917116f7cc4SDouglas Anderson		function = "gpio";
918116f7cc4SDouglas Anderson		bias-disable;
919116f7cc4SDouglas Anderson		drive-strength = <2>;
920116f7cc4SDouglas Anderson	};
921116f7cc4SDouglas Anderson
922ec0872a6SKrzysztof Kozlowski	ssd_rst_l: ssd-rst-l-state {
923116f7cc4SDouglas Anderson		pins = "gpio2";
924116f7cc4SDouglas Anderson		function = "gpio";
925116f7cc4SDouglas Anderson		bias-disable;
926116f7cc4SDouglas Anderson		drive-strength = <2>;
927116f7cc4SDouglas Anderson		output-low;
928116f7cc4SDouglas Anderson	};
929116f7cc4SDouglas Anderson
930ec0872a6SKrzysztof Kozlowski	tp_int_odl: tp-int-odl-state {
931116f7cc4SDouglas Anderson		pins = "gpio7";
932116f7cc4SDouglas Anderson		function = "gpio";
933116f7cc4SDouglas Anderson		/* Has external pullup */
934116f7cc4SDouglas Anderson		bias-disable;
935116f7cc4SDouglas Anderson	};
936116f7cc4SDouglas Anderson
937ec0872a6SKrzysztof Kozlowski	wf_cam_en: wf-cam-en-state {
938116f7cc4SDouglas Anderson		pins = "gpio119";
939116f7cc4SDouglas Anderson		function = "gpio";
940116f7cc4SDouglas Anderson		/* Has external pulldown */
941116f7cc4SDouglas Anderson		bias-disable;
942116f7cc4SDouglas Anderson		drive-strength = <2>;
943116f7cc4SDouglas Anderson	};
944116f7cc4SDouglas Anderson};
945