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 111*4261cea1SDouglas Anderson regulator-enable-ramp-delay = <3000>; 112*4261cea1SDouglas Anderson 113116f7cc4SDouglas Anderson vin-supply = <&pp3300_z1>; 114116f7cc4SDouglas Anderson }; 115116f7cc4SDouglas Anderson 116116f7cc4SDouglas Anderson pp3300_mcu_fp: 117116f7cc4SDouglas Anderson pp3300_fp_ls: 118116f7cc4SDouglas Anderson pp3300_fp_mcu: pp3300-fp-regulator { 119116f7cc4SDouglas Anderson compatible = "regulator-fixed"; 120116f7cc4SDouglas Anderson regulator-name = "pp3300_fp"; 121116f7cc4SDouglas Anderson 122116f7cc4SDouglas Anderson regulator-min-microvolt = <3300000>; 123116f7cc4SDouglas Anderson regulator-max-microvolt = <3300000>; 124116f7cc4SDouglas Anderson 125116f7cc4SDouglas Anderson regulator-boot-on; 126116f7cc4SDouglas Anderson regulator-always-on; 127116f7cc4SDouglas Anderson 128116f7cc4SDouglas Anderson /* 129116f7cc4SDouglas Anderson * WARNING: it is intentional that GPIO 77 isn't listed here. 130116f7cc4SDouglas Anderson * The userspace script for updating the fingerprint firmware 131116f7cc4SDouglas Anderson * needs to control the FP regulators during a FW update, 132116f7cc4SDouglas Anderson * hence the signal can't be owned by the kernel regulator. 133116f7cc4SDouglas Anderson */ 134116f7cc4SDouglas Anderson 135116f7cc4SDouglas Anderson pinctrl-names = "default"; 136116f7cc4SDouglas Anderson pinctrl-0 = <&en_fp_rails>; 137116f7cc4SDouglas Anderson 138116f7cc4SDouglas Anderson vin-supply = <&pp3300_z1>; 139533ca1c3SMatthias Kaehlcke status = "disabled"; 140116f7cc4SDouglas Anderson }; 141116f7cc4SDouglas Anderson 142116f7cc4SDouglas Anderson pp3300_hub: pp3300-hub-regulator { 143116f7cc4SDouglas Anderson compatible = "regulator-fixed"; 144116f7cc4SDouglas Anderson regulator-name = "pp3300_hub"; 145116f7cc4SDouglas Anderson 146116f7cc4SDouglas Anderson regulator-min-microvolt = <3300000>; 147116f7cc4SDouglas Anderson regulator-max-microvolt = <3300000>; 148116f7cc4SDouglas Anderson 149dc94156cSMatthias Kaehlcke /* The BIOS leaves this regulator on */ 150116f7cc4SDouglas Anderson regulator-boot-on; 151116f7cc4SDouglas Anderson 152116f7cc4SDouglas Anderson gpio = <&tlmm 157 GPIO_ACTIVE_HIGH>; 153116f7cc4SDouglas Anderson enable-active-high; 154116f7cc4SDouglas Anderson pinctrl-names = "default"; 155116f7cc4SDouglas Anderson pinctrl-0 = <&hub_en>; 156116f7cc4SDouglas Anderson 157116f7cc4SDouglas Anderson vin-supply = <&pp3300_z1>; 158116f7cc4SDouglas Anderson }; 159116f7cc4SDouglas Anderson 160116f7cc4SDouglas Anderson pp3300_tp: pp3300-tp-regulator { 161116f7cc4SDouglas Anderson compatible = "regulator-fixed"; 162116f7cc4SDouglas Anderson regulator-name = "pp3300_tp"; 163116f7cc4SDouglas Anderson 164116f7cc4SDouglas Anderson regulator-min-microvolt = <3300000>; 165116f7cc4SDouglas Anderson regulator-max-microvolt = <3300000>; 166116f7cc4SDouglas Anderson 167116f7cc4SDouglas Anderson /* AP turns on with PP1800_L18B_S0; always on for AP */ 168116f7cc4SDouglas Anderson regulator-always-on; 169116f7cc4SDouglas Anderson regulator-boot-on; 170116f7cc4SDouglas Anderson 171116f7cc4SDouglas Anderson vin-supply = <&pp3300_z1>; 172116f7cc4SDouglas Anderson }; 173116f7cc4SDouglas Anderson 174116f7cc4SDouglas Anderson pp3300_ssd: pp3300-ssd-regulator { 175116f7cc4SDouglas Anderson compatible = "regulator-fixed"; 176116f7cc4SDouglas Anderson regulator-name = "pp3300_ssd"; 177116f7cc4SDouglas Anderson 178116f7cc4SDouglas Anderson regulator-min-microvolt = <3300000>; 179116f7cc4SDouglas Anderson regulator-max-microvolt = <3300000>; 180116f7cc4SDouglas Anderson 181116f7cc4SDouglas Anderson gpio = <&tlmm 51 GPIO_ACTIVE_HIGH>; 182116f7cc4SDouglas Anderson enable-active-high; 183116f7cc4SDouglas Anderson pinctrl-names = "default"; 184116f7cc4SDouglas Anderson pinctrl-0 = <&ssd_en>; 185116f7cc4SDouglas Anderson 1860d40497dSDouglas Anderson /* 1870d40497dSDouglas Anderson * The bootloaer may have left PCIe configured. Powering this 1880d40497dSDouglas Anderson * off while the PCIe clocks are still running isn't great, 1890d40497dSDouglas Anderson * so it's better to default to this regulator being on. 1900d40497dSDouglas Anderson */ 1910d40497dSDouglas Anderson regulator-boot-on; 1920d40497dSDouglas Anderson 193116f7cc4SDouglas Anderson vin-supply = <&pp3300_z1>; 194116f7cc4SDouglas Anderson }; 195116f7cc4SDouglas Anderson 196116f7cc4SDouglas Anderson pp2850_vcm_wf_cam: pp2850-vcm-wf-cam-regulator { 197116f7cc4SDouglas Anderson compatible = "regulator-fixed"; 198116f7cc4SDouglas Anderson regulator-name = "pp2850_vcm_wf_cam"; 199116f7cc4SDouglas Anderson 200116f7cc4SDouglas Anderson regulator-min-microvolt = <2850000>; 201116f7cc4SDouglas Anderson regulator-max-microvolt = <2850000>; 202116f7cc4SDouglas Anderson 203116f7cc4SDouglas Anderson gpio = <&tlmm 119 GPIO_ACTIVE_HIGH>; 204116f7cc4SDouglas Anderson enable-active-high; 205116f7cc4SDouglas Anderson pinctrl-names = "default"; 206116f7cc4SDouglas Anderson pinctrl-0 = <&wf_cam_en>; 207116f7cc4SDouglas Anderson 208116f7cc4SDouglas Anderson vin-supply = <&pp3300_z1>; 209533ca1c3SMatthias Kaehlcke status = "disabled"; 210116f7cc4SDouglas Anderson }; 211116f7cc4SDouglas Anderson 212116f7cc4SDouglas Anderson pp2850_wf_cam: pp2850-wf-cam-regulator { 213116f7cc4SDouglas Anderson compatible = "regulator-fixed"; 214116f7cc4SDouglas Anderson regulator-name = "pp2850_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 /* 222116f7cc4SDouglas Anderson * The pinconf can only be referenced once so we put it on the 223116f7cc4SDouglas Anderson * first regulator and comment it out here. 224116f7cc4SDouglas Anderson * 225116f7cc4SDouglas Anderson * pinctrl-names = "default"; 226116f7cc4SDouglas Anderson * pinctrl-0 = <&wf_cam_en>; 227116f7cc4SDouglas Anderson */ 228116f7cc4SDouglas Anderson 229116f7cc4SDouglas Anderson vin-supply = <&pp3300_z1>; 230533ca1c3SMatthias Kaehlcke status = "disabled"; 231116f7cc4SDouglas Anderson }; 232116f7cc4SDouglas Anderson 233116f7cc4SDouglas Anderson pp1800_fp: pp1800-fp-regulator { 234116f7cc4SDouglas Anderson compatible = "regulator-fixed"; 235116f7cc4SDouglas Anderson regulator-name = "pp1800_fp"; 236116f7cc4SDouglas Anderson 237116f7cc4SDouglas Anderson regulator-min-microvolt = <1800000>; 238116f7cc4SDouglas Anderson regulator-max-microvolt = <1800000>; 239116f7cc4SDouglas Anderson 240116f7cc4SDouglas Anderson regulator-boot-on; 241116f7cc4SDouglas Anderson regulator-always-on; 242116f7cc4SDouglas Anderson 243116f7cc4SDouglas Anderson /* 244116f7cc4SDouglas Anderson * WARNING: it is intentional that GPIO 77 isn't listed here. 245116f7cc4SDouglas Anderson * The userspace script for updating the fingerprint firmware 246116f7cc4SDouglas Anderson * needs to control the FP regulators during a FW update, 247116f7cc4SDouglas Anderson * hence the signal can't be owned by the kernel regulator. 248116f7cc4SDouglas Anderson */ 249116f7cc4SDouglas Anderson 250116f7cc4SDouglas Anderson pinctrl-names = "default"; 251116f7cc4SDouglas Anderson pinctrl-0 = <&en_fp_rails>; 252116f7cc4SDouglas Anderson 253116f7cc4SDouglas Anderson vin-supply = <&pp1800_l18b_s0>; 254116f7cc4SDouglas Anderson status = "disabled"; 255116f7cc4SDouglas Anderson }; 256116f7cc4SDouglas Anderson 257116f7cc4SDouglas Anderson pp1800_wf_cam: pp1800-wf-cam-regulator { 258116f7cc4SDouglas Anderson compatible = "regulator-fixed"; 259116f7cc4SDouglas Anderson regulator-name = "pp1800_wf_cam"; 260116f7cc4SDouglas Anderson 261116f7cc4SDouglas Anderson regulator-min-microvolt = <1800000>; 262116f7cc4SDouglas Anderson regulator-max-microvolt = <1800000>; 263116f7cc4SDouglas Anderson 264116f7cc4SDouglas Anderson gpio = <&tlmm 119 GPIO_ACTIVE_HIGH>; 265116f7cc4SDouglas Anderson enable-active-high; 266116f7cc4SDouglas Anderson /* 267116f7cc4SDouglas Anderson * The pinconf can only be referenced once so we put it on the 268116f7cc4SDouglas Anderson * first regulator and comment it out here. 269116f7cc4SDouglas Anderson * 270116f7cc4SDouglas Anderson * pinctrl-names = "default"; 271116f7cc4SDouglas Anderson * pinctrl-0 = <&wf_cam_en>; 272116f7cc4SDouglas Anderson */ 273116f7cc4SDouglas Anderson 274116f7cc4SDouglas Anderson vin-supply = <&vreg_l19b_s0>; 275533ca1c3SMatthias Kaehlcke status = "disabled"; 276116f7cc4SDouglas Anderson }; 277116f7cc4SDouglas Anderson 278116f7cc4SDouglas Anderson pp1200_wf_cam: pp1200-wf-cam-regulator { 279116f7cc4SDouglas Anderson compatible = "regulator-fixed"; 280116f7cc4SDouglas Anderson regulator-name = "pp1200_wf_cam"; 281116f7cc4SDouglas Anderson 282116f7cc4SDouglas Anderson regulator-min-microvolt = <1200000>; 283116f7cc4SDouglas Anderson regulator-max-microvolt = <1200000>; 284116f7cc4SDouglas Anderson 285116f7cc4SDouglas Anderson gpio = <&tlmm 119 GPIO_ACTIVE_HIGH>; 286116f7cc4SDouglas Anderson enable-active-high; 287116f7cc4SDouglas Anderson /* 288116f7cc4SDouglas Anderson * The pinconf can only be referenced once so we put it on the 289116f7cc4SDouglas Anderson * first regulator and comment it out here. 290116f7cc4SDouglas Anderson * 291116f7cc4SDouglas Anderson * pinctrl-names = "default"; 292116f7cc4SDouglas Anderson * pinctrl-0 = <&wf_cam_en>; 293116f7cc4SDouglas Anderson */ 294116f7cc4SDouglas Anderson 295116f7cc4SDouglas Anderson vin-supply = <&pp3300_z1>; 296533ca1c3SMatthias Kaehlcke status = "disabled"; 297116f7cc4SDouglas Anderson }; 298116f7cc4SDouglas Anderson 299116f7cc4SDouglas Anderson /* BOARD-SPECIFIC TOP LEVEL NODES */ 300116f7cc4SDouglas Anderson 30114afeaf9SSrinivasa Rao Mandadapu max98360a: audio-codec-0 { 30214afeaf9SSrinivasa Rao Mandadapu compatible = "maxim,max98360a"; 30314afeaf9SSrinivasa Rao Mandadapu pinctrl-names = "default"; 30414afeaf9SSrinivasa Rao Mandadapu pinctrl-0 = <&_en>; 30514afeaf9SSrinivasa Rao Mandadapu sdmode-gpios = <&tlmm 63 GPIO_ACTIVE_HIGH>; 30614afeaf9SSrinivasa Rao Mandadapu #sound-dai-cells = <0>; 30714afeaf9SSrinivasa Rao Mandadapu }; 30814afeaf9SSrinivasa Rao Mandadapu 309426e81c7SMatthias Kaehlcke pwmleds: pwmleds { 310116f7cc4SDouglas Anderson compatible = "pwm-leds"; 311116f7cc4SDouglas Anderson status = "disabled"; 312cb3920b5SKrzysztof Kozlowski keyboard_backlight: led-0 { 313116f7cc4SDouglas Anderson label = "cros_ec::kbd_backlight"; 314b7428806SKrzysztof Kozlowski function = LED_FUNCTION_KBD_BACKLIGHT; 315116f7cc4SDouglas Anderson pwms = <&cros_ec_pwm 0>; 316116f7cc4SDouglas Anderson max-brightness = <1023>; 317116f7cc4SDouglas Anderson }; 318116f7cc4SDouglas Anderson }; 319116f7cc4SDouglas Anderson}; 320116f7cc4SDouglas Anderson 321116f7cc4SDouglas Anderson/* 3225a026558SDouglas Anderson * ADJUSTMENTS TO QCARD REGULATORS 3235a026558SDouglas Anderson * 3245a026558SDouglas Anderson * Mostly this is just board-local names for regulators that come from 3255a026558SDouglas Anderson * Qcard, but this also has some minor regulator overrides. 326116f7cc4SDouglas Anderson * 327116f7cc4SDouglas Anderson * Names are only listed here if regulators go somewhere other than a 328116f7cc4SDouglas Anderson * testpoint. 329116f7cc4SDouglas Anderson */ 330116f7cc4SDouglas Anderson 331116f7cc4SDouglas Anderson/* From Qcard to our board; ordered by PMIC-ID / rail number */ 332116f7cc4SDouglas Anderson 333116f7cc4SDouglas Andersonpp1256_s8b: &vreg_s8b_1p256 {}; 334116f7cc4SDouglas Anderson 335116f7cc4SDouglas Andersonpp1800_l18b_s0: &vreg_l18b_1p8 {}; 336116f7cc4SDouglas Andersonpp1800_l18b: &vreg_l18b_1p8 {}; 337116f7cc4SDouglas Anderson 338116f7cc4SDouglas Andersonvreg_l19b_s0: &vreg_l19b_1p8 {}; 339116f7cc4SDouglas Anderson 340116f7cc4SDouglas Andersonpp1800_alc5682: &vreg_l2c_1p8 {}; 341116f7cc4SDouglas Andersonpp1800_l2c: &vreg_l2c_1p8 {}; 342116f7cc4SDouglas Anderson 343116f7cc4SDouglas Andersonvreg_l4c: &vreg_l4c_1p8_3p0 {}; 344116f7cc4SDouglas Anderson 345116f7cc4SDouglas Andersonppvar_l6c: &vreg_l6c_2p96 {}; 346116f7cc4SDouglas Anderson 347116f7cc4SDouglas Andersonpp3000_l7c: &vreg_l7c_3p0 {}; 348116f7cc4SDouglas Anderson 349116f7cc4SDouglas Andersonpp1800_prox: &vreg_l8c_1p8 {}; 350116f7cc4SDouglas Andersonpp1800_l8c: &vreg_l8c_1p8 {}; 351116f7cc4SDouglas Anderson 352116f7cc4SDouglas Andersonpp2950_l9c: &vreg_l9c_2p96 {}; 353116f7cc4SDouglas Anderson 354116f7cc4SDouglas Andersonpp1800_lcm: &vreg_l12c_1p8 {}; 355116f7cc4SDouglas Andersonpp1800_mipi: &vreg_l12c_1p8 {}; 356116f7cc4SDouglas Andersonpp1800_l12c: &vreg_l12c_1p8 {}; 357116f7cc4SDouglas Anderson 358116f7cc4SDouglas Andersonpp3300_lcm: &vreg_l13c_3p0 {}; 359116f7cc4SDouglas Andersonpp3300_mipi: &vreg_l13c_3p0 {}; 360116f7cc4SDouglas Andersonpp3300_l13c: &vreg_l13c_3p0 {}; 361116f7cc4SDouglas Anderson 362116f7cc4SDouglas Anderson/* From our board to Qcard; ordered same as node definition above */ 363116f7cc4SDouglas Anderson 364116f7cc4SDouglas Andersonvreg_edp_bl: &ppvar_sys {}; 365116f7cc4SDouglas Anderson 366116f7cc4SDouglas Andersonts_avdd: &pp3300_left_in_mlb {}; 367116f7cc4SDouglas Andersonvreg_edp_3p3: &pp3300_left_in_mlb {}; 368116f7cc4SDouglas Anderson 3695a026558SDouglas Anderson/* Regulator overrides from Qcard */ 3705a026558SDouglas Anderson 3715a026558SDouglas Anderson/* 3725a026558SDouglas Anderson * Herobrine boards only use l2c to power an external audio codec (like 3735a026558SDouglas Anderson * alc5682) and we want that to be at 1.8V, not at some slightly lower voltage. 3745a026558SDouglas Anderson */ 3755a026558SDouglas Anderson&vreg_l2c_1p8 { 3765a026558SDouglas Anderson regulator-min-microvolt = <1800000>; 3775a026558SDouglas Anderson}; 3785a026558SDouglas Anderson 379116f7cc4SDouglas Anderson/* ADDITIONS TO NODES DEFINED IN PARENT DEVICE TREE FILES */ 380116f7cc4SDouglas Anderson 381366a0a19SDouglas Anderson&edp_panel { 382366a0a19SDouglas Anderson /* Our board provides power to the qcard for the eDP panel. */ 383366a0a19SDouglas Anderson power-supply = <&vreg_edp_3p3>; 384366a0a19SDouglas Anderson}; 385366a0a19SDouglas Anderson 38670137d1dSMatthias Kaehlckeap_sar_sensor_i2c: &i2c1 { 38770137d1dSMatthias Kaehlcke clock-frequency = <400000>; 38870137d1dSMatthias Kaehlcke status = "disabled"; 38970137d1dSMatthias Kaehlcke 39070137d1dSMatthias Kaehlcke ap_sar_sensor0: proximity@28 { 39170137d1dSMatthias Kaehlcke compatible = "semtech,sx9324"; 39270137d1dSMatthias Kaehlcke reg = <0x28>; 39370137d1dSMatthias Kaehlcke #io-channel-cells = <1>; 39470137d1dSMatthias Kaehlcke pinctrl-names = "default"; 39570137d1dSMatthias Kaehlcke pinctrl-0 = <&sar0_irq_odl>; 39670137d1dSMatthias Kaehlcke 39770137d1dSMatthias Kaehlcke interrupt-parent = <&tlmm>; 39870137d1dSMatthias Kaehlcke interrupts = <141 IRQ_TYPE_LEVEL_LOW>; 39970137d1dSMatthias Kaehlcke 40070137d1dSMatthias Kaehlcke vdd-supply = <&pp1800_prox>; 40170137d1dSMatthias Kaehlcke 4029c54f171SGwendal Grignou label = "proximity-wifi_cellular-0"; 40370137d1dSMatthias Kaehlcke status = "disabled"; 40470137d1dSMatthias Kaehlcke }; 40570137d1dSMatthias Kaehlcke 40670137d1dSMatthias Kaehlcke ap_sar_sensor1: proximity@2c { 40770137d1dSMatthias Kaehlcke compatible = "semtech,sx9324"; 40870137d1dSMatthias Kaehlcke reg = <0x2c>; 40970137d1dSMatthias Kaehlcke #io-channel-cells = <1>; 41070137d1dSMatthias Kaehlcke pinctrl-names = "default"; 41170137d1dSMatthias Kaehlcke pinctrl-0 = <&sar1_irq_odl>; 41270137d1dSMatthias Kaehlcke 41370137d1dSMatthias Kaehlcke interrupt-parent = <&tlmm>; 41470137d1dSMatthias Kaehlcke interrupts = <140 IRQ_TYPE_LEVEL_LOW>; 41570137d1dSMatthias Kaehlcke 41670137d1dSMatthias Kaehlcke vdd-supply = <&pp1800_prox>; 41770137d1dSMatthias Kaehlcke 4189c54f171SGwendal Grignou label = "proximity-wifi_cellular-1"; 41970137d1dSMatthias Kaehlcke status = "disabled"; 42070137d1dSMatthias Kaehlcke }; 42170137d1dSMatthias Kaehlcke}; 42270137d1dSMatthias Kaehlcke 423116f7cc4SDouglas Andersonap_i2c_tpm: &i2c14 { 424116f7cc4SDouglas Anderson status = "okay"; 425116f7cc4SDouglas Anderson clock-frequency = <400000>; 426116f7cc4SDouglas Anderson 427116f7cc4SDouglas Anderson tpm@50 { 428116f7cc4SDouglas Anderson compatible = "google,cr50"; 429116f7cc4SDouglas Anderson reg = <0x50>; 430116f7cc4SDouglas Anderson 431116f7cc4SDouglas Anderson pinctrl-names = "default"; 432116f7cc4SDouglas Anderson pinctrl-0 = <&gsc_ap_int_odl>; 433116f7cc4SDouglas Anderson 434116f7cc4SDouglas Anderson interrupt-parent = <&tlmm>; 435116f7cc4SDouglas Anderson interrupts = <104 IRQ_TYPE_EDGE_RISING>; 436116f7cc4SDouglas Anderson }; 437116f7cc4SDouglas Anderson}; 438116f7cc4SDouglas Anderson 439366a0a19SDouglas Anderson&mdss { 440366a0a19SDouglas Anderson status = "okay"; 441366a0a19SDouglas Anderson}; 442366a0a19SDouglas Anderson 4434ab03ef8SDouglas Anderson&mdss_dp { 4444ab03ef8SDouglas Anderson status = "okay"; 4454ab03ef8SDouglas Anderson pinctrl-names = "default"; 4464ab03ef8SDouglas Anderson pinctrl-0 = <&dp_hot_plug_det>; 44726c5aa54SKuogee Hsieh}; 44826c5aa54SKuogee Hsieh 44926c5aa54SKuogee Hsieh&mdss_dp_out { 4504ab03ef8SDouglas Anderson data-lanes = <0 1>; 45126c5aa54SKuogee Hsieh link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>; 4524ab03ef8SDouglas Anderson}; 4534ab03ef8SDouglas Anderson 454366a0a19SDouglas Anderson&mdss_mdp { 455366a0a19SDouglas Anderson status = "okay"; 456366a0a19SDouglas Anderson}; 457366a0a19SDouglas Anderson 458116f7cc4SDouglas Anderson/* NVMe drive, enabled on a per-board basis */ 459116f7cc4SDouglas Anderson&pcie1 { 460116f7cc4SDouglas Anderson pinctrl-names = "default"; 461116f7cc4SDouglas Anderson pinctrl-0 = <&pcie1_clkreq_n>, <&ssd_rst_l>, <&pe_wake_odl>; 462116f7cc4SDouglas Anderson 463f3f5fb31SDmitry Baryshkov perst-gpios = <&tlmm 2 GPIO_ACTIVE_LOW>; 464116f7cc4SDouglas Anderson vddpe-3v3-supply = <&pp3300_ssd>; 465116f7cc4SDouglas Anderson}; 466116f7cc4SDouglas Anderson 467366a0a19SDouglas Anderson&pm8350c_pwm { 468366a0a19SDouglas Anderson status = "okay"; 469366a0a19SDouglas Anderson}; 470366a0a19SDouglas Anderson 471366a0a19SDouglas Anderson&pm8350c_pwm_backlight { 472366a0a19SDouglas Anderson status = "okay"; 473366a0a19SDouglas Anderson 474366a0a19SDouglas Anderson /* Our board provides power to the qcard for the backlight */ 475366a0a19SDouglas Anderson power-supply = <&vreg_edp_bl>; 476366a0a19SDouglas Anderson}; 477366a0a19SDouglas Anderson 478116f7cc4SDouglas Anderson&pmk8350_rtc { 479116f7cc4SDouglas Anderson status = "disabled"; 480116f7cc4SDouglas Anderson}; 481116f7cc4SDouglas Anderson 482116f7cc4SDouglas Anderson&qupv3_id_0 { 483116f7cc4SDouglas Anderson status = "okay"; 484116f7cc4SDouglas Anderson}; 485116f7cc4SDouglas Anderson 486116f7cc4SDouglas Anderson&qupv3_id_1 { 487116f7cc4SDouglas Anderson status = "okay"; 488116f7cc4SDouglas Anderson}; 489116f7cc4SDouglas Anderson 490116f7cc4SDouglas Anderson/* SD Card, enabled on a per-board basis */ 491116f7cc4SDouglas Anderson&sdhc_2 { 492116f7cc4SDouglas Anderson pinctrl-0 = <&sdc2_clk>, <&sdc2_cmd>, <&sdc2_data>, <&sd_cd_odl>; 493116f7cc4SDouglas Anderson pinctrl-1 = <&sdc2_clk_sleep>, <&sdc2_cmd_sleep>, <&sdc2_data_sleep>, <&sd_cd_odl>; 494116f7cc4SDouglas Anderson 495116f7cc4SDouglas Anderson vmmc-supply = <&pp2950_l9c>; 496116f7cc4SDouglas Anderson vqmmc-supply = <&ppvar_l6c>; 497116f7cc4SDouglas Anderson 498116f7cc4SDouglas Anderson cd-gpios = <&tlmm 91 GPIO_ACTIVE_LOW>; 499116f7cc4SDouglas Anderson}; 500116f7cc4SDouglas Anderson 501d756a0b2SDouglas Anderson&spi_flash { 502d756a0b2SDouglas Anderson spi-max-frequency = <50000000>; 503d756a0b2SDouglas Anderson}; 504d756a0b2SDouglas Anderson 505116f7cc4SDouglas Anderson/* Fingerprint, enabled on a per-board basis */ 506116f7cc4SDouglas Andersonap_spi_fp: &spi9 { 507116f7cc4SDouglas Anderson pinctrl-0 = <&qup_spi9_data_clk>, <&qup_spi9_cs_gpio_init_high>, <&qup_spi9_cs_gpio>; 508116f7cc4SDouglas Anderson 509116f7cc4SDouglas Anderson cs-gpios = <&tlmm 39 GPIO_ACTIVE_LOW>; 510116f7cc4SDouglas Anderson 511116f7cc4SDouglas Anderson cros_ec_fp: ec@0 { 512aefd5370SStephen Boyd compatible = "google,cros-ec-fp", "google,cros-ec-spi"; 513116f7cc4SDouglas Anderson reg = <0>; 514116f7cc4SDouglas Anderson interrupt-parent = <&tlmm>; 515116f7cc4SDouglas Anderson interrupts = <61 IRQ_TYPE_LEVEL_LOW>; 516116f7cc4SDouglas Anderson pinctrl-names = "default"; 517116f7cc4SDouglas Anderson pinctrl-0 = <&fp_to_ap_irq_l>, <&fp_rst_l>, <&fpmcu_boot0>; 518aefd5370SStephen Boyd boot0-gpios = <&tlmm 68 GPIO_ACTIVE_HIGH>; 519aefd5370SStephen Boyd reset-gpios = <&tlmm 78 GPIO_ACTIVE_LOW>; 520116f7cc4SDouglas Anderson spi-max-frequency = <3000000>; 521aefd5370SStephen Boyd vdd-supply = <&pp3300_fp_mcu>; 522116f7cc4SDouglas Anderson }; 523116f7cc4SDouglas Anderson}; 524116f7cc4SDouglas Anderson 525116f7cc4SDouglas Andersonap_ec_spi: &spi10 { 526116f7cc4SDouglas Anderson status = "okay"; 527116f7cc4SDouglas Anderson pinctrl-0 = <&qup_spi10_data_clk>, <&qup_spi10_cs_gpio_init_high>, <&qup_spi10_cs_gpio>; 528116f7cc4SDouglas Anderson 529116f7cc4SDouglas Anderson cs-gpios = <&tlmm 43 GPIO_ACTIVE_LOW>; 530116f7cc4SDouglas Anderson 531116f7cc4SDouglas Anderson cros_ec: ec@0 { 532116f7cc4SDouglas Anderson compatible = "google,cros-ec-spi"; 533116f7cc4SDouglas Anderson reg = <0>; 534116f7cc4SDouglas Anderson interrupt-parent = <&tlmm>; 535116f7cc4SDouglas Anderson interrupts = <18 IRQ_TYPE_LEVEL_LOW>; 536116f7cc4SDouglas Anderson pinctrl-names = "default"; 537116f7cc4SDouglas Anderson pinctrl-0 = <&ap_ec_int_l>; 538116f7cc4SDouglas Anderson spi-max-frequency = <3000000>; 539116f7cc4SDouglas Anderson 5401e49defbSKrzysztof Kozlowski cros_ec_pwm: pwm { 541116f7cc4SDouglas Anderson compatible = "google,cros-ec-pwm"; 542116f7cc4SDouglas Anderson #pwm-cells = <1>; 543116f7cc4SDouglas Anderson }; 544116f7cc4SDouglas Anderson 545116f7cc4SDouglas Anderson i2c_tunnel: i2c-tunnel { 546116f7cc4SDouglas Anderson compatible = "google,cros-ec-i2c-tunnel"; 547116f7cc4SDouglas Anderson google,remote-bus = <0>; 548116f7cc4SDouglas Anderson #address-cells = <1>; 549116f7cc4SDouglas Anderson #size-cells = <0>; 550116f7cc4SDouglas Anderson }; 551116f7cc4SDouglas Anderson 552116f7cc4SDouglas Anderson typec { 553116f7cc4SDouglas Anderson compatible = "google,cros-ec-typec"; 554116f7cc4SDouglas Anderson #address-cells = <1>; 555116f7cc4SDouglas Anderson #size-cells = <0>; 556116f7cc4SDouglas Anderson 557116f7cc4SDouglas Anderson usb_c0: connector@0 { 558116f7cc4SDouglas Anderson compatible = "usb-c-connector"; 559116f7cc4SDouglas Anderson reg = <0>; 560116f7cc4SDouglas Anderson label = "left"; 561116f7cc4SDouglas Anderson power-role = "dual"; 562116f7cc4SDouglas Anderson data-role = "host"; 563116f7cc4SDouglas Anderson try-power-role = "source"; 564116f7cc4SDouglas Anderson }; 565116f7cc4SDouglas Anderson 566116f7cc4SDouglas Anderson usb_c1: connector@1 { 567116f7cc4SDouglas Anderson compatible = "usb-c-connector"; 568116f7cc4SDouglas Anderson reg = <1>; 569116f7cc4SDouglas Anderson label = "right"; 570116f7cc4SDouglas Anderson power-role = "dual"; 571116f7cc4SDouglas Anderson data-role = "host"; 572116f7cc4SDouglas Anderson try-power-role = "source"; 573116f7cc4SDouglas Anderson }; 574116f7cc4SDouglas Anderson }; 575116f7cc4SDouglas Anderson }; 576116f7cc4SDouglas Anderson}; 577116f7cc4SDouglas Anderson 578116f7cc4SDouglas Anderson#include <arm/cros-ec-keyboard.dtsi> 579116f7cc4SDouglas Anderson#include <arm/cros-ec-sbs.dtsi> 580116f7cc4SDouglas Anderson 581116f7cc4SDouglas Anderson&keyboard_controller { 582116f7cc4SDouglas Anderson function-row-physmap = < 583116f7cc4SDouglas Anderson MATRIX_KEY(0x00, 0x02, 0) /* T1 */ 584116f7cc4SDouglas Anderson MATRIX_KEY(0x03, 0x02, 0) /* T2 */ 585116f7cc4SDouglas Anderson MATRIX_KEY(0x02, 0x02, 0) /* T3 */ 586116f7cc4SDouglas Anderson MATRIX_KEY(0x01, 0x02, 0) /* T4 */ 587116f7cc4SDouglas Anderson MATRIX_KEY(0x03, 0x04, 0) /* T5 */ 588116f7cc4SDouglas Anderson MATRIX_KEY(0x02, 0x04, 0) /* T6 */ 589116f7cc4SDouglas Anderson MATRIX_KEY(0x01, 0x04, 0) /* T7 */ 590116f7cc4SDouglas Anderson MATRIX_KEY(0x02, 0x09, 0) /* T8 */ 591116f7cc4SDouglas Anderson MATRIX_KEY(0x01, 0x09, 0) /* T9 */ 592116f7cc4SDouglas Anderson MATRIX_KEY(0x00, 0x04, 0) /* T10 */ 593116f7cc4SDouglas Anderson >; 594116f7cc4SDouglas Anderson linux,keymap = < 595116f7cc4SDouglas Anderson MATRIX_KEY(0x00, 0x02, KEY_BACK) 596116f7cc4SDouglas Anderson MATRIX_KEY(0x03, 0x02, KEY_REFRESH) 597116f7cc4SDouglas Anderson MATRIX_KEY(0x02, 0x02, KEY_ZOOM) 598116f7cc4SDouglas Anderson MATRIX_KEY(0x01, 0x02, KEY_SCALE) 599116f7cc4SDouglas Anderson MATRIX_KEY(0x03, 0x04, KEY_SYSRQ) 600116f7cc4SDouglas Anderson MATRIX_KEY(0x02, 0x04, KEY_BRIGHTNESSDOWN) 601116f7cc4SDouglas Anderson MATRIX_KEY(0x01, 0x04, KEY_BRIGHTNESSUP) 602116f7cc4SDouglas Anderson MATRIX_KEY(0x02, 0x09, KEY_MUTE) 603116f7cc4SDouglas Anderson MATRIX_KEY(0x01, 0x09, KEY_VOLUMEDOWN) 604116f7cc4SDouglas Anderson MATRIX_KEY(0x00, 0x04, KEY_VOLUMEUP) 605116f7cc4SDouglas Anderson 606116f7cc4SDouglas Anderson CROS_STD_MAIN_KEYMAP 607116f7cc4SDouglas Anderson >; 608116f7cc4SDouglas Anderson}; 609116f7cc4SDouglas Anderson 610116f7cc4SDouglas Anderson&usb_1 { 611116f7cc4SDouglas Anderson status = "okay"; 612116f7cc4SDouglas Anderson}; 613116f7cc4SDouglas Anderson 614116f7cc4SDouglas Anderson&usb_1_dwc3 { 615116f7cc4SDouglas Anderson dr_mode = "host"; 616dc94156cSMatthias Kaehlcke 617dc94156cSMatthias Kaehlcke #address-cells = <1>; 618dc94156cSMatthias Kaehlcke #size-cells = <0>; 619dc94156cSMatthias Kaehlcke 620dc94156cSMatthias Kaehlcke /* 2.x hub on port 1 */ 621dc94156cSMatthias Kaehlcke usb_hub_2_x: hub@1 { 622dc94156cSMatthias Kaehlcke compatible = "usbbda,5411"; 623dc94156cSMatthias Kaehlcke reg = <1>; 624dc94156cSMatthias Kaehlcke vdd-supply = <&pp3300_hub>; 625dc94156cSMatthias Kaehlcke peer-hub = <&usb_hub_3_x>; 626dc94156cSMatthias Kaehlcke }; 627dc94156cSMatthias Kaehlcke 628dc94156cSMatthias Kaehlcke /* 3.x hub on port 2 */ 629dc94156cSMatthias Kaehlcke usb_hub_3_x: hub@2 { 630dc94156cSMatthias Kaehlcke compatible = "usbbda,411"; 631dc94156cSMatthias Kaehlcke reg = <2>; 632dc94156cSMatthias Kaehlcke vdd-supply = <&pp3300_hub>; 633dc94156cSMatthias Kaehlcke peer-hub = <&usb_hub_2_x>; 634dc94156cSMatthias Kaehlcke }; 635116f7cc4SDouglas Anderson}; 636116f7cc4SDouglas Anderson 637116f7cc4SDouglas Anderson&usb_1_hsphy { 638116f7cc4SDouglas Anderson status = "okay"; 6399c2eb597SKrishna Kurapati 6409c2eb597SKrishna Kurapati qcom,hs-rise-fall-time-bp = <0>; 6419c2eb597SKrishna Kurapati qcom,squelch-detector-bp = <(-2090)>; 6429c2eb597SKrishna Kurapati qcom,hs-disconnect-bp = <1743>; 6439c2eb597SKrishna Kurapati qcom,hs-amplitude-bp = <1780>; 6449c2eb597SKrishna Kurapati qcom,hs-crossover-voltage-microvolt = <(-31000)>; 6459c2eb597SKrishna Kurapati qcom,hs-output-impedance-micro-ohms = <2600000>; 646116f7cc4SDouglas Anderson}; 647116f7cc4SDouglas Anderson 648116f7cc4SDouglas Anderson&usb_1_qmpphy { 649116f7cc4SDouglas Anderson status = "okay"; 650116f7cc4SDouglas Anderson}; 651116f7cc4SDouglas Anderson 652116f7cc4SDouglas Anderson/* PINCTRL - ADDITIONS TO NODES IN PARENT DEVICE TREE FILES */ 653116f7cc4SDouglas Anderson 654116f7cc4SDouglas Anderson&dp_hot_plug_det { 655116f7cc4SDouglas Anderson bias-disable; 656116f7cc4SDouglas Anderson}; 657116f7cc4SDouglas Anderson 658a1afae1aSJudy Hsiao&mi2s1_data0 { 659a1afae1aSJudy Hsiao drive-strength = <6>; 660a1afae1aSJudy Hsiao bias-disable; 661a1afae1aSJudy Hsiao}; 662a1afae1aSJudy Hsiao 663a1afae1aSJudy Hsiao&mi2s1_sclk { 664a1afae1aSJudy Hsiao drive-strength = <6>; 665a1afae1aSJudy Hsiao bias-disable; 666a1afae1aSJudy Hsiao}; 667a1afae1aSJudy Hsiao 668a1afae1aSJudy Hsiao&mi2s1_ws { 669a1afae1aSJudy Hsiao drive-strength = <6>; 670a1afae1aSJudy Hsiao bias-disable; 671a1afae1aSJudy Hsiao}; 672a1afae1aSJudy Hsiao 673116f7cc4SDouglas Anderson&pcie1_clkreq_n { 674116f7cc4SDouglas Anderson bias-pull-up; 675116f7cc4SDouglas Anderson drive-strength = <2>; 676116f7cc4SDouglas Anderson}; 677116f7cc4SDouglas Anderson 678116f7cc4SDouglas Anderson&qspi_cs0 { 679116f7cc4SDouglas Anderson bias-disable; 680116f7cc4SDouglas Anderson drive-strength = <8>; 681116f7cc4SDouglas Anderson}; 682116f7cc4SDouglas Anderson 683116f7cc4SDouglas Anderson&qspi_clk { 684116f7cc4SDouglas Anderson bias-disable; 685116f7cc4SDouglas Anderson drive-strength = <8>; 686116f7cc4SDouglas Anderson}; 687116f7cc4SDouglas Anderson 688116f7cc4SDouglas Anderson&qspi_data01 { 689116f7cc4SDouglas Anderson /* High-Z when no transfers; nice to park the lines */ 690116f7cc4SDouglas Anderson bias-pull-up; 691116f7cc4SDouglas Anderson drive-strength = <8>; 692116f7cc4SDouglas Anderson}; 693116f7cc4SDouglas Anderson 694116f7cc4SDouglas Anderson/* For ap_tp_i2c */ 695116f7cc4SDouglas Anderson&qup_i2c0_data_clk { 696116f7cc4SDouglas Anderson /* Has external pull */ 697116f7cc4SDouglas Anderson bias-disable; 698116f7cc4SDouglas Anderson drive-strength = <2>; 699116f7cc4SDouglas Anderson}; 700116f7cc4SDouglas Anderson 701116f7cc4SDouglas Anderson/* For ap_i2c_tpm */ 702116f7cc4SDouglas Anderson&qup_i2c14_data_clk { 703116f7cc4SDouglas Anderson /* Has external pull */ 704116f7cc4SDouglas Anderson bias-disable; 705116f7cc4SDouglas Anderson drive-strength = <2>; 706116f7cc4SDouglas Anderson}; 707116f7cc4SDouglas Anderson 708116f7cc4SDouglas Anderson/* For ap_spi_fp */ 709116f7cc4SDouglas Anderson&qup_spi9_data_clk { 710116f7cc4SDouglas Anderson bias-disable; 711116f7cc4SDouglas Anderson drive-strength = <2>; 712116f7cc4SDouglas Anderson}; 713116f7cc4SDouglas Anderson 714116f7cc4SDouglas Anderson/* For ap_spi_fp */ 715116f7cc4SDouglas Anderson&qup_spi9_cs_gpio { 716116f7cc4SDouglas Anderson bias-disable; 717116f7cc4SDouglas Anderson drive-strength = <2>; 718116f7cc4SDouglas Anderson}; 719116f7cc4SDouglas Anderson 720116f7cc4SDouglas Anderson/* For ap_ec_spi */ 721116f7cc4SDouglas Anderson&qup_spi10_data_clk { 722116f7cc4SDouglas Anderson bias-disable; 723116f7cc4SDouglas Anderson drive-strength = <2>; 724116f7cc4SDouglas Anderson}; 725116f7cc4SDouglas Anderson 726116f7cc4SDouglas Anderson/* For ap_ec_spi */ 727116f7cc4SDouglas Anderson&qup_spi10_cs_gpio { 728116f7cc4SDouglas Anderson bias-disable; 729116f7cc4SDouglas Anderson drive-strength = <2>; 730116f7cc4SDouglas Anderson}; 731116f7cc4SDouglas Anderson 732116f7cc4SDouglas Anderson/* For uart_dbg */ 733116f7cc4SDouglas Anderson&qup_uart5_rx { 734116f7cc4SDouglas Anderson bias-pull-up; 735116f7cc4SDouglas Anderson}; 736116f7cc4SDouglas Anderson 737116f7cc4SDouglas Anderson/* For uart_dbg */ 738116f7cc4SDouglas Anderson&qup_uart5_tx { 739116f7cc4SDouglas Anderson bias-disable; 740116f7cc4SDouglas Anderson drive-strength = <2>; 741116f7cc4SDouglas Anderson}; 742116f7cc4SDouglas Anderson 743116f7cc4SDouglas Anderson&sdc2_clk { 744116f7cc4SDouglas Anderson bias-disable; 745116f7cc4SDouglas Anderson drive-strength = <16>; 746116f7cc4SDouglas Anderson}; 747116f7cc4SDouglas Anderson 748116f7cc4SDouglas Anderson&sdc2_cmd { 749116f7cc4SDouglas Anderson bias-pull-up; 750116f7cc4SDouglas Anderson drive-strength = <10>; 751116f7cc4SDouglas Anderson}; 752116f7cc4SDouglas Anderson 753116f7cc4SDouglas Anderson&sdc2_data { 754116f7cc4SDouglas Anderson bias-pull-up; 755116f7cc4SDouglas Anderson drive-strength = <10>; 756116f7cc4SDouglas Anderson}; 757116f7cc4SDouglas Anderson 758116f7cc4SDouglas Anderson/* PINCTRL - board-specific pinctrl */ 759116f7cc4SDouglas Anderson 760116f7cc4SDouglas Anderson&pm7325_gpios { 761116f7cc4SDouglas Anderson /* 762116f7cc4SDouglas Anderson * On a quick glance it might look like KYPD_VOL_UP_N is used, but 763116f7cc4SDouglas Anderson * that only passes through to a debug connector and not to the actual 764116f7cc4SDouglas Anderson * volume up key. 765116f7cc4SDouglas Anderson */ 766116f7cc4SDouglas Anderson status = "disabled"; /* No GPIOs are connected */ 767116f7cc4SDouglas Anderson}; 768116f7cc4SDouglas Anderson 769116f7cc4SDouglas Anderson&pmk8350_gpios { 770116f7cc4SDouglas Anderson status = "disabled"; /* No GPIOs are connected */ 771116f7cc4SDouglas Anderson}; 772116f7cc4SDouglas Anderson 773116f7cc4SDouglas Anderson&tlmm { 774116f7cc4SDouglas Anderson /* pinctrl settings for pins that have no real owners. */ 775116f7cc4SDouglas Anderson pinctrl-names = "default"; 776116f7cc4SDouglas Anderson pinctrl-0 = <&bios_flash_wp_od>; 777116f7cc4SDouglas Anderson 778ec0872a6SKrzysztof Kozlowski amp_en: amp-en-state { 779116f7cc4SDouglas Anderson pins = "gpio63"; 780116f7cc4SDouglas Anderson function = "gpio"; 781116f7cc4SDouglas Anderson bias-disable; 782116f7cc4SDouglas Anderson drive-strength = <2>; 783116f7cc4SDouglas Anderson }; 784116f7cc4SDouglas Anderson 785ec0872a6SKrzysztof Kozlowski ap_ec_int_l: ap-ec-int-l-state { 786116f7cc4SDouglas Anderson pins = "gpio18"; 787116f7cc4SDouglas Anderson function = "gpio"; 788116f7cc4SDouglas Anderson bias-pull-up; 789116f7cc4SDouglas Anderson }; 790116f7cc4SDouglas Anderson 791ec0872a6SKrzysztof Kozlowski bios_flash_wp_od: bios-flash-wp-od-state { 792116f7cc4SDouglas Anderson pins = "gpio16"; 793116f7cc4SDouglas Anderson function = "gpio"; 794116f7cc4SDouglas Anderson /* Has external pull */ 795116f7cc4SDouglas Anderson bias-disable; 796116f7cc4SDouglas Anderson }; 797116f7cc4SDouglas Anderson 798ec0872a6SKrzysztof Kozlowski en_fp_rails: en-fp-rails-state { 799116f7cc4SDouglas Anderson pins = "gpio77"; 800116f7cc4SDouglas Anderson function = "gpio"; 801116f7cc4SDouglas Anderson bias-disable; 802116f7cc4SDouglas Anderson drive-strength = <2>; 803116f7cc4SDouglas Anderson output-high; 804116f7cc4SDouglas Anderson }; 805116f7cc4SDouglas Anderson 806ec0872a6SKrzysztof Kozlowski en_pp3300_codec: en-pp3300-codec-state { 807116f7cc4SDouglas Anderson pins = "gpio105"; 808116f7cc4SDouglas Anderson function = "gpio"; 809116f7cc4SDouglas Anderson bias-disable; 810116f7cc4SDouglas Anderson drive-strength = <2>; 811116f7cc4SDouglas Anderson }; 812116f7cc4SDouglas Anderson 813ec0872a6SKrzysztof Kozlowski en_pp3300_dx_edp: en-pp3300-dx-edp-state { 814116f7cc4SDouglas Anderson pins = "gpio80"; 815116f7cc4SDouglas Anderson function = "gpio"; 816116f7cc4SDouglas Anderson bias-disable; 817116f7cc4SDouglas Anderson drive-strength = <2>; 818116f7cc4SDouglas Anderson }; 819116f7cc4SDouglas Anderson 820ec0872a6SKrzysztof Kozlowski fp_rst_l: fp-rst-l-state { 821116f7cc4SDouglas Anderson pins = "gpio78"; 822116f7cc4SDouglas Anderson function = "gpio"; 823116f7cc4SDouglas Anderson bias-disable; 824116f7cc4SDouglas Anderson drive-strength = <2>; 825116f7cc4SDouglas Anderson }; 826116f7cc4SDouglas Anderson 827ec0872a6SKrzysztof Kozlowski fp_to_ap_irq_l: fp-to-ap-irq-l-state { 828116f7cc4SDouglas Anderson pins = "gpio61"; 829116f7cc4SDouglas Anderson function = "gpio"; 830116f7cc4SDouglas Anderson /* Has external pullup */ 831116f7cc4SDouglas Anderson bias-disable; 832116f7cc4SDouglas Anderson }; 833116f7cc4SDouglas Anderson 834ec0872a6SKrzysztof Kozlowski fpmcu_boot0: fpmcu-boot0-state { 835116f7cc4SDouglas Anderson pins = "gpio68"; 836116f7cc4SDouglas Anderson function = "gpio"; 837116f7cc4SDouglas Anderson bias-disable; 838116f7cc4SDouglas Anderson }; 839116f7cc4SDouglas Anderson 840ec0872a6SKrzysztof Kozlowski gsc_ap_int_odl: gsc-ap-int-odl-state { 841116f7cc4SDouglas Anderson pins = "gpio104"; 842116f7cc4SDouglas Anderson function = "gpio"; 843116f7cc4SDouglas Anderson bias-pull-up; 844116f7cc4SDouglas Anderson }; 845116f7cc4SDouglas Anderson 846ec0872a6SKrzysztof Kozlowski hp_irq: hp-irq-state { 847116f7cc4SDouglas Anderson pins = "gpio101"; 848116f7cc4SDouglas Anderson function = "gpio"; 849116f7cc4SDouglas Anderson bias-pull-up; 850116f7cc4SDouglas Anderson }; 851116f7cc4SDouglas Anderson 852ec0872a6SKrzysztof Kozlowski hub_en: hub-en-state { 853116f7cc4SDouglas Anderson pins = "gpio157"; 854116f7cc4SDouglas Anderson function = "gpio"; 855116f7cc4SDouglas Anderson bias-disable; 856116f7cc4SDouglas Anderson drive-strength = <2>; 857116f7cc4SDouglas Anderson }; 858116f7cc4SDouglas Anderson 859ec0872a6SKrzysztof Kozlowski pe_wake_odl: pe-wake-odl-state { 860116f7cc4SDouglas Anderson pins = "gpio3"; 861116f7cc4SDouglas Anderson function = "gpio"; 862116f7cc4SDouglas Anderson /* Has external pull */ 863116f7cc4SDouglas Anderson bias-disable; 864116f7cc4SDouglas Anderson drive-strength = <2>; 865116f7cc4SDouglas Anderson }; 866116f7cc4SDouglas Anderson 867116f7cc4SDouglas Anderson /* For ap_spi_fp */ 868ec0872a6SKrzysztof Kozlowski qup_spi9_cs_gpio_init_high: qup-spi9-cs-gpio-init-high-state { 869116f7cc4SDouglas Anderson pins = "gpio39"; 870116f7cc4SDouglas Anderson function = "gpio"; 871116f7cc4SDouglas Anderson output-high; 872116f7cc4SDouglas Anderson }; 873116f7cc4SDouglas Anderson 874116f7cc4SDouglas Anderson /* For ap_ec_spi */ 875ec0872a6SKrzysztof Kozlowski qup_spi10_cs_gpio_init_high: qup-spi10-cs-gpio-init-high-state { 876116f7cc4SDouglas Anderson pins = "gpio43"; 877116f7cc4SDouglas Anderson function = "gpio"; 878116f7cc4SDouglas Anderson output-high; 879116f7cc4SDouglas Anderson }; 880116f7cc4SDouglas Anderson 881ec0872a6SKrzysztof Kozlowski sar0_irq_odl: sar0-irq-odl-state { 882116f7cc4SDouglas Anderson pins = "gpio141"; 883116f7cc4SDouglas Anderson function = "gpio"; 884116f7cc4SDouglas Anderson bias-pull-up; 885116f7cc4SDouglas Anderson }; 886116f7cc4SDouglas Anderson 887ec0872a6SKrzysztof Kozlowski sar1_irq_odl: sar1-irq-odl-state { 888116f7cc4SDouglas Anderson pins = "gpio140"; 889116f7cc4SDouglas Anderson function = "gpio"; 890116f7cc4SDouglas Anderson bias-pull-up; 891116f7cc4SDouglas Anderson }; 892116f7cc4SDouglas Anderson 893ec0872a6SKrzysztof Kozlowski sd_cd_odl: sd-cd-odl-state { 894116f7cc4SDouglas Anderson pins = "gpio91"; 895116f7cc4SDouglas Anderson function = "gpio"; 896116f7cc4SDouglas Anderson bias-pull-up; 897116f7cc4SDouglas Anderson }; 898116f7cc4SDouglas Anderson 899ec0872a6SKrzysztof Kozlowski ssd_en: ssd-en-state { 900116f7cc4SDouglas Anderson pins = "gpio51"; 901116f7cc4SDouglas Anderson function = "gpio"; 902116f7cc4SDouglas Anderson bias-disable; 903116f7cc4SDouglas Anderson drive-strength = <2>; 904116f7cc4SDouglas Anderson }; 905116f7cc4SDouglas Anderson 906ec0872a6SKrzysztof Kozlowski ssd_rst_l: ssd-rst-l-state { 907116f7cc4SDouglas Anderson pins = "gpio2"; 908116f7cc4SDouglas Anderson function = "gpio"; 909116f7cc4SDouglas Anderson bias-disable; 910116f7cc4SDouglas Anderson drive-strength = <2>; 911116f7cc4SDouglas Anderson output-low; 912116f7cc4SDouglas Anderson }; 913116f7cc4SDouglas Anderson 914ec0872a6SKrzysztof Kozlowski tp_int_odl: tp-int-odl-state { 915116f7cc4SDouglas Anderson pins = "gpio7"; 916116f7cc4SDouglas Anderson function = "gpio"; 917116f7cc4SDouglas Anderson /* Has external pullup */ 918116f7cc4SDouglas Anderson bias-disable; 919116f7cc4SDouglas Anderson }; 920116f7cc4SDouglas Anderson 921ec0872a6SKrzysztof Kozlowski wf_cam_en: wf-cam-en-state { 922116f7cc4SDouglas Anderson pins = "gpio119"; 923116f7cc4SDouglas Anderson function = "gpio"; 924116f7cc4SDouglas Anderson /* Has external pulldown */ 925116f7cc4SDouglas Anderson bias-disable; 926116f7cc4SDouglas Anderson drive-strength = <2>; 927116f7cc4SDouglas Anderson }; 928116f7cc4SDouglas Anderson}; 929