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 = <&_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