17ec3e673SRob Clark// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 27ec3e673SRob Clark/* 37ec3e673SRob Clark * Google Trogdor device tree source (common between revisions) 47ec3e673SRob Clark * 57ec3e673SRob Clark * Copyright 2019 Google LLC. 67ec3e673SRob Clark */ 77ec3e673SRob Clark 87ec3e673SRob Clark#include <dt-bindings/gpio/gpio.h> 95643caa8SStephen Boyd#include <dt-bindings/input/gpio-keys.h> 107ec3e673SRob Clark#include <dt-bindings/input/input.h> 1109143dd2SKrzysztof Kozlowski#include <dt-bindings/leds/common.h> 127ec3e673SRob Clark#include <dt-bindings/regulator/qcom,rpmh-regulator.h> 1329bd62eeSAjit Pandey#include <dt-bindings/sound/sc7180-lpass.h> 147ec3e673SRob Clark 1519794489SStephen Boyd#include "sc7180.dtsi" 164fb40b22SNikita Travkin#include "sc7180-firmware-tfa.dtsi" 1719794489SStephen Boyd/* PMICs depend on spmi_bus label and so must come after sc7180.dtsi */ 187ec3e673SRob Clark#include "pm6150.dtsi" 197ec3e673SRob Clark#include "pm6150l.dtsi" 207ec3e673SRob Clark 21bb06eb36SAntony Wang/ { 22bb06eb36SAntony Wang thermal-zones { 23e37584d1SMatthias Kaehlcke charger_thermal: charger-thermal { 24e4ffe8d5SMatthias Kaehlcke thermal-sensors = <&pm6150_adc_tm 0>; 25bb06eb36SAntony Wang 26bb06eb36SAntony Wang trips { 2738f3267dSMatthias Kaehlcke charger-crit { 28bb06eb36SAntony Wang temperature = <125000>; 29bb06eb36SAntony Wang hysteresis = <1000>; 30bb06eb36SAntony Wang type = "critical"; 31bb06eb36SAntony Wang }; 32bb06eb36SAntony Wang }; 33bb06eb36SAntony Wang }; 34bb06eb36SAntony Wang }; 3538f3267dSMatthias Kaehlcke}; 36bb06eb36SAntony Wang 377ec3e673SRob Clark/* 387ec3e673SRob Clark * Reserved memory changes 397ec3e673SRob Clark * 407ec3e673SRob Clark * Delete all unused memory nodes and define the peripheral memory regions 417ec3e673SRob Clark * required by the board dts. 427ec3e673SRob Clark */ 437ec3e673SRob Clark 447ec3e673SRob Clark/delete-node/ &hyp_mem; 45e6041464SStephen Boyd/delete-node/ &ipa_fw_mem; 467ec3e673SRob Clark/delete-node/ &xbl_mem; 477ec3e673SRob Clark/delete-node/ &aop_mem; 487ec3e673SRob Clark/delete-node/ &sec_apps_mem; 497ec3e673SRob Clark/delete-node/ &tz_mem; 507ec3e673SRob Clark 517ec3e673SRob Clark/* Increase the size from 2MB to 8MB */ 527ec3e673SRob Clark&rmtfs_mem { 53f66965b0SSujit Kautkar reg = <0x0 0x94600000 0x0 0x800000>; 547ec3e673SRob Clark}; 557ec3e673SRob Clark 567ec3e673SRob Clark/ { 577ec3e673SRob Clark reserved-memory { 587ec3e673SRob Clark atf_mem: memory@80b00000 { 597ec3e673SRob Clark reg = <0x0 0x80b00000 0x0 0x100000>; 607ec3e673SRob Clark no-map; 617ec3e673SRob Clark }; 627ec3e673SRob Clark 637ec3e673SRob Clark mpss_mem: memory@86000000 { 64ef9a5d18SSibi Sankar reg = <0x0 0x86000000 0x0 0x2000000>; 657ec3e673SRob Clark no-map; 667ec3e673SRob Clark }; 677ec3e673SRob Clark 687ec3e673SRob Clark venus_mem: memory@8f600000 { 697ec3e673SRob Clark reg = <0 0x8f600000 0 0x500000>; 707ec3e673SRob Clark no-map; 717ec3e673SRob Clark }; 727ec3e673SRob Clark 737ec3e673SRob Clark wlan_mem: memory@94100000 { 747ec3e673SRob Clark reg = <0x0 0x94100000 0x0 0x200000>; 757ec3e673SRob Clark no-map; 767ec3e673SRob Clark }; 777ec3e673SRob Clark 787ec3e673SRob Clark mba_mem: memory@94400000 { 797ec3e673SRob Clark reg = <0x0 0x94400000 0x0 0x200000>; 807ec3e673SRob Clark no-map; 817ec3e673SRob Clark }; 82cb0eaae8SSibi Sankar 83cb0eaae8SSibi Sankar mdata_mem: mpss-metadata { 84cb0eaae8SSibi Sankar alloc-ranges = <0x0 0xa0000000 0x0 0x20000000>; 85cb0eaae8SSibi Sankar size = <0x0 0x4000>; 86cb0eaae8SSibi Sankar no-map; 87cb0eaae8SSibi Sankar }; 887ec3e673SRob Clark }; 897ec3e673SRob Clark 907ec3e673SRob Clark aliases { 917ec3e673SRob Clark bluetooth0 = &bluetooth; 927ec3e673SRob Clark hsuart0 = &uart3; 937ec3e673SRob Clark serial0 = &uart8; 947ec3e673SRob Clark wifi0 = &wifi; 957ec3e673SRob Clark }; 967ec3e673SRob Clark 977ec3e673SRob Clark chosen { 987ec3e673SRob Clark stdout-path = "serial0:115200n8"; 997ec3e673SRob Clark }; 1007ec3e673SRob Clark 1017ec3e673SRob Clark /* FIXED REGULATORS - parents above children */ 1027ec3e673SRob Clark 1037ec3e673SRob Clark /* This is the top level supply and variable voltage */ 1047ec3e673SRob Clark ppvar_sys: ppvar-sys-regulator { 1057ec3e673SRob Clark compatible = "regulator-fixed"; 1067ec3e673SRob Clark regulator-name = "ppvar_sys"; 1077ec3e673SRob Clark regulator-always-on; 1087ec3e673SRob Clark regulator-boot-on; 1097ec3e673SRob Clark }; 1107ec3e673SRob Clark 1117ec3e673SRob Clark /* This divides ppvar_sys by 2, so voltage is variable */ 1127ec3e673SRob Clark src_vph_pwr: src-vph-pwr-regulator { 1137ec3e673SRob Clark compatible = "regulator-fixed"; 1147ec3e673SRob Clark regulator-name = "src_vph_pwr"; 1157ec3e673SRob Clark 1167ec3e673SRob Clark /* EC turns on with switchcap_on; always on for AP */ 1177ec3e673SRob Clark regulator-always-on; 1187ec3e673SRob Clark regulator-boot-on; 1197ec3e673SRob Clark 1207ec3e673SRob Clark vin-supply = <&ppvar_sys>; 1217ec3e673SRob Clark }; 1227ec3e673SRob Clark 1237ec3e673SRob Clark pp5000_a: pp5000-a-regulator { 1247ec3e673SRob Clark compatible = "regulator-fixed"; 1257ec3e673SRob Clark regulator-name = "pp5000_a"; 1267ec3e673SRob Clark 1277ec3e673SRob Clark /* EC turns on with en_pp5000_a; always on for AP */ 1287ec3e673SRob Clark regulator-always-on; 1297ec3e673SRob Clark regulator-boot-on; 1307ec3e673SRob Clark regulator-min-microvolt = <5000000>; 1317ec3e673SRob Clark regulator-max-microvolt = <5000000>; 1327ec3e673SRob Clark 1337ec3e673SRob Clark vin-supply = <&ppvar_sys>; 1347ec3e673SRob Clark }; 1357ec3e673SRob Clark 1367ec3e673SRob Clark pp3300_a: pp3300-a-regulator { 1377ec3e673SRob Clark compatible = "regulator-fixed"; 1387ec3e673SRob Clark regulator-name = "pp3300_a"; 1397ec3e673SRob Clark 1407ec3e673SRob Clark /* EC turns on with en_pp3300_a; always on for AP */ 1417ec3e673SRob Clark regulator-always-on; 1427ec3e673SRob Clark regulator-boot-on; 1437ec3e673SRob Clark regulator-min-microvolt = <3300000>; 1447ec3e673SRob Clark regulator-max-microvolt = <3300000>; 1457ec3e673SRob Clark 1467ec3e673SRob Clark /* 1477ec3e673SRob Clark * Actually should be pp3300 but that's practically an alias for 1487ec3e673SRob Clark * pp3300_a so we use pp3300's vin-supply here to avoid one more 1497ec3e673SRob Clark * node. 1507ec3e673SRob Clark */ 1517ec3e673SRob Clark vin-supply = <&ppvar_sys>; 1527ec3e673SRob Clark }; 1537ec3e673SRob Clark 154bb59462eSStephen Boyd pp1800_ec: 155bb59462eSStephen Boyd pp1800_sensors: 156bb59462eSStephen Boyd pp1800_ldo: pp1800-ldo-regulator { 157bb59462eSStephen Boyd compatible = "regulator-fixed"; 158bb59462eSStephen Boyd regulator-name = "pp1800_ldo"; 159bb59462eSStephen Boyd 160bb59462eSStephen Boyd /* EC turns on with hibernate_l; always on for AP */ 161bb59462eSStephen Boyd regulator-always-on; 162bb59462eSStephen Boyd regulator-boot-on; 163bb59462eSStephen Boyd regulator-min-microvolt = <1800000>; 164bb59462eSStephen Boyd regulator-max-microvolt = <1800000>; 165bb59462eSStephen Boyd 166bb59462eSStephen Boyd /* 167bb59462eSStephen Boyd * Actually should be pp1800_h1 but we don't have any need to 168bb59462eSStephen Boyd * model that so we use the parent of pp1800_h1. 169bb59462eSStephen Boyd */ 170bb59462eSStephen Boyd vin-supply = <&pp3300_a>; 171bb59462eSStephen Boyd }; 172bb59462eSStephen Boyd 173bb59462eSStephen Boyd pp1800_uf_cam: pp1800-uf-cam-regulator { 174bb59462eSStephen Boyd compatible = "regulator-fixed"; 175bb59462eSStephen Boyd regulator-name = "pp1800_uf_cam"; 176bb59462eSStephen Boyd status = "disabled"; 177bb59462eSStephen Boyd 178bb59462eSStephen Boyd regulator-min-microvolt = <1800000>; 179bb59462eSStephen Boyd regulator-max-microvolt = <1800000>; 180bb59462eSStephen Boyd 181bb59462eSStephen Boyd gpio = <&tlmm 6 GPIO_ACTIVE_HIGH>; 182bb59462eSStephen Boyd enable-active-high; 183bb59462eSStephen Boyd pinctrl-names = "default"; 184bb59462eSStephen Boyd pinctrl-0 = <&uf_cam_en>; 185bb59462eSStephen Boyd 186bb59462eSStephen Boyd vin-supply = <&pp1800_ldo>; 187bb59462eSStephen Boyd regulator-enable-ramp-delay = <1000>; 188bb59462eSStephen Boyd }; 189bb59462eSStephen Boyd 190bb59462eSStephen Boyd pp1800_wf_cam: pp1800-wf-cam-regulator { 191bb59462eSStephen Boyd compatible = "regulator-fixed"; 192bb59462eSStephen Boyd regulator-name = "pp1800_wf_cam"; 193bb59462eSStephen Boyd status = "disabled"; 194bb59462eSStephen Boyd 195bb59462eSStephen Boyd regulator-min-microvolt = <1800000>; 196bb59462eSStephen Boyd regulator-max-microvolt = <1800000>; 197bb59462eSStephen Boyd 198bb59462eSStephen Boyd gpio = <&tlmm 7 GPIO_ACTIVE_HIGH>; 199bb59462eSStephen Boyd enable-active-high; 200bb59462eSStephen Boyd pinctrl-names = "default"; 201bb59462eSStephen Boyd pinctrl-0 = <&wf_cam_en>; 202bb59462eSStephen Boyd 203bb59462eSStephen Boyd vin-supply = <&pp1800_ldo>; 204bb59462eSStephen Boyd regulator-enable-ramp-delay = <1000>; 205bb59462eSStephen Boyd }; 206bb59462eSStephen Boyd 207bb59462eSStephen Boyd pp2800_uf_cam: pp2800-uf-cam-regulator { 208bb59462eSStephen Boyd compatible = "regulator-fixed"; 209bb59462eSStephen Boyd regulator-name = "pp2800_uf_cam"; 210bb59462eSStephen Boyd status = "disabled"; 211bb59462eSStephen Boyd 212bb59462eSStephen Boyd regulator-min-microvolt = <2850000>; 213bb59462eSStephen Boyd regulator-max-microvolt = <2850000>; 214bb59462eSStephen Boyd 215bb59462eSStephen Boyd gpio = <&tlmm 6 GPIO_ACTIVE_HIGH>; 216bb59462eSStephen Boyd enable-active-high; 217bb59462eSStephen Boyd /* 218bb59462eSStephen Boyd * The pinconf can only be referenced once so we put it on the 219bb59462eSStephen Boyd * first regulator and comment it out here. 220bb59462eSStephen Boyd * pinctrl-names = "default"; 221bb59462eSStephen Boyd * pinctrl-0 = <&uf_cam_en>; 222bb59462eSStephen Boyd */ 223bb59462eSStephen Boyd 224bb59462eSStephen Boyd vin-supply = <&pp3300_a>; 225bb59462eSStephen Boyd }; 226bb59462eSStephen Boyd 227bb59462eSStephen Boyd pp2800_vcm_wf_cam: 228bb59462eSStephen Boyd pp2800_wf_cam: pp2800-wf-cam-regulator { 229bb59462eSStephen Boyd compatible = "regulator-fixed"; 230bb59462eSStephen Boyd regulator-name = "pp2800_wf_cam"; 231bb59462eSStephen Boyd status = "disabled"; 232bb59462eSStephen Boyd 233bb59462eSStephen Boyd regulator-min-microvolt = <2850000>; 234bb59462eSStephen Boyd regulator-max-microvolt = <2850000>; 235bb59462eSStephen Boyd 236bb59462eSStephen Boyd gpio = <&tlmm 7 GPIO_ACTIVE_HIGH>; 237bb59462eSStephen Boyd enable-active-high; 238bb59462eSStephen Boyd /* 239bb59462eSStephen Boyd * The pinconf can only be referenced once so we put it on the 240bb59462eSStephen Boyd * first regulator and comment it out here. 241bb59462eSStephen Boyd * pinctrl-names = "default"; 242bb59462eSStephen Boyd * pinctrl-0 = <&wf_cam_en>; 243bb59462eSStephen Boyd */ 244bb59462eSStephen Boyd 245bb59462eSStephen Boyd vin-supply = <&pp3300_a>; 246bb59462eSStephen Boyd }; 247bb59462eSStephen Boyd 2487ec3e673SRob Clark pp3300_audio: 2497ec3e673SRob Clark pp3300_codec: pp3300-codec-regulator { 2507ec3e673SRob Clark compatible = "regulator-fixed"; 2517ec3e673SRob Clark regulator-name = "pp3300_codec"; 2527ec3e673SRob Clark 2537ec3e673SRob Clark regulator-min-microvolt = <3300000>; 2547ec3e673SRob Clark regulator-max-microvolt = <3300000>; 2557ec3e673SRob Clark 2567ec3e673SRob Clark gpio = <&tlmm 83 GPIO_ACTIVE_HIGH>; 2577ec3e673SRob Clark enable-active-high; 2587ec3e673SRob Clark pinctrl-names = "default"; 2597ec3e673SRob Clark pinctrl-0 = <&en_pp3300_codec>; 2607ec3e673SRob Clark 2617ec3e673SRob Clark vin-supply = <&pp3300_a>; 2627ec3e673SRob Clark }; 2637ec3e673SRob Clark 2647ec3e673SRob Clark pp3300_dx_edp: 2657ec3e673SRob Clark pp3300_ts: pp3300-dx-edp-regulator { 2667ec3e673SRob Clark compatible = "regulator-fixed"; 2677ec3e673SRob Clark regulator-name = "pp3300_dx_edp"; 2687ec3e673SRob Clark 2697ec3e673SRob Clark regulator-min-microvolt = <3300000>; 2707ec3e673SRob Clark regulator-max-microvolt = <3300000>; 2717ec3e673SRob Clark 2727ec3e673SRob Clark gpio = <&tlmm 30 GPIO_ACTIVE_HIGH>; 2737ec3e673SRob Clark enable-active-high; 2747ec3e673SRob Clark pinctrl-names = "default"; 2757ec3e673SRob Clark pinctrl-0 = <&en_pp3300_dx_edp>; 2767ec3e673SRob Clark 2777ec3e673SRob Clark vin-supply = <&pp3300_a>; 2787ec3e673SRob Clark }; 2797ec3e673SRob Clark 2807ec3e673SRob Clark pp3300_fp_tp: pp3300-fp-tp-regulator { 2817ec3e673SRob Clark compatible = "regulator-fixed"; 2827ec3e673SRob Clark regulator-name = "pp3300_fp_tp"; 2837ec3e673SRob Clark 2847ec3e673SRob Clark regulator-min-microvolt = <3300000>; 2857ec3e673SRob Clark regulator-max-microvolt = <3300000>; 2867ec3e673SRob Clark 2877ec3e673SRob Clark /* AP turns on with PP1800_VIO_OUT; always on for AP */ 2887ec3e673SRob Clark regulator-always-on; 2897ec3e673SRob Clark regulator-boot-on; 2907ec3e673SRob Clark 2917ec3e673SRob Clark vin-supply = <&pp3300_a>; 2927ec3e673SRob Clark }; 2937ec3e673SRob Clark 294171bac46SDouglas Anderson pp3300_hub: pp3300-hub-regulator { 295066c2a94SMatthias Kaehlcke compatible = "regulator-fixed"; 296066c2a94SMatthias Kaehlcke regulator-name = "pp3300_hub"; 297066c2a94SMatthias Kaehlcke 298066c2a94SMatthias Kaehlcke regulator-min-microvolt = <3300000>; 299066c2a94SMatthias Kaehlcke regulator-max-microvolt = <3300000>; 300066c2a94SMatthias Kaehlcke 301066c2a94SMatthias Kaehlcke gpio = <&tlmm 84 GPIO_ACTIVE_HIGH>; 302066c2a94SMatthias Kaehlcke enable-active-high; 303066c2a94SMatthias Kaehlcke pinctrl-names = "default"; 304066c2a94SMatthias Kaehlcke pinctrl-0 = <&en_pp3300_hub>; 305066c2a94SMatthias Kaehlcke 306a73dd03bSMatthias Kaehlcke /* The BIOS leaves this regulator on */ 307066c2a94SMatthias Kaehlcke regulator-boot-on; 308066c2a94SMatthias Kaehlcke 309066c2a94SMatthias Kaehlcke vin-supply = <&pp3300_a>; 310066c2a94SMatthias Kaehlcke }; 311066c2a94SMatthias Kaehlcke 3127ec3e673SRob Clark /* BOARD-SPECIFIC TOP LEVEL NODES */ 3137ec3e673SRob Clark 3147ec3e673SRob Clark backlight: backlight { 3157ec3e673SRob Clark compatible = "pwm-backlight"; 3167ec3e673SRob Clark 317ab8e32daSAlexandru Stan /* The panels don't seem to like anything below ~ 5% */ 318ab8e32daSAlexandru Stan brightness-levels = < 319ab8e32daSAlexandru Stan 196 256 324 400 484 576 676 784 900 1024 1156 1296 320ab8e32daSAlexandru Stan 1444 1600 1764 1936 2116 2304 2500 2704 2916 3136 321ab8e32daSAlexandru Stan 3364 3600 3844 4096 322ab8e32daSAlexandru Stan >; 323ab8e32daSAlexandru Stan num-interpolated-steps = <64>; 324ab8e32daSAlexandru Stan default-brightness-level = <951>; 325ab8e32daSAlexandru Stan 3267ec3e673SRob Clark pwms = <&cros_ec_pwm 1>; 3277ec3e673SRob Clark enable-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>; 3287ec3e673SRob Clark power-supply = <&ppvar_sys>; 3297ec3e673SRob Clark pinctrl-names = "default"; 3307ec3e673SRob Clark pinctrl-0 = <&ap_edp_bklten>; 3317ec3e673SRob Clark }; 3327ec3e673SRob Clark 3337ec3e673SRob Clark gpio_keys: gpio-keys { 3347ec3e673SRob Clark compatible = "gpio-keys"; 3357ec3e673SRob Clark status = "disabled"; 3367ec3e673SRob Clark pinctrl-names = "default"; 3377ec3e673SRob Clark pinctrl-0 = <&pen_pdct_l>; 3387ec3e673SRob Clark 339b08f5cbdSKrzysztof Kozlowski pen_insert: switch-pen-insert { 3407ec3e673SRob Clark label = "Pen Insert"; 3417ec3e673SRob Clark 3427ec3e673SRob Clark /* Insert = low, eject = high */ 3437ec3e673SRob Clark gpios = <&tlmm 52 GPIO_ACTIVE_LOW>; 3447ec3e673SRob Clark linux,code = <SW_PEN_INSERTED>; 3457ec3e673SRob Clark linux,input-type = <EV_SW>; 3465643caa8SStephen Boyd wakeup-event-action = <EV_ACT_DEASSERTED>; 3477ec3e673SRob Clark wakeup-source; 3487ec3e673SRob Clark }; 3497ec3e673SRob Clark }; 3507ec3e673SRob Clark 3514f365c75SJudy Hsiao max98360a: audio-codec-0 { 3524f365c75SJudy Hsiao compatible = "maxim,max98360a"; 3537ec3e673SRob Clark pinctrl-names = "default"; 3547ec3e673SRob Clark pinctrl-0 = <&_en>; 3557ec3e673SRob Clark sdmode-gpios = <&tlmm 23 GPIO_ACTIVE_HIGH>; 3567ec3e673SRob Clark #sound-dai-cells = <0>; 3577ec3e673SRob Clark }; 3587ec3e673SRob Clark 359*99e94768SNícolas F. R. A. Prado pwmleds: pwmleds { 3607ec3e673SRob Clark compatible = "pwm-leds"; 3617ec3e673SRob Clark status = "disabled"; 362*99e94768SNícolas F. R. A. Prado 363*99e94768SNícolas F. R. A. Prado keyboard_backlight: led-0 { 3647ec3e673SRob Clark label = "cros_ec::kbd_backlight"; 36509143dd2SKrzysztof Kozlowski function = LED_FUNCTION_KBD_BACKLIGHT; 3667ec3e673SRob Clark pwms = <&cros_ec_pwm 0>; 3677ec3e673SRob Clark max-brightness = <1023>; 3687ec3e673SRob Clark }; 3697ec3e673SRob Clark }; 37029bd62eeSAjit Pandey 37129bd62eeSAjit Pandey sound: sound { 37229bd62eeSAjit Pandey compatible = "google,sc7180-trogdor"; 37329bd62eeSAjit Pandey 37429bd62eeSAjit Pandey audio-routing = 37529bd62eeSAjit Pandey "Headphone Jack", "HPOL", 37629bd62eeSAjit Pandey "Headphone Jack", "HPOR"; 37729bd62eeSAjit Pandey 37829bd62eeSAjit Pandey #address-cells = <1>; 37929bd62eeSAjit Pandey #size-cells = <0>; 38029bd62eeSAjit Pandey 38129bd62eeSAjit Pandey dai-link@0 { 38229bd62eeSAjit Pandey link-name = "MultiMedia0"; 38329bd62eeSAjit Pandey reg = <MI2S_PRIMARY>; 38429bd62eeSAjit Pandey cpu { 38529bd62eeSAjit Pandey sound-dai = <&lpass_cpu MI2S_PRIMARY>; 38629bd62eeSAjit Pandey }; 38729bd62eeSAjit Pandey 38829bd62eeSAjit Pandey sound_multimedia0_codec: codec { 38929bd62eeSAjit Pandey sound-dai = <&alc5682 0 /* aif1 */>; 39029bd62eeSAjit Pandey }; 39129bd62eeSAjit Pandey }; 39229bd62eeSAjit Pandey 39329bd62eeSAjit Pandey dai-link@1 { 39429bd62eeSAjit Pandey link-name = "MultiMedia1"; 39529bd62eeSAjit Pandey reg = <MI2S_SECONDARY>; 39629bd62eeSAjit Pandey cpu { 39729bd62eeSAjit Pandey sound-dai = <&lpass_cpu MI2S_SECONDARY>; 39829bd62eeSAjit Pandey }; 39929bd62eeSAjit Pandey 40029bd62eeSAjit Pandey sound_multimedia1_codec: codec { 4014f365c75SJudy Hsiao sound-dai = <&max98360a>; 40229bd62eeSAjit Pandey }; 40329bd62eeSAjit Pandey }; 404b22d313eSV Sujith Kumar Reddy 4050a91caceSStephen Boyd dai-link@5 { 406b22d313eSV Sujith Kumar Reddy link-name = "MultiMedia2"; 4070a91caceSStephen Boyd reg = <LPASS_DP_RX>; 408b22d313eSV Sujith Kumar Reddy cpu { 4090a91caceSStephen Boyd sound-dai = <&lpass_cpu LPASS_DP_RX>; 410b22d313eSV Sujith Kumar Reddy }; 411b22d313eSV Sujith Kumar Reddy 412b22d313eSV Sujith Kumar Reddy codec { 413b22d313eSV Sujith Kumar Reddy sound-dai = <&mdss_dp>; 414b22d313eSV Sujith Kumar Reddy }; 415b22d313eSV Sujith Kumar Reddy }; 41629bd62eeSAjit Pandey }; 4177ec3e673SRob Clark}; 4187ec3e673SRob Clark 4197ec3e673SRob Clark&qfprom { 4207ec3e673SRob Clark vcc-supply = <&pp1800_l11a>; 4217ec3e673SRob Clark}; 4227ec3e673SRob Clark 4237ec3e673SRob Clark&qspi { 4247ec3e673SRob Clark status = "okay"; 425ab752f03SDouglas Anderson pinctrl-names = "default", "sleep"; 426ab752f03SDouglas Anderson pinctrl-0 = <&qspi_clk>, <&qspi_cs0>, <&qspi_data0>, <&qspi_data1>; 427ab752f03SDouglas Anderson pinctrl-1 = <&qspi_sleep>; 4287ec3e673SRob Clark 4297ec3e673SRob Clark flash@0 { 4307ec3e673SRob Clark compatible = "jedec,spi-nor"; 4317ec3e673SRob Clark reg = <0>; 4327ec3e673SRob Clark 433729046d4SStephen Boyd spi-max-frequency = <37500000>; 4347ec3e673SRob Clark spi-tx-bus-width = <2>; 4357ec3e673SRob Clark spi-rx-bus-width = <2>; 4367ec3e673SRob Clark }; 4377ec3e673SRob Clark}; 4387ec3e673SRob Clark 4397ec3e673SRob Clark&apps_rsc { 440adfb9d68SKrzysztof Kozlowski regulators-0 { 4417ec3e673SRob Clark compatible = "qcom,pm6150-rpmh-regulators"; 4427ec3e673SRob Clark qcom,pmic-id = "a"; 4437ec3e673SRob Clark 4447ec3e673SRob Clark vddpx_1: 4457ec3e673SRob Clark vdd2: 4467ec3e673SRob Clark pp1125_s1a: smps1 { 4477ec3e673SRob Clark regulator-min-microvolt = <1128000>; 4487ec3e673SRob Clark regulator-max-microvolt = <1128000>; 4497ec3e673SRob Clark }; 4507ec3e673SRob Clark 4517ec3e673SRob Clark vdd_qlink_lv: 4527ec3e673SRob Clark vdd_qlink_lv_ck: 4537ec3e673SRob Clark vdd_qusb_hs0_core: 4547ec3e673SRob Clark vdd_ufs1_core: 4557ec3e673SRob Clark vdda_mipi_csi0_0p9: 4567ec3e673SRob Clark vdda_mipi_csi1_0p9: 4577ec3e673SRob Clark vdda_mipi_csi2_0p9: 4587ec3e673SRob Clark vdda_mipi_csi3_0p9: 4597ec3e673SRob Clark vdda_mipi_dsi0_pll: 4607ec3e673SRob Clark vdda_pll_cc_ebi01: 4617ec3e673SRob Clark vdda_qrefs_0p9: 4627ec3e673SRob Clark vdda_usb_ss_dp_core: 4637ec3e673SRob Clark pp900_l4a: ldo4 { 4647ec3e673SRob Clark regulator-min-microvolt = <824000>; 4657ec3e673SRob Clark regulator-max-microvolt = <928000>; 4667ec3e673SRob Clark regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 4677ec3e673SRob Clark }; 4687ec3e673SRob Clark 4697ec3e673SRob Clark vdd_cx_wlan: 4707ec3e673SRob Clark pp800_l9a: ldo9 { 4717ec3e673SRob Clark regulator-min-microvolt = <488000>; 4727ec3e673SRob Clark regulator-max-microvolt = <800000>; 4737ec3e673SRob Clark regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 4747ec3e673SRob Clark }; 4757ec3e673SRob Clark 4767ec3e673SRob Clark vdd1: 4777ec3e673SRob Clark vddpx_3: 4787ec3e673SRob Clark vddpx_7: 4797ec3e673SRob Clark vio_in: 4807ec3e673SRob Clark pp1800_l10a: ldo10 { 4817ec3e673SRob Clark regulator-min-microvolt = <1800000>; 4827ec3e673SRob Clark regulator-max-microvolt = <1800000>; 4837ec3e673SRob Clark regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 4847ec3e673SRob Clark }; 4857ec3e673SRob Clark 4867ec3e673SRob Clark vdd_qfprom: 4877ec3e673SRob Clark vdda_apc1_cs_1p8: 4887ec3e673SRob Clark vdda_qrefs_1p8: 4897ec3e673SRob Clark vdda_qusb_hs0_1p8: 4907ec3e673SRob Clark vddpx_11: 4917ec3e673SRob Clark vreg_bb_clk: 4927ec3e673SRob Clark pp1800_l11a: ldo11 { 4937ec3e673SRob Clark regulator-min-microvolt = <1800000>; 4947ec3e673SRob Clark regulator-max-microvolt = <1800000>; 4957ec3e673SRob Clark regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 4967ec3e673SRob Clark }; 4977ec3e673SRob Clark 4987ec3e673SRob Clark mcp_vccq: 4997ec3e673SRob Clark pp1800_l12a_r: ldo12 { 5007ec3e673SRob Clark regulator-min-microvolt = <1800000>; 5017ec3e673SRob Clark regulator-max-microvolt = <1800000>; 5027ec3e673SRob Clark regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 5037ec3e673SRob Clark }; 5047ec3e673SRob Clark 505e5376f2eSDouglas Anderson /* 506e5376f2eSDouglas Anderson * On trogdor this needs to match l10a since we use it to 507e5376f2eSDouglas Anderson * give power to things like SPI flash which communicate back 508e5376f2eSDouglas Anderson * on lines powered by l10a. Thus we force to 1.8V. 509e5376f2eSDouglas Anderson */ 5107ec3e673SRob Clark pp1800_l13a: ldo13 { 5117ec3e673SRob Clark regulator-min-microvolt = <1800000>; 5127ec3e673SRob Clark regulator-max-microvolt = <1800000>; 5137ec3e673SRob Clark regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 514ced32c29SDouglas Anderson regulator-always-on; 515ced32c29SDouglas Anderson regulator-boot-on; 5167ec3e673SRob Clark }; 5177ec3e673SRob Clark 5187ec3e673SRob Clark pp1800_prox: 5197ec3e673SRob Clark pp1800_l14a: ldo14 { 5207ec3e673SRob Clark regulator-min-microvolt = <1800000>; 5217ec3e673SRob Clark regulator-max-microvolt = <1800000>; 5227ec3e673SRob Clark regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 5237ec3e673SRob Clark }; 5247ec3e673SRob Clark 5257ec3e673SRob Clark pp1800_alc5682: 5267ec3e673SRob Clark pp1800_l15a: ldo15 { 5277ec3e673SRob Clark regulator-min-microvolt = <1800000>; 5287ec3e673SRob Clark regulator-max-microvolt = <1800000>; 5297ec3e673SRob Clark regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 5307ec3e673SRob Clark }; 5317ec3e673SRob Clark 5327ec3e673SRob Clark vdda_qusb_hs0_3p1: 5337ec3e673SRob Clark vdd_pdphy: 5347ec3e673SRob Clark pp3100_l17a: ldo17 { 5357ec3e673SRob Clark regulator-min-microvolt = <2920000>; 5367ec3e673SRob Clark regulator-max-microvolt = <3232000>; 5377ec3e673SRob Clark regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 5387ec3e673SRob Clark }; 5397ec3e673SRob Clark 5407ec3e673SRob Clark pp1800_pen: 5417ec3e673SRob Clark pp1800_l18a: ldo18 { 5427ec3e673SRob Clark regulator-min-microvolt = <1800000>; 5437ec3e673SRob Clark regulator-max-microvolt = <1800000>; 5447ec3e673SRob Clark regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 5457ec3e673SRob Clark }; 5467ec3e673SRob Clark 5477ec3e673SRob Clark mcp_vcc: 5487ec3e673SRob Clark pp2850_l19a: ldo19 { 5497ec3e673SRob Clark regulator-min-microvolt = <2960000>; 5507ec3e673SRob Clark regulator-max-microvolt = <2960000>; 5517ec3e673SRob Clark regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 5527ec3e673SRob Clark }; 5537ec3e673SRob Clark }; 5547ec3e673SRob Clark 555adfb9d68SKrzysztof Kozlowski regulators-1 { 5567ec3e673SRob Clark compatible = "qcom,pm6150l-rpmh-regulators"; 5577ec3e673SRob Clark qcom,pmic-id = "c"; 5587ec3e673SRob Clark 5597ec3e673SRob Clark pp1300_s8c: smps8 { 5607ec3e673SRob Clark regulator-min-microvolt = <1120000>; 5617ec3e673SRob Clark regulator-max-microvolt = <1408000>; 5627ec3e673SRob Clark }; 5637ec3e673SRob Clark 5647ec3e673SRob Clark pp1800_l1c: ldo1 { 565e5376f2eSDouglas Anderson regulator-min-microvolt = <1616000>; 566e5376f2eSDouglas Anderson regulator-max-microvolt = <1984000>; 5677ec3e673SRob Clark regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 5687ec3e673SRob Clark }; 5697ec3e673SRob Clark 5707ec3e673SRob Clark vdd_wcss_adc_dac: 5717ec3e673SRob Clark pp1300_l2c: ldo2 { 5727ec3e673SRob Clark regulator-min-microvolt = <1168000>; 5737ec3e673SRob Clark regulator-max-microvolt = <1304000>; 5747ec3e673SRob Clark regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 5757ec3e673SRob Clark }; 5767ec3e673SRob Clark 5777ec3e673SRob Clark pp1200_brij: 5787ec3e673SRob Clark vdd_ufs1_1p2: 5797ec3e673SRob Clark vdda_csi0_1p25: 5807ec3e673SRob Clark vdda_csi1_1p25: 5817ec3e673SRob Clark vdda_csi2_1p25: 5827ec3e673SRob Clark vdda_csi3_1p25: 5837ec3e673SRob Clark vdda_hv_ebi0: 5847ec3e673SRob Clark vdda_mipi_dsi0_1p2: 5857ec3e673SRob Clark vdda_usb_ss_dp_1p2: 5867ec3e673SRob Clark vddpx_10: 5877ec3e673SRob Clark pp1200_l3c: ldo3 { 5887ec3e673SRob Clark regulator-min-microvolt = <1200000>; 5897ec3e673SRob Clark regulator-max-microvolt = <1200000>; 5907ec3e673SRob Clark regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 5917ec3e673SRob Clark }; 5927ec3e673SRob Clark 5937ec3e673SRob Clark vddpx_2: 5947ec3e673SRob Clark ppvar_l6c: ldo6 { 5957ec3e673SRob Clark regulator-min-microvolt = <1800000>; 596465b13ccSDouglas Anderson regulator-max-microvolt = <2952000>; 5977ec3e673SRob Clark regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 5987ec3e673SRob Clark }; 5997ec3e673SRob Clark 6007ec3e673SRob Clark pp3300_l7c: ldo7 { 6017ec3e673SRob Clark regulator-min-microvolt = <3304000>; 6027ec3e673SRob Clark regulator-max-microvolt = <3304000>; 6037ec3e673SRob Clark regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 6047ec3e673SRob Clark }; 6057ec3e673SRob Clark 6067ec3e673SRob Clark pp1800_brij_vccio: 6077ec3e673SRob Clark pp1800_edp_vpll: 6087ec3e673SRob Clark pp1800_l8c: ldo8 { 6097ec3e673SRob Clark regulator-min-microvolt = <1800000>; 6107ec3e673SRob Clark regulator-max-microvolt = <1800000>; 6117ec3e673SRob Clark regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 6127ec3e673SRob Clark }; 6137ec3e673SRob Clark 6147ec3e673SRob Clark pp2950_l9c: ldo9 { 6157ec3e673SRob Clark regulator-min-microvolt = <2952000>; 6167ec3e673SRob Clark regulator-max-microvolt = <2952000>; 6177ec3e673SRob Clark regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 6187ec3e673SRob Clark }; 6197ec3e673SRob Clark 6207ec3e673SRob Clark pp3300_l10c: ldo10 { 6217ec3e673SRob Clark regulator-min-microvolt = <3000000>; 6227ec3e673SRob Clark regulator-max-microvolt = <3400000>; 6237ec3e673SRob Clark regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 6247ec3e673SRob Clark }; 6257ec3e673SRob Clark 6267ec3e673SRob Clark pp3300_l11c: ldo11 { 6277ec3e673SRob Clark regulator-min-microvolt = <3000000>; 6287ec3e673SRob Clark regulator-max-microvolt = <3400000>; 6297ec3e673SRob Clark regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 6307ec3e673SRob Clark }; 6317ec3e673SRob Clark 6327ec3e673SRob Clark src_vreg_bob: bob { 6337ec3e673SRob Clark regulator-min-microvolt = <3008000>; 6347ec3e673SRob Clark regulator-max-microvolt = <3960000>; 6357ec3e673SRob Clark regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>; 6367ec3e673SRob Clark }; 6377ec3e673SRob Clark }; 6387ec3e673SRob Clark}; 6397ec3e673SRob Clark 640d277cab7SStephen Boydap_ec_spi: &spi6 { 6417ec3e673SRob Clark status = "okay"; 6427ec3e673SRob Clark cros_ec: ec@0 { 6437ec3e673SRob Clark compatible = "google,cros-ec-spi"; 6447ec3e673SRob Clark reg = <0>; 6457ec3e673SRob Clark interrupt-parent = <&tlmm>; 6467ec3e673SRob Clark interrupts = <94 IRQ_TYPE_LEVEL_LOW>; 6477ec3e673SRob Clark pinctrl-names = "default"; 6487ec3e673SRob Clark pinctrl-0 = <&ap_ec_int_l>; 6497ec3e673SRob Clark spi-max-frequency = <3000000>; 650f172a341SMark Hasemeyer wakeup-source; 6517ec3e673SRob Clark 6521e49defbSKrzysztof Kozlowski cros_ec_pwm: pwm { 6537ec3e673SRob Clark compatible = "google,cros-ec-pwm"; 6547ec3e673SRob Clark #pwm-cells = <1>; 6557ec3e673SRob Clark }; 6567ec3e673SRob Clark 6577ec3e673SRob Clark i2c_tunnel: i2c-tunnel { 6587ec3e673SRob Clark compatible = "google,cros-ec-i2c-tunnel"; 6597ec3e673SRob Clark google,remote-bus = <0>; 6607ec3e673SRob Clark #address-cells = <1>; 6617ec3e673SRob Clark #size-cells = <0>; 6627ec3e673SRob Clark }; 6637ec3e673SRob Clark 6647ec3e673SRob Clark typec { 6657ec3e673SRob Clark compatible = "google,cros-ec-typec"; 6667ec3e673SRob Clark #address-cells = <1>; 6677ec3e673SRob Clark #size-cells = <0>; 6687ec3e673SRob Clark 6697c6d828eSStephen Boyd usb_c0: connector@0 { 6707ec3e673SRob Clark compatible = "usb-c-connector"; 6717ec3e673SRob Clark reg = <0>; 6727ec3e673SRob Clark label = "left"; 6737ec3e673SRob Clark power-role = "dual"; 6747ec3e673SRob Clark data-role = "host"; 6757ec3e673SRob Clark try-power-role = "source"; 6767ec3e673SRob Clark }; 6777ec3e673SRob Clark 6787c6d828eSStephen Boyd usb_c1: connector@1 { 6797ec3e673SRob Clark compatible = "usb-c-connector"; 6807ec3e673SRob Clark reg = <1>; 6817ec3e673SRob Clark label = "right"; 6827ec3e673SRob Clark power-role = "dual"; 6837ec3e673SRob Clark data-role = "host"; 6847ec3e673SRob Clark try-power-role = "source"; 6857ec3e673SRob Clark }; 6867ec3e673SRob Clark }; 6877ec3e673SRob Clark }; 6887ec3e673SRob Clark}; 6897ec3e673SRob Clark 690d277cab7SStephen Boydap_h1_spi: &spi0 { 6917ec3e673SRob Clark status = "okay"; 6927ec3e673SRob Clark cr50: tpm@0 { 6937ec3e673SRob Clark compatible = "google,cr50"; 6947ec3e673SRob Clark reg = <0>; 6957ec3e673SRob Clark pinctrl-names = "default"; 6967ec3e673SRob Clark pinctrl-0 = <&h1_ap_int_odl>; 6977ec3e673SRob Clark spi-max-frequency = <800000>; 6987ec3e673SRob Clark interrupt-parent = <&tlmm>; 6997ec3e673SRob Clark interrupts = <42 IRQ_TYPE_EDGE_RISING>; 7007ec3e673SRob Clark }; 7017ec3e673SRob Clark}; 7027ec3e673SRob Clark 703fcd66fe6SStephen Boyd&camcc { 704fcd66fe6SStephen Boyd status = "disabled"; 705fcd66fe6SStephen Boyd}; 706fcd66fe6SStephen Boyd 7077ec3e673SRob Clarkap_sar_sensor_i2c: &i2c5 { 7087ec3e673SRob Clark clock-frequency = <400000>; 7097ec3e673SRob Clark 7107ec3e673SRob Clark ap_sar_sensor: proximity@28 { 7117ec3e673SRob Clark compatible = "semtech,sx9310"; 7127ec3e673SRob Clark reg = <0x28>; 7137ec3e673SRob Clark #io-channel-cells = <1>; 7147ec3e673SRob Clark pinctrl-names = "default"; 7157ec3e673SRob Clark pinctrl-0 = <&p_sensor_int_l>; 7167ec3e673SRob Clark 7177ec3e673SRob Clark interrupt-parent = <&tlmm>; 7187ec3e673SRob Clark interrupts = <24 IRQ_TYPE_LEVEL_LOW>; 7197ec3e673SRob Clark 7207ec3e673SRob Clark vdd-supply = <&pp3300_a>; 7217ec3e673SRob Clark svdd-supply = <&pp1800_prox>; 7227ec3e673SRob Clark 7237ec3e673SRob Clark label = "proximity-wifi"; 7247ec3e673SRob Clark }; 7257ec3e673SRob Clark}; 7267ec3e673SRob Clark 7277ec3e673SRob Clarkap_tp_i2c: &i2c7 { 7287ec3e673SRob Clark clock-frequency = <400000>; 7297ec3e673SRob Clark 730ce250024SDouglas Anderson trackpad: trackpad@15 { 7317ec3e673SRob Clark compatible = "elan,ekth3000"; 7327ec3e673SRob Clark reg = <0x15>; 7337ec3e673SRob Clark pinctrl-names = "default"; 734ce250024SDouglas Anderson pinctrl-0 = <&tp_int_odl>; 7357ec3e673SRob Clark 7367ec3e673SRob Clark interrupt-parent = <&tlmm>; 737ce250024SDouglas Anderson interrupts = <0 IRQ_TYPE_EDGE_FALLING>; 7387ec3e673SRob Clark 7397ec3e673SRob Clark vcc-supply = <&pp3300_fp_tp>; 7407ec3e673SRob Clark 7417ec3e673SRob Clark wakeup-source; 7427ec3e673SRob Clark }; 7437ec3e673SRob Clark}; 7447ec3e673SRob Clark 7457ec3e673SRob Clarkhp_i2c: &i2c9 { 7467ec3e673SRob Clark status = "okay"; 7477ec3e673SRob Clark clock-frequency = <400000>; 7487ec3e673SRob Clark}; 7497ec3e673SRob Clark 75043926a3cSNikita Travkin&lpasscc { 75143926a3cSNikita Travkin status = "okay"; 75243926a3cSNikita Travkin}; 75343926a3cSNikita Travkin 75429bd62eeSAjit Pandey&lpass_cpu { 75529bd62eeSAjit Pandey status = "okay"; 75629bd62eeSAjit Pandey 75729bd62eeSAjit Pandey pinctrl-names = "default"; 75829bd62eeSAjit Pandey pinctrl-0 = <&sec_mi2s_active>, <&pri_mi2s_active>, <&pri_mi2s_mclk_active>; 75929bd62eeSAjit Pandey 76029bd62eeSAjit Pandey #address-cells = <1>; 76129bd62eeSAjit Pandey #size-cells = <0>; 76229bd62eeSAjit Pandey 763eef26fb4SKrzysztof Kozlowski dai-link@0 { 76429bd62eeSAjit Pandey reg = <MI2S_PRIMARY>; 76529bd62eeSAjit Pandey qcom,playback-sd-lines = <1>; 76629bd62eeSAjit Pandey qcom,capture-sd-lines = <0>; 76729bd62eeSAjit Pandey }; 76829bd62eeSAjit Pandey 769eef26fb4SKrzysztof Kozlowski secondary_mi2s: dai-link@1 { 77029bd62eeSAjit Pandey reg = <MI2S_SECONDARY>; 77129bd62eeSAjit Pandey qcom,playback-sd-lines = <0>; 77229bd62eeSAjit Pandey }; 773b22d313eSV Sujith Kumar Reddy 774eef26fb4SKrzysztof Kozlowski dai-link@5 { 775b22d313eSV Sujith Kumar Reddy reg = <LPASS_DP_RX>; 776b22d313eSV Sujith Kumar Reddy }; 77729bd62eeSAjit Pandey}; 77829bd62eeSAjit Pandey 77943926a3cSNikita Travkin&lpass_hm { 7807ec3e673SRob Clark status = "okay"; 7817ec3e673SRob Clark}; 7827ec3e673SRob Clark 7837ec3e673SRob Clark&mdss { 7847ec3e673SRob Clark status = "okay"; 7857ec3e673SRob Clark}; 7867ec3e673SRob Clark 787f1b7e897SKuogee Hsieh&mdss_dp { 788f1b7e897SKuogee Hsieh status = "okay"; 789f1b7e897SKuogee Hsieh pinctrl-names = "default"; 790f1b7e897SKuogee Hsieh pinctrl-0 = <&dp_hot_plug_det>; 79126c5aa54SKuogee Hsieh}; 79226c5aa54SKuogee Hsieh 79326c5aa54SKuogee Hsieh&mdss_dp_out { 794f1b7e897SKuogee Hsieh data-lanes = <0 1>; 79526c5aa54SKuogee Hsieh link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000>; 796f1b7e897SKuogee Hsieh}; 797f1b7e897SKuogee Hsieh 7982b616f86SDmitry Baryshkov&mdss_dsi0 { 7992b616f86SDmitry Baryshkov status = "okay"; 8002b616f86SDmitry Baryshkov vdda-supply = <&vdda_mipi_dsi0_1p2>; 8012b616f86SDmitry Baryshkov}; 8022b616f86SDmitry Baryshkov 8032b616f86SDmitry Baryshkov&mdss_dsi0_out { 8042b616f86SDmitry Baryshkov data-lanes = <0 1 2 3>; 8052b616f86SDmitry Baryshkov}; 8062b616f86SDmitry Baryshkov 8072b616f86SDmitry Baryshkov&mdss_dsi0_phy { 8082b616f86SDmitry Baryshkov status = "okay"; 8092b616f86SDmitry Baryshkov vdds-supply = <&vdda_mipi_dsi0_pll>; 8102b616f86SDmitry Baryshkov}; 8112b616f86SDmitry Baryshkov 812bb06eb36SAntony Wang&pm6150_adc { 81341c18552SMarijn Suijten channel@4f { 814bb06eb36SAntony Wang reg = <ADC5_AMUX_THM3_100K_PU>; 815bb06eb36SAntony Wang qcom,ratiometric; 816bb06eb36SAntony Wang qcom,hw-settle-time = <200>; 81741c18552SMarijn Suijten label = "charger_therm"; 818bb06eb36SAntony Wang }; 819bb06eb36SAntony Wang}; 820bb06eb36SAntony Wang 821bb06eb36SAntony Wang&pm6150_adc_tm { 822bb06eb36SAntony Wang status = "okay"; 823bb06eb36SAntony Wang 824e4ffe8d5SMatthias Kaehlcke charger-thermistor@0 { 825e4ffe8d5SMatthias Kaehlcke reg = <0>; 826bb06eb36SAntony Wang io-channels = <&pm6150_adc ADC5_AMUX_THM3_100K_PU>; 827bb06eb36SAntony Wang qcom,ratiometric; 828bb06eb36SAntony Wang qcom,hw-settle-time-us = <200>; 829bb06eb36SAntony Wang }; 830bb06eb36SAntony Wang}; 831bb06eb36SAntony Wang 832d141e052SStephen Boyd&pm6150_pon { 8337ec3e673SRob Clark status = "disabled"; 8347ec3e673SRob Clark}; 8357ec3e673SRob Clark 8367ec3e673SRob Clark&qupv3_id_0 { 8377ec3e673SRob Clark status = "okay"; 8387ec3e673SRob Clark}; 8397ec3e673SRob Clark 8407ec3e673SRob Clark&qupv3_id_1 { 8417ec3e673SRob Clark status = "okay"; 8427ec3e673SRob Clark}; 8437ec3e673SRob Clark 8447ec3e673SRob Clark&remoteproc_mpss { 8457ec3e673SRob Clark status = "okay"; 8467ec3e673SRob Clark compatible = "qcom,sc7180-mss-pil"; 84747603d62SKrzysztof Kozlowski reg = <0 0x04080000 0 0x4040>, <0 0x04180000 0 0x48>; 84847603d62SKrzysztof Kozlowski reg-names = "qdsp6", "rmb"; 84947603d62SKrzysztof Kozlowski 85047603d62SKrzysztof Kozlowski clocks = <&gcc GCC_MSS_CFG_AHB_CLK>, 85147603d62SKrzysztof Kozlowski <&gcc GCC_MSS_Q6_MEMNOC_AXI_CLK>, 85247603d62SKrzysztof Kozlowski <&gcc GCC_MSS_NAV_AXI_CLK>, 85347603d62SKrzysztof Kozlowski <&gcc GCC_MSS_SNOC_AXI_CLK>, 85447603d62SKrzysztof Kozlowski <&gcc GCC_MSS_MFAB_AXIS_CLK>, 85547603d62SKrzysztof Kozlowski <&rpmhcc RPMH_CXO_CLK>; 85647603d62SKrzysztof Kozlowski clock-names = "iface", "bus", "nav", "snoc_axi", "mnoc_axi", "xo"; 85747603d62SKrzysztof Kozlowski 8587ec3e673SRob Clark iommus = <&apps_smmu 0x461 0x0>, <&apps_smmu 0x444 0x3>; 859cb0eaae8SSibi Sankar memory-region = <&mba_mem>, <&mpss_mem>, <&mdata_mem>; 8607ec3e673SRob Clark 8617ec3e673SRob Clark /* This gets overridden for SKUs with LTE support. */ 8627ec3e673SRob Clark firmware-name = "qcom/sc7180-trogdor/modem-nolte/mba.mbn", 8637ec3e673SRob Clark "qcom/sc7180-trogdor/modem-nolte/qdsp6sw.mbn"; 86447603d62SKrzysztof Kozlowski 86547603d62SKrzysztof Kozlowski resets = <&aoss_reset AOSS_CC_MSS_RESTART>, 86647603d62SKrzysztof Kozlowski <&pdc_reset PDC_MODEM_SYNC_RESET>; 86747603d62SKrzysztof Kozlowski reset-names = "mss_restart", "pdc_reset"; 86847603d62SKrzysztof Kozlowski 86947603d62SKrzysztof Kozlowski qcom,halt-regs = <&tcsr_regs_1 0x3000 0x5000 0x4000>; 87047603d62SKrzysztof Kozlowski qcom,spare-regs = <&tcsr_regs_2 0xb3e4>; 8717ec3e673SRob Clark}; 8727ec3e673SRob Clark 873a54b7fa6SDouglas Anderson&scm { 874a54b7fa6SDouglas Anderson /* TF-A firmware maps memory cached so mark dma-coherent to match. */ 875a54b7fa6SDouglas Anderson dma-coherent; 876a54b7fa6SDouglas Anderson}; 877a54b7fa6SDouglas Anderson 8787ec3e673SRob Clark&sdhc_1 { 8797ec3e673SRob Clark status = "okay"; 8807ec3e673SRob Clark 8817ec3e673SRob Clark pinctrl-names = "default", "sleep"; 8827ec3e673SRob Clark pinctrl-0 = <&sdc1_on>; 8837ec3e673SRob Clark pinctrl-1 = <&sdc1_off>; 8847ec3e673SRob Clark vmmc-supply = <&mcp_vcc>; 8857ec3e673SRob Clark vqmmc-supply = <&mcp_vccq>; 8867ec3e673SRob Clark}; 8877ec3e673SRob Clark 8887ec3e673SRob Clark&sdhc_2 { 8897ec3e673SRob Clark pinctrl-names = "default", "sleep"; 8907ec3e673SRob Clark pinctrl-0 = <&sdc2_on>; 8917ec3e673SRob Clark pinctrl-1 = <&sdc2_off>; 8927ec3e673SRob Clark vmmc-supply = <&pp2950_l9c>; 8937ec3e673SRob Clark vqmmc-supply = <&ppvar_l6c>; 8947ec3e673SRob Clark 8957ec3e673SRob Clark cd-gpios = <&tlmm 69 GPIO_ACTIVE_LOW>; 8967ec3e673SRob Clark}; 8977ec3e673SRob Clark 898cfbb97fdSDouglas Anderson&spi0 { 8992f0300a6SKrzysztof Kozlowski pinctrl-0 = <&qup_spi0_spi>, <&qup_spi0_cs_gpio>; 900cfbb97fdSDouglas Anderson cs-gpios = <&tlmm 37 GPIO_ACTIVE_LOW>; 901cfbb97fdSDouglas Anderson}; 902cfbb97fdSDouglas Anderson 903cfbb97fdSDouglas Anderson&spi6 { 9042f0300a6SKrzysztof Kozlowski pinctrl-0 = <&qup_spi6_spi>, <&qup_spi6_cs_gpio>; 905cfbb97fdSDouglas Anderson cs-gpios = <&tlmm 62 GPIO_ACTIVE_LOW>; 906cfbb97fdSDouglas Anderson}; 907cfbb97fdSDouglas Anderson 9087ec3e673SRob Clarkap_spi_fp: &spi10 { 9092f0300a6SKrzysztof Kozlowski pinctrl-0 = <&qup_spi10_spi>, <&qup_spi10_cs_gpio>; 910cfbb97fdSDouglas Anderson cs-gpios = <&tlmm 89 GPIO_ACTIVE_LOW>; 911cfbb97fdSDouglas Anderson 9127ec3e673SRob Clark cros_ec_fp: ec@0 { 9139ec68feaSStephen Boyd compatible = "google,cros-ec-fp", "google,cros-ec-spi"; 9147ec3e673SRob Clark reg = <0>; 9157ec3e673SRob Clark interrupt-parent = <&tlmm>; 9167ec3e673SRob Clark interrupts = <4 IRQ_TYPE_LEVEL_LOW>; 9177ec3e673SRob Clark pinctrl-names = "default"; 9189ec68feaSStephen Boyd pinctrl-0 = <&fp_to_ap_irq_l>, <&fp_rst_l>, <&fpmcu_boot0>; 9199ec68feaSStephen Boyd boot0-gpios = <&tlmm 10 GPIO_ACTIVE_HIGH>; 9209ec68feaSStephen Boyd reset-gpios = <&tlmm 22 GPIO_ACTIVE_LOW>; 9217ec3e673SRob Clark spi-max-frequency = <3000000>; 9229ec68feaSStephen Boyd vdd-supply = <&pp3300_fp_tp>; 9237ec3e673SRob Clark }; 9247ec3e673SRob Clark}; 9257ec3e673SRob Clark 9267ec3e673SRob Clark#include <arm/cros-ec-sbs.dtsi> 9277ec3e673SRob Clark 9287ec3e673SRob Clark&uart3 { 9297ec3e673SRob Clark status = "okay"; 9307ec3e673SRob Clark 9314e0a3e04Ssatya priya /delete-property/interrupts; 9324e0a3e04Ssatya priya interrupts-extended = <&intc GIC_SPI 604 IRQ_TYPE_LEVEL_HIGH>, 9334e0a3e04Ssatya priya <&tlmm 41 IRQ_TYPE_EDGE_FALLING>; 9344e0a3e04Ssatya priya 9354e0a3e04Ssatya priya pinctrl-names = "default", "sleep"; 9364e0a3e04Ssatya priya pinctrl-1 = <&qup_uart3_sleep>; 9374e0a3e04Ssatya priya 9387ec3e673SRob Clark bluetooth: bluetooth { 9397ec3e673SRob Clark compatible = "qcom,wcn3991-bt"; 9407ec3e673SRob Clark vddio-supply = <&pp1800_l10a>; 9417ec3e673SRob Clark vddxo-supply = <&pp1800_l1c>; 9427ec3e673SRob Clark vddrf-supply = <&pp1300_l2c>; 9437ec3e673SRob Clark vddch0-supply = <&pp3300_l10c>; 9447ec3e673SRob Clark max-speed = <3200000>; 945e12e2800SJohan Hovold 946e12e2800SJohan Hovold qcom,local-bd-address-broken; 9477ec3e673SRob Clark }; 9487ec3e673SRob Clark}; 9497ec3e673SRob Clark 9507ec3e673SRob Clark&uart8 { 9517ec3e673SRob Clark status = "okay"; 9527ec3e673SRob Clark}; 9537ec3e673SRob Clark 9547ec3e673SRob Clark&usb_1 { 9557ec3e673SRob Clark status = "okay"; 9567ec3e673SRob Clark}; 9577ec3e673SRob Clark 9587ec3e673SRob Clark&usb_1_dwc3 { 9597ec3e673SRob Clark dr_mode = "host"; 960a73dd03bSMatthias Kaehlcke #address-cells = <1>; 961a73dd03bSMatthias Kaehlcke #size-cells = <0>; 962a73dd03bSMatthias Kaehlcke 963a73dd03bSMatthias Kaehlcke /* 2.x hub on port 1 */ 964a73dd03bSMatthias Kaehlcke usb_hub_2_x: hub@1 { 965a73dd03bSMatthias Kaehlcke compatible = "usbbda,5411"; 966a73dd03bSMatthias Kaehlcke reg = <1>; 967a73dd03bSMatthias Kaehlcke vdd-supply = <&pp3300_hub>; 968a73dd03bSMatthias Kaehlcke peer-hub = <&usb_hub_3_x>; 969a73dd03bSMatthias Kaehlcke }; 970a73dd03bSMatthias Kaehlcke 971a73dd03bSMatthias Kaehlcke /* 3.x hub on port 2 */ 972a73dd03bSMatthias Kaehlcke usb_hub_3_x: hub@2 { 973a73dd03bSMatthias Kaehlcke compatible = "usbbda,411"; 974a73dd03bSMatthias Kaehlcke reg = <2>; 975a73dd03bSMatthias Kaehlcke vdd-supply = <&pp3300_hub>; 976a73dd03bSMatthias Kaehlcke peer-hub = <&usb_hub_2_x>; 977a73dd03bSMatthias Kaehlcke }; 9787ec3e673SRob Clark}; 9797ec3e673SRob Clark 9807ec3e673SRob Clark&usb_1_hsphy { 9817ec3e673SRob Clark status = "okay"; 9827ec3e673SRob Clark vdd-supply = <&vdd_qusb_hs0_core>; 9837ec3e673SRob Clark vdda-pll-supply = <&vdda_qusb_hs0_1p8>; 9847ec3e673SRob Clark vdda-phy-dpdm-supply = <&vdda_qusb_hs0_3p1>; 9857ec3e673SRob Clark qcom,imp-res-offset-value = <8>; 9867ec3e673SRob Clark qcom,preemphasis-level = <QUSB2_V2_PREEMPHASIS_15_PERCENT>; 9877ec3e673SRob Clark qcom,preemphasis-width = <QUSB2_V2_PREEMPHASIS_WIDTH_HALF_BIT>; 9887ec3e673SRob Clark qcom,bias-ctrl-value = <0x22>; 9897ec3e673SRob Clark qcom,charge-ctrl-value = <3>; 9907ec3e673SRob Clark qcom,hsdisc-trim-value = <0>; 9917ec3e673SRob Clark}; 9927ec3e673SRob Clark 9937ec3e673SRob Clark&usb_1_qmpphy { 9947ec3e673SRob Clark status = "okay"; 9957ec3e673SRob Clark vdda-phy-supply = <&vdda_usb_ss_dp_1p2>; 9967ec3e673SRob Clark vdda-pll-supply = <&vdda_usb_ss_dp_core>; 9977ec3e673SRob Clark}; 9987ec3e673SRob Clark 9997ec3e673SRob Clark&venus { 10007ec3e673SRob Clark video-firmware { 10017ec3e673SRob Clark iommus = <&apps_smmu 0x0c42 0x0>; 10027ec3e673SRob Clark }; 10037ec3e673SRob Clark}; 10047ec3e673SRob Clark 10057ec3e673SRob Clark&wifi { 10067ec3e673SRob Clark status = "okay"; 10077ec3e673SRob Clark vdd-0.8-cx-mx-supply = <&vdd_cx_wlan>; 10087ec3e673SRob Clark vdd-1.8-xo-supply = <&pp1800_l1c>; 10097ec3e673SRob Clark vdd-1.3-rfa-supply = <&pp1300_l2c>; 10107ec3e673SRob Clark vdd-3.3-ch0-supply = <&pp3300_l10c>; 10117ec3e673SRob Clark vdd-3.3-ch1-supply = <&pp3300_l11c>; 10127ec3e673SRob Clark 10137ec3e673SRob Clark wifi-firmware { 10147ec3e673SRob Clark iommus = <&apps_smmu 0xc2 0x1>; 10157ec3e673SRob Clark }; 10167ec3e673SRob Clark}; 10177ec3e673SRob Clark 10187ec3e673SRob Clark/* PINCTRL - additions to nodes defined in sc7180.dtsi */ 10197ec3e673SRob Clark 1020f772081fSDouglas Anderson&dp_hot_plug_det { 1021f772081fSDouglas Anderson bias-disable; 1022f772081fSDouglas Anderson}; 1023f772081fSDouglas Anderson 1024b4b2c20dSDouglas Anderson&pri_mi2s_active { 1025b4b2c20dSDouglas Anderson drive-strength = <2>; 1026b4b2c20dSDouglas Anderson bias-pull-down; 1027b4b2c20dSDouglas Anderson}; 1028b4b2c20dSDouglas Anderson 1029b4b2c20dSDouglas Anderson&pri_mi2s_mclk_active { 1030b4b2c20dSDouglas Anderson drive-strength = <2>; 1031b4b2c20dSDouglas Anderson bias-pull-down; 1032b4b2c20dSDouglas Anderson}; 1033b4b2c20dSDouglas Anderson 10347ec3e673SRob Clark&qspi_cs0 { 1035ab752f03SDouglas Anderson bias-disable; /* External pullup */ 10367ec3e673SRob Clark}; 10377ec3e673SRob Clark 10387ec3e673SRob Clark&qspi_clk { 1039abbe13a2SWenchao Han drive-strength = <8>; 1040ab752f03SDouglas Anderson bias-disable; /* Rely on Cr50 internal pulldown */ 10417ec3e673SRob Clark}; 10427ec3e673SRob Clark 1043ab752f03SDouglas Anderson&qspi_data0 { 1044ab752f03SDouglas Anderson bias-disable; /* Rely on Cr50 internal pulldown */ 1045ab752f03SDouglas Anderson}; 1046ab752f03SDouglas Anderson 1047ab752f03SDouglas Anderson&qspi_data1 { 1048ab752f03SDouglas Anderson bias-pull-down; 10497ec3e673SRob Clark}; 10507ec3e673SRob Clark 10517ec3e673SRob Clark&qup_i2c2_default { 10527ec3e673SRob Clark drive-strength = <2>; 10537ec3e673SRob Clark 10547ec3e673SRob Clark /* Has external pullup */ 10557ec3e673SRob Clark bias-disable; 10567ec3e673SRob Clark}; 10577ec3e673SRob Clark 10587ec3e673SRob Clark&qup_i2c4_default { 10597ec3e673SRob Clark drive-strength = <2>; 10607ec3e673SRob Clark 10617ec3e673SRob Clark /* Has external pullup */ 10627ec3e673SRob Clark bias-disable; 10637ec3e673SRob Clark}; 10647ec3e673SRob Clark 10657ec3e673SRob Clark&qup_i2c5_default { 10667ec3e673SRob Clark drive-strength = <2>; 10677ec3e673SRob Clark 10687ec3e673SRob Clark /* Has external pullup */ 10697ec3e673SRob Clark bias-disable; 10707ec3e673SRob Clark}; 10717ec3e673SRob Clark 10727ec3e673SRob Clark&qup_i2c7_default { 10737ec3e673SRob Clark drive-strength = <2>; 10747ec3e673SRob Clark 10757ec3e673SRob Clark /* Has external pullup */ 10767ec3e673SRob Clark bias-disable; 10777ec3e673SRob Clark}; 10787ec3e673SRob Clark 10797ec3e673SRob Clark&qup_i2c9_default { 10807ec3e673SRob Clark drive-strength = <2>; 10817ec3e673SRob Clark 10827ec3e673SRob Clark /* Has external pullup */ 10837ec3e673SRob Clark bias-disable; 10847ec3e673SRob Clark}; 10852f0300a6SKrzysztof Kozlowski 10862f0300a6SKrzysztof Kozlowski&qup_spi0_spi { 10872f0300a6SKrzysztof Kozlowski drive-strength = <2>; 10882f0300a6SKrzysztof Kozlowski bias-disable; 10897ec3e673SRob Clark}; 10907ec3e673SRob Clark 1091cfbb97fdSDouglas Anderson&qup_spi0_cs_gpio { 10927ec3e673SRob Clark drive-strength = <2>; 10937ec3e673SRob Clark bias-disable; 10947ec3e673SRob Clark}; 10952f0300a6SKrzysztof Kozlowski 10962f0300a6SKrzysztof Kozlowski&qup_spi6_spi { 10972f0300a6SKrzysztof Kozlowski drive-strength = <2>; 10982f0300a6SKrzysztof Kozlowski bias-disable; 10997ec3e673SRob Clark}; 11007ec3e673SRob Clark 1101cfbb97fdSDouglas Anderson&qup_spi6_cs_gpio { 11027ec3e673SRob Clark drive-strength = <2>; 11037ec3e673SRob Clark bias-disable; 11047ec3e673SRob Clark}; 11052f0300a6SKrzysztof Kozlowski 11062f0300a6SKrzysztof Kozlowski&qup_spi10_spi { 11072f0300a6SKrzysztof Kozlowski drive-strength = <2>; 11082f0300a6SKrzysztof Kozlowski bias-disable; 11097ec3e673SRob Clark}; 11107ec3e673SRob Clark 1111cfbb97fdSDouglas Anderson&qup_spi10_cs_gpio { 11127ec3e673SRob Clark drive-strength = <2>; 11137ec3e673SRob Clark bias-disable; 11147ec3e673SRob Clark}; 11157ec3e673SRob Clark 11162f0300a6SKrzysztof Kozlowski&qup_uart3_cts { 11177ec3e673SRob Clark /* 11187ec3e673SRob Clark * Configure a pull-down on CTS to match the pull of 11197ec3e673SRob Clark * the Bluetooth module. 11207ec3e673SRob Clark */ 11217ec3e673SRob Clark bias-pull-down; 11227ec3e673SRob Clark}; 11237ec3e673SRob Clark 11242f0300a6SKrzysztof Kozlowski&qup_uart3_rts { 11252f0300a6SKrzysztof Kozlowski /* We'll drive RTS, so no pull */ 11267ec3e673SRob Clark drive-strength = <2>; 11277ec3e673SRob Clark bias-disable; 11287ec3e673SRob Clark}; 11297ec3e673SRob Clark 11302f0300a6SKrzysztof Kozlowski&qup_uart3_tx { 11312f0300a6SKrzysztof Kozlowski /* We'll drive TX, so no pull */ 11322f0300a6SKrzysztof Kozlowski drive-strength = <2>; 11332f0300a6SKrzysztof Kozlowski bias-disable; 11342f0300a6SKrzysztof Kozlowski}; 11352f0300a6SKrzysztof Kozlowski 11362f0300a6SKrzysztof Kozlowski&qup_uart3_rx { 11377ec3e673SRob Clark /* 11387ec3e673SRob Clark * Configure a pull-up on RX. This is needed to avoid 11397ec3e673SRob Clark * garbage data when the TX pin of the Bluetooth module is 11407ec3e673SRob Clark * in tri-state (module powered off or not driving the 11417ec3e673SRob Clark * signal yet). 11427ec3e673SRob Clark */ 11437ec3e673SRob Clark bias-pull-up; 11447ec3e673SRob Clark}; 11457ec3e673SRob Clark 11462f0300a6SKrzysztof Kozlowski&qup_uart8_tx { 11477ec3e673SRob Clark drive-strength = <2>; 11487ec3e673SRob Clark bias-disable; 11497ec3e673SRob Clark}; 11507ec3e673SRob Clark 11512f0300a6SKrzysztof Kozlowski&qup_uart8_rx { 11527ec3e673SRob Clark drive-strength = <2>; 11537ec3e673SRob Clark bias-pull-up; 11547ec3e673SRob Clark}; 11557ec3e673SRob Clark 1156b4b2c20dSDouglas Anderson&sec_mi2s_active { 1157b4b2c20dSDouglas Anderson drive-strength = <2>; 1158b4b2c20dSDouglas Anderson bias-pull-down; 1159b4b2c20dSDouglas Anderson}; 1160b4b2c20dSDouglas Anderson 11617ec3e673SRob Clark/* PINCTRL - board-specific pinctrl */ 11627ec3e673SRob Clark 1163ea25d61bSMarijn Suijten&pm6150_gpios { 11647ec3e673SRob Clark status = "disabled"; /* No GPIOs are connected */ 11657ec3e673SRob Clark}; 11667ec3e673SRob Clark 1167ea25d61bSMarijn Suijten&pm6150l_gpios { 1168cb69e758SStephen Boyd status = "disabled"; /* No GPIOs are consumed or configured */ 11697ec3e673SRob Clark gpio-line-names = "AP_SUSPEND", 11707ec3e673SRob Clark "", 11717ec3e673SRob Clark "", 11727ec3e673SRob Clark "", 11737ec3e673SRob Clark "", 11747ec3e673SRob Clark "", 11757ec3e673SRob Clark "", 11767ec3e673SRob Clark "", 11777ec3e673SRob Clark "", 11787ec3e673SRob Clark "", 11797ec3e673SRob Clark "", 11807ec3e673SRob Clark ""; 11817ec3e673SRob Clark}; 11827ec3e673SRob Clark 11837ec3e673SRob Clark&tlmm { 11847ec3e673SRob Clark /* 11857ec3e673SRob Clark * pinctrl settings for pins that have no real owners. 11867ec3e673SRob Clark */ 11877ec3e673SRob Clark pinctrl-names = "default"; 11887ec3e673SRob Clark pinctrl-0 = <&bios_flash_wp_l>, <&ap_suspend_l_neuter>; 11897ec3e673SRob Clark 11902f0300a6SKrzysztof Kozlowski amp_en: amp-en-state { 11917ec3e673SRob Clark pins = "gpio23"; 11927ec3e673SRob Clark function = "gpio"; 11937ec3e673SRob Clark bias-pull-down; 11947ec3e673SRob Clark }; 11957ec3e673SRob Clark 11962f0300a6SKrzysztof Kozlowski ap_ec_int_l: ap-ec-int-l-state { 11977ec3e673SRob Clark pins = "gpio94"; 11987ec3e673SRob Clark function = "gpio"; 11997ec3e673SRob Clark bias-pull-up; 12007ec3e673SRob Clark }; 12017ec3e673SRob Clark 12022f0300a6SKrzysztof Kozlowski ap_edp_bklten: ap-edp-bklten-state { 12037ec3e673SRob Clark pins = "gpio12"; 12047ec3e673SRob Clark function = "gpio"; 12057ec3e673SRob Clark drive-strength = <2>; 12067ec3e673SRob Clark bias-disable; 12077ec3e673SRob Clark 12087ec3e673SRob Clark /* Force backlight to be disabled to match state at boot. */ 12097ec3e673SRob Clark output-low; 12107ec3e673SRob Clark }; 12117ec3e673SRob Clark 12122f0300a6SKrzysztof Kozlowski ap_suspend_l_neuter: ap-suspend-l-neuter-state { 12137ec3e673SRob Clark pins = "gpio27"; 12147ec3e673SRob Clark function = "gpio"; 12157ec3e673SRob Clark bias-disable; 12167ec3e673SRob Clark }; 12177ec3e673SRob Clark 12182f0300a6SKrzysztof Kozlowski bios_flash_wp_l: bios-flash-wp-l-state { 12197ec3e673SRob Clark pins = "gpio66"; 12207ec3e673SRob Clark function = "gpio"; 12217ec3e673SRob Clark bias-disable; 12227ec3e673SRob Clark }; 12237ec3e673SRob Clark 12242f0300a6SKrzysztof Kozlowski edp_brij_en: edp-brij-en-state { 12257ec3e673SRob Clark pins = "gpio104"; 12267ec3e673SRob Clark function = "gpio"; 12277ec3e673SRob Clark drive-strength = <2>; 12287ec3e673SRob Clark bias-disable; 12297ec3e673SRob Clark }; 12307ec3e673SRob Clark 12312f0300a6SKrzysztof Kozlowski en_pp3300_codec: en-pp3300-codec-state { 12327ec3e673SRob Clark pins = "gpio83"; 12337ec3e673SRob Clark function = "gpio"; 12347ec3e673SRob Clark drive-strength = <2>; 12357ec3e673SRob Clark bias-disable; 12367ec3e673SRob Clark }; 12377ec3e673SRob Clark 12382f0300a6SKrzysztof Kozlowski en_pp3300_dx_edp: en-pp3300-dx-edp-state { 12397ec3e673SRob Clark pins = "gpio30"; 12407ec3e673SRob Clark function = "gpio"; 12417ec3e673SRob Clark drive-strength = <2>; 12427ec3e673SRob Clark bias-disable; 12437ec3e673SRob Clark }; 12447ec3e673SRob Clark 12452f0300a6SKrzysztof Kozlowski en_pp3300_hub: en-pp3300-hub-state { 1246066c2a94SMatthias Kaehlcke pins = "gpio84"; 1247066c2a94SMatthias Kaehlcke function = "gpio"; 1248066c2a94SMatthias Kaehlcke drive-strength = <2>; 1249066c2a94SMatthias Kaehlcke bias-disable; 1250066c2a94SMatthias Kaehlcke }; 1251066c2a94SMatthias Kaehlcke 12529ec68feaSStephen Boyd fp_rst_l: fp-rst-l-state { 12539ec68feaSStephen Boyd pins = "gpio22"; 12549ec68feaSStephen Boyd function = "gpio"; 12559ec68feaSStephen Boyd bias-disable; 12569ec68feaSStephen Boyd drive-strength = <2>; 12579ec68feaSStephen Boyd }; 12589ec68feaSStephen Boyd 12592f0300a6SKrzysztof Kozlowski fp_to_ap_irq_l: fp-to-ap-irq-l-state { 12607ec3e673SRob Clark pins = "gpio4"; 12617ec3e673SRob Clark function = "gpio"; 12627ec3e673SRob Clark 12637ec3e673SRob Clark /* Has external pullup */ 12647ec3e673SRob Clark bias-disable; 12657ec3e673SRob Clark }; 12667ec3e673SRob Clark 12679ec68feaSStephen Boyd fpmcu_boot0: fpmcu-boot0-state { 12689ec68feaSStephen Boyd pins = "gpio10"; 12699ec68feaSStephen Boyd function = "gpio"; 12709ec68feaSStephen Boyd bias-disable; 12719ec68feaSStephen Boyd }; 12729ec68feaSStephen Boyd 12732f0300a6SKrzysztof Kozlowski h1_ap_int_odl: h1-ap-int-odl-state { 12747ec3e673SRob Clark pins = "gpio42"; 12757ec3e673SRob Clark function = "gpio"; 12767ec3e673SRob Clark bias-pull-up; 12777ec3e673SRob Clark }; 12787ec3e673SRob Clark 12792f0300a6SKrzysztof Kozlowski hp_irq: hp-irq-state { 12807ec3e673SRob Clark pins = "gpio28"; 12817ec3e673SRob Clark function = "gpio"; 12827ec3e673SRob Clark bias-pull-up; 12837ec3e673SRob Clark }; 12847ec3e673SRob Clark 12852f0300a6SKrzysztof Kozlowski pen_irq_l: pen-irq-l-state { 12867ec3e673SRob Clark pins = "gpio21"; 12877ec3e673SRob Clark function = "gpio"; 12887ec3e673SRob Clark 12897ec3e673SRob Clark /* Has external pullup */ 12907ec3e673SRob Clark bias-disable; 12917ec3e673SRob Clark }; 12927ec3e673SRob Clark 12932f0300a6SKrzysztof Kozlowski pen_pdct_l: pen-pdct-l-state-state { 12947ec3e673SRob Clark pins = "gpio52"; 12957ec3e673SRob Clark function = "gpio"; 12967ec3e673SRob Clark 12977ec3e673SRob Clark /* Has external pullup */ 12987ec3e673SRob Clark bias-disable; 12997ec3e673SRob Clark }; 13007ec3e673SRob Clark 13012f0300a6SKrzysztof Kozlowski pen_rst_odl: pen-rst-odl-state { 13027ec3e673SRob Clark pins = "gpio18"; 13037ec3e673SRob Clark function = "gpio"; 13047ec3e673SRob Clark bias-disable; 13057ec3e673SRob Clark drive-strength = <2>; 13067ec3e673SRob Clark 13077ec3e673SRob Clark /* 13087ec3e673SRob Clark * The pen driver doesn't currently support 13097ec3e673SRob Clark * driving this reset line. By specifying 13107ec3e673SRob Clark * output-high here we're relying on the fact 13117ec3e673SRob Clark * that this pin has a default pulldown at boot 13127ec3e673SRob Clark * (which makes sure the pen was in reset if it 13137ec3e673SRob Clark * was powered) and then we set it high here to 13147ec3e673SRob Clark * take it out of reset. Better would be if the 13157ec3e673SRob Clark * pen driver could control this and we could 13167ec3e673SRob Clark * remove "output-high" here. 13177ec3e673SRob Clark */ 13187ec3e673SRob Clark output-high; /* TODO: Remove this? */ 13197ec3e673SRob Clark }; 13207ec3e673SRob Clark 13212f0300a6SKrzysztof Kozlowski p_sensor_int_l: p-sensor-int-l-state { 13227ec3e673SRob Clark pins = "gpio24"; 13237ec3e673SRob Clark function = "gpio"; 13247ec3e673SRob Clark 1325d5276bfaSStephen Boyd /* Has external pullup */ 1326d5276bfaSStephen Boyd bias-disable; 13277ec3e673SRob Clark }; 13287ec3e673SRob Clark 1329ab752f03SDouglas Anderson qspi_sleep: qspi-sleep-state { 1330ab752f03SDouglas Anderson pins = "gpio63", "gpio64", "gpio65", "gpio68"; 1331ab752f03SDouglas Anderson 1332ab752f03SDouglas Anderson /* 1333ab752f03SDouglas Anderson * When we're not actively transferring we want pins as GPIOs 1334ab752f03SDouglas Anderson * with output disabled so that the quad SPI IP block stops 1335ab752f03SDouglas Anderson * driving them. We rely on the normal pulls configured in 1336ab752f03SDouglas Anderson * the active state and don't redefine them here. Also note 1337ab752f03SDouglas Anderson * that we don't need the reverse (output-enable) in the 1338ab752f03SDouglas Anderson * normal mode since the "output-enable" only matters for 1339ab752f03SDouglas Anderson * GPIO function. 1340ab752f03SDouglas Anderson */ 1341ab752f03SDouglas Anderson function = "gpio"; 1342ab752f03SDouglas Anderson output-disable; 1343ab752f03SDouglas Anderson }; 1344ab752f03SDouglas Anderson 13452f0300a6SKrzysztof Kozlowski qup_uart3_sleep: qup-uart3-sleep-state { 13462f0300a6SKrzysztof Kozlowski cts-pins { 13474e0a3e04Ssatya priya /* 13484e0a3e04Ssatya priya * Configure a pull-down on CTS to match the pull of 13494e0a3e04Ssatya priya * the Bluetooth module. 13504e0a3e04Ssatya priya */ 13514e0a3e04Ssatya priya pins = "gpio38"; 13522f0300a6SKrzysztof Kozlowski function = "gpio"; 13534e0a3e04Ssatya priya bias-pull-down; 13544e0a3e04Ssatya priya }; 13554e0a3e04Ssatya priya 13562f0300a6SKrzysztof Kozlowski rts-pins { 13574e0a3e04Ssatya priya /* 13584e0a3e04Ssatya priya * Configure pull-down on RTS. As RTS is active low 13594e0a3e04Ssatya priya * signal, pull it low to indicate the BT SoC that it 13604e0a3e04Ssatya priya * can wakeup the system anytime from suspend state by 13614e0a3e04Ssatya priya * pulling RX low (by sending wakeup bytes). 13624e0a3e04Ssatya priya */ 13634e0a3e04Ssatya priya pins = "gpio39"; 13642f0300a6SKrzysztof Kozlowski function = "gpio"; 13654e0a3e04Ssatya priya bias-pull-down; 13664e0a3e04Ssatya priya }; 13674e0a3e04Ssatya priya 13682f0300a6SKrzysztof Kozlowski tx-pins { 13694e0a3e04Ssatya priya /* 13704e0a3e04Ssatya priya * Configure pull-up on TX when it isn't actively driven 13714e0a3e04Ssatya priya * to prevent BT SoC from receiving garbage during sleep. 13724e0a3e04Ssatya priya */ 13734e0a3e04Ssatya priya pins = "gpio40"; 13742f0300a6SKrzysztof Kozlowski function = "gpio"; 13754e0a3e04Ssatya priya bias-pull-up; 13764e0a3e04Ssatya priya }; 13774e0a3e04Ssatya priya 13782f0300a6SKrzysztof Kozlowski rx-pins { 13794e0a3e04Ssatya priya /* 13804e0a3e04Ssatya priya * Configure a pull-up on RX. This is needed to avoid 13814e0a3e04Ssatya priya * garbage data when the TX pin of the Bluetooth module 13824e0a3e04Ssatya priya * is floating which may cause spurious wakeups. 13834e0a3e04Ssatya priya */ 13844e0a3e04Ssatya priya pins = "gpio41"; 13852f0300a6SKrzysztof Kozlowski function = "gpio"; 13864e0a3e04Ssatya priya bias-pull-up; 13874e0a3e04Ssatya priya }; 13884e0a3e04Ssatya priya }; 13894e0a3e04Ssatya priya 1390ce250024SDouglas Anderson /* Named trackpad_int_1v8_odl on earlier revision schematics */ 1391ce250024SDouglas Anderson trackpad_int_1v8_odl: 13922f0300a6SKrzysztof Kozlowski tp_int_odl: tp-int-odl-state { 1393ce250024SDouglas Anderson pins = "gpio0"; 13947ec3e673SRob Clark function = "gpio"; 13957ec3e673SRob Clark 13967ec3e673SRob Clark /* Has external pullup */ 13977ec3e673SRob Clark bias-disable; 13987ec3e673SRob Clark }; 13997ec3e673SRob Clark 14002f0300a6SKrzysztof Kozlowski ts_int_l: ts-int-l-state { 14017ec3e673SRob Clark pins = "gpio9"; 14027ec3e673SRob Clark function = "gpio"; 14037ec3e673SRob Clark bias-pull-up; 14047ec3e673SRob Clark }; 14057ec3e673SRob Clark 14062f0300a6SKrzysztof Kozlowski ts_reset_l: ts-reset-l-state { 14077ec3e673SRob Clark pins = "gpio8"; 14087ec3e673SRob Clark function = "gpio"; 14097ec3e673SRob Clark bias-disable; 14109506a366SDouglas Anderson 14119506a366SDouglas Anderson /* 14129506a366SDouglas Anderson * The reset GPIO to the touchscreen takes almost 2ms to drop 14139506a366SDouglas Anderson * at the default drive strength. When we bump it up to 8mA it 14149506a366SDouglas Anderson * falls in under 500us. We want this to be fast since the Elan 14159506a366SDouglas Anderson * datasheet (and any drivers written based on it) talk about using 14169506a366SDouglas Anderson * a 500 us reset pulse. 14179506a366SDouglas Anderson */ 14189506a366SDouglas Anderson drive-strength = <8>; 14197ec3e673SRob Clark }; 1420c8d6f8e5SSujit Kautkar 14212f0300a6SKrzysztof Kozlowski sdc1_on: sdc1-on-state { 14222f0300a6SKrzysztof Kozlowski clk-pins { 1423c8d6f8e5SSujit Kautkar pins = "sdc1_clk"; 1424c8d6f8e5SSujit Kautkar bias-disable; 1425c8d6f8e5SSujit Kautkar drive-strength = <16>; 1426c8d6f8e5SSujit Kautkar }; 1427c8d6f8e5SSujit Kautkar 14282f0300a6SKrzysztof Kozlowski cmd-pins { 1429c8d6f8e5SSujit Kautkar pins = "sdc1_cmd"; 1430c8d6f8e5SSujit Kautkar bias-pull-up; 1431752432e4SShaik Sajida Bhanu drive-strength = <16>; 1432c8d6f8e5SSujit Kautkar }; 1433c8d6f8e5SSujit Kautkar 14342f0300a6SKrzysztof Kozlowski data-pins { 1435c8d6f8e5SSujit Kautkar pins = "sdc1_data"; 1436c8d6f8e5SSujit Kautkar bias-pull-up; 1437752432e4SShaik Sajida Bhanu drive-strength = <16>; 1438c8d6f8e5SSujit Kautkar }; 1439c8d6f8e5SSujit Kautkar 14402f0300a6SKrzysztof Kozlowski rclk-pins { 1441c8d6f8e5SSujit Kautkar pins = "sdc1_rclk"; 1442c8d6f8e5SSujit Kautkar bias-pull-down; 1443c8d6f8e5SSujit Kautkar }; 1444c8d6f8e5SSujit Kautkar }; 1445c8d6f8e5SSujit Kautkar 14462f0300a6SKrzysztof Kozlowski sdc1_off: sdc1-off-state { 14472f0300a6SKrzysztof Kozlowski clk-pins { 1448c8d6f8e5SSujit Kautkar pins = "sdc1_clk"; 1449c8d6f8e5SSujit Kautkar bias-disable; 1450c8d6f8e5SSujit Kautkar drive-strength = <2>; 1451c8d6f8e5SSujit Kautkar }; 1452c8d6f8e5SSujit Kautkar 14532f0300a6SKrzysztof Kozlowski cmd-pins { 1454c8d6f8e5SSujit Kautkar pins = "sdc1_cmd"; 1455c8d6f8e5SSujit Kautkar bias-pull-up; 1456c8d6f8e5SSujit Kautkar drive-strength = <2>; 1457c8d6f8e5SSujit Kautkar }; 1458c8d6f8e5SSujit Kautkar 14592f0300a6SKrzysztof Kozlowski data-pins { 1460c8d6f8e5SSujit Kautkar pins = "sdc1_data"; 1461c8d6f8e5SSujit Kautkar bias-pull-up; 1462c8d6f8e5SSujit Kautkar drive-strength = <2>; 1463c8d6f8e5SSujit Kautkar }; 1464c8d6f8e5SSujit Kautkar 14652f0300a6SKrzysztof Kozlowski rclk-pins { 1466c8d6f8e5SSujit Kautkar pins = "sdc1_rclk"; 1467c8d6f8e5SSujit Kautkar bias-pull-down; 1468c8d6f8e5SSujit Kautkar }; 1469c8d6f8e5SSujit Kautkar }; 1470c8d6f8e5SSujit Kautkar 14712f0300a6SKrzysztof Kozlowski sdc2_on: sdc2-on-state { 14722f0300a6SKrzysztof Kozlowski clk-pins { 1473c8d6f8e5SSujit Kautkar pins = "sdc2_clk"; 1474c8d6f8e5SSujit Kautkar bias-disable; 1475c8d6f8e5SSujit Kautkar drive-strength = <16>; 1476c8d6f8e5SSujit Kautkar }; 1477c8d6f8e5SSujit Kautkar 14782f0300a6SKrzysztof Kozlowski cmd-pins { 1479c8d6f8e5SSujit Kautkar pins = "sdc2_cmd"; 1480c8d6f8e5SSujit Kautkar bias-pull-up; 1481c8d6f8e5SSujit Kautkar drive-strength = <10>; 1482c8d6f8e5SSujit Kautkar }; 1483c8d6f8e5SSujit Kautkar 14842f0300a6SKrzysztof Kozlowski data-pins { 1485c8d6f8e5SSujit Kautkar pins = "sdc2_data"; 1486c8d6f8e5SSujit Kautkar bias-pull-up; 1487c8d6f8e5SSujit Kautkar drive-strength = <10>; 1488c8d6f8e5SSujit Kautkar }; 1489c8d6f8e5SSujit Kautkar 14902f0300a6SKrzysztof Kozlowski sd-cd-pins { 1491c8d6f8e5SSujit Kautkar pins = "gpio69"; 14922f0300a6SKrzysztof Kozlowski function = "gpio"; 1493c8d6f8e5SSujit Kautkar bias-pull-up; 1494c8d6f8e5SSujit Kautkar drive-strength = <2>; 1495c8d6f8e5SSujit Kautkar }; 1496c8d6f8e5SSujit Kautkar }; 1497c8d6f8e5SSujit Kautkar 14982f0300a6SKrzysztof Kozlowski sdc2_off: sdc2-off-state { 14992f0300a6SKrzysztof Kozlowski clk-pins { 1500c8d6f8e5SSujit Kautkar pins = "sdc2_clk"; 1501c8d6f8e5SSujit Kautkar bias-disable; 1502c8d6f8e5SSujit Kautkar drive-strength = <2>; 1503c8d6f8e5SSujit Kautkar }; 1504c8d6f8e5SSujit Kautkar 15052f0300a6SKrzysztof Kozlowski cmd-pins { 1506c8d6f8e5SSujit Kautkar pins = "sdc2_cmd"; 1507c8d6f8e5SSujit Kautkar bias-pull-up; 1508c8d6f8e5SSujit Kautkar drive-strength = <2>; 1509c8d6f8e5SSujit Kautkar }; 1510c8d6f8e5SSujit Kautkar 15112f0300a6SKrzysztof Kozlowski data-pins { 1512c8d6f8e5SSujit Kautkar pins = "sdc2_data"; 1513c8d6f8e5SSujit Kautkar bias-pull-up; 1514c8d6f8e5SSujit Kautkar drive-strength = <2>; 1515c8d6f8e5SSujit Kautkar }; 1516c8d6f8e5SSujit Kautkar 15172f0300a6SKrzysztof Kozlowski sd-cd-pins { 1518c8d6f8e5SSujit Kautkar pins = "gpio69"; 15192f0300a6SKrzysztof Kozlowski function = "gpio"; 152071208cd4SSujit Kautkar bias-pull-up; 1521c8d6f8e5SSujit Kautkar drive-strength = <2>; 1522c8d6f8e5SSujit Kautkar }; 1523c8d6f8e5SSujit Kautkar }; 1524bb59462eSStephen Boyd 15252f0300a6SKrzysztof Kozlowski uf_cam_en: uf-cam-en-state { 1526bb59462eSStephen Boyd pins = "gpio6"; 1527bb59462eSStephen Boyd function = "gpio"; 1528bb59462eSStephen Boyd drive-strength = <2>; 15292f0300a6SKrzysztof Kozlowski 1530bb59462eSStephen Boyd /* External pull down */ 1531bb59462eSStephen Boyd bias-disable; 1532bb59462eSStephen Boyd }; 1533bb59462eSStephen Boyd 15342f0300a6SKrzysztof Kozlowski wf_cam_en: wf-cam-en-state { 1535bb59462eSStephen Boyd pins = "gpio7"; 1536bb59462eSStephen Boyd function = "gpio"; 1537bb59462eSStephen Boyd drive-strength = <2>; 15382f0300a6SKrzysztof Kozlowski 1539bb59462eSStephen Boyd /* External pull down */ 1540bb59462eSStephen Boyd bias-disable; 1541bb59462eSStephen Boyd }; 1542bb59462eSStephen Boyd}; 1543