1540 lines
30 KiB
Plaintext
1540 lines
30 KiB
Plaintext
|
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||
|
/*
|
||
|
* Google Trogdor device tree source (common between revisions)
|
||
|
*
|
||
|
* Copyright 2019 Google LLC.
|
||
|
*/
|
||
|
|
||
|
#include <dt-bindings/gpio/gpio.h>
|
||
|
#include <dt-bindings/input/gpio-keys.h>
|
||
|
#include <dt-bindings/input/input.h>
|
||
|
#include <dt-bindings/leds/common.h>
|
||
|
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
|
||
|
#include <dt-bindings/sound/sc7180-lpass.h>
|
||
|
|
||
|
#include "sc7180.dtsi"
|
||
|
/* PMICs depend on spmi_bus label and so must come after sc7180.dtsi */
|
||
|
#include "pm6150.dtsi"
|
||
|
#include "pm6150l.dtsi"
|
||
|
|
||
|
/ {
|
||
|
thermal-zones {
|
||
|
charger_thermal: charger-thermal {
|
||
|
polling-delay-passive = <0>;
|
||
|
polling-delay = <0>;
|
||
|
|
||
|
thermal-sensors = <&pm6150_adc_tm 0>;
|
||
|
|
||
|
trips {
|
||
|
charger-crit {
|
||
|
temperature = <125000>;
|
||
|
hysteresis = <1000>;
|
||
|
type = "critical";
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
/*
|
||
|
* Reserved memory changes
|
||
|
*
|
||
|
* Delete all unused memory nodes and define the peripheral memory regions
|
||
|
* required by the board dts.
|
||
|
*/
|
||
|
|
||
|
/delete-node/ &hyp_mem;
|
||
|
/delete-node/ &ipa_fw_mem;
|
||
|
/delete-node/ &xbl_mem;
|
||
|
/delete-node/ &aop_mem;
|
||
|
/delete-node/ &sec_apps_mem;
|
||
|
/delete-node/ &tz_mem;
|
||
|
|
||
|
/* Increase the size from 2MB to 8MB */
|
||
|
&rmtfs_mem {
|
||
|
reg = <0x0 0x94600000 0x0 0x800000>;
|
||
|
};
|
||
|
|
||
|
/ {
|
||
|
reserved-memory {
|
||
|
atf_mem: memory@80b00000 {
|
||
|
reg = <0x0 0x80b00000 0x0 0x100000>;
|
||
|
no-map;
|
||
|
};
|
||
|
|
||
|
mpss_mem: memory@86000000 {
|
||
|
reg = <0x0 0x86000000 0x0 0x2000000>;
|
||
|
no-map;
|
||
|
};
|
||
|
|
||
|
venus_mem: memory@8f600000 {
|
||
|
reg = <0 0x8f600000 0 0x500000>;
|
||
|
no-map;
|
||
|
};
|
||
|
|
||
|
wlan_mem: memory@94100000 {
|
||
|
reg = <0x0 0x94100000 0x0 0x200000>;
|
||
|
no-map;
|
||
|
};
|
||
|
|
||
|
mba_mem: memory@94400000 {
|
||
|
reg = <0x0 0x94400000 0x0 0x200000>;
|
||
|
no-map;
|
||
|
};
|
||
|
|
||
|
mdata_mem: mpss-metadata {
|
||
|
alloc-ranges = <0x0 0xa0000000 0x0 0x20000000>;
|
||
|
size = <0x0 0x4000>;
|
||
|
no-map;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
aliases {
|
||
|
bluetooth0 = &bluetooth;
|
||
|
hsuart0 = &uart3;
|
||
|
serial0 = &uart8;
|
||
|
wifi0 = &wifi;
|
||
|
};
|
||
|
|
||
|
chosen {
|
||
|
stdout-path = "serial0:115200n8";
|
||
|
};
|
||
|
|
||
|
/* FIXED REGULATORS - parents above children */
|
||
|
|
||
|
/* This is the top level supply and variable voltage */
|
||
|
ppvar_sys: ppvar-sys-regulator {
|
||
|
compatible = "regulator-fixed";
|
||
|
regulator-name = "ppvar_sys";
|
||
|
regulator-always-on;
|
||
|
regulator-boot-on;
|
||
|
};
|
||
|
|
||
|
/* This divides ppvar_sys by 2, so voltage is variable */
|
||
|
src_vph_pwr: src-vph-pwr-regulator {
|
||
|
compatible = "regulator-fixed";
|
||
|
regulator-name = "src_vph_pwr";
|
||
|
|
||
|
/* EC turns on with switchcap_on; always on for AP */
|
||
|
regulator-always-on;
|
||
|
regulator-boot-on;
|
||
|
|
||
|
vin-supply = <&ppvar_sys>;
|
||
|
};
|
||
|
|
||
|
pp5000_a: pp5000-a-regulator {
|
||
|
compatible = "regulator-fixed";
|
||
|
regulator-name = "pp5000_a";
|
||
|
|
||
|
/* EC turns on with en_pp5000_a; always on for AP */
|
||
|
regulator-always-on;
|
||
|
regulator-boot-on;
|
||
|
regulator-min-microvolt = <5000000>;
|
||
|
regulator-max-microvolt = <5000000>;
|
||
|
|
||
|
vin-supply = <&ppvar_sys>;
|
||
|
};
|
||
|
|
||
|
pp3300_a: pp3300-a-regulator {
|
||
|
compatible = "regulator-fixed";
|
||
|
regulator-name = "pp3300_a";
|
||
|
|
||
|
/* EC turns on with en_pp3300_a; always on for AP */
|
||
|
regulator-always-on;
|
||
|
regulator-boot-on;
|
||
|
regulator-min-microvolt = <3300000>;
|
||
|
regulator-max-microvolt = <3300000>;
|
||
|
|
||
|
/*
|
||
|
* Actually should be pp3300 but that's practically an alias for
|
||
|
* pp3300_a so we use pp3300's vin-supply here to avoid one more
|
||
|
* node.
|
||
|
*/
|
||
|
vin-supply = <&ppvar_sys>;
|
||
|
};
|
||
|
|
||
|
pp1800_ec:
|
||
|
pp1800_sensors:
|
||
|
pp1800_ldo: pp1800-ldo-regulator {
|
||
|
compatible = "regulator-fixed";
|
||
|
regulator-name = "pp1800_ldo";
|
||
|
|
||
|
/* EC turns on with hibernate_l; always on for AP */
|
||
|
regulator-always-on;
|
||
|
regulator-boot-on;
|
||
|
regulator-min-microvolt = <1800000>;
|
||
|
regulator-max-microvolt = <1800000>;
|
||
|
|
||
|
/*
|
||
|
* Actually should be pp1800_h1 but we don't have any need to
|
||
|
* model that so we use the parent of pp1800_h1.
|
||
|
*/
|
||
|
vin-supply = <&pp3300_a>;
|
||
|
};
|
||
|
|
||
|
pp1800_uf_cam: pp1800-uf-cam-regulator {
|
||
|
compatible = "regulator-fixed";
|
||
|
regulator-name = "pp1800_uf_cam";
|
||
|
status = "disabled";
|
||
|
|
||
|
regulator-min-microvolt = <1800000>;
|
||
|
regulator-max-microvolt = <1800000>;
|
||
|
|
||
|
gpio = <&tlmm 6 GPIO_ACTIVE_HIGH>;
|
||
|
enable-active-high;
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <&uf_cam_en>;
|
||
|
|
||
|
vin-supply = <&pp1800_ldo>;
|
||
|
regulator-enable-ramp-delay = <1000>;
|
||
|
};
|
||
|
|
||
|
pp1800_wf_cam: pp1800-wf-cam-regulator {
|
||
|
compatible = "regulator-fixed";
|
||
|
regulator-name = "pp1800_wf_cam";
|
||
|
status = "disabled";
|
||
|
|
||
|
regulator-min-microvolt = <1800000>;
|
||
|
regulator-max-microvolt = <1800000>;
|
||
|
|
||
|
gpio = <&tlmm 7 GPIO_ACTIVE_HIGH>;
|
||
|
enable-active-high;
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <&wf_cam_en>;
|
||
|
|
||
|
vin-supply = <&pp1800_ldo>;
|
||
|
regulator-enable-ramp-delay = <1000>;
|
||
|
};
|
||
|
|
||
|
pp2800_uf_cam: pp2800-uf-cam-regulator {
|
||
|
compatible = "regulator-fixed";
|
||
|
regulator-name = "pp2800_uf_cam";
|
||
|
status = "disabled";
|
||
|
|
||
|
regulator-min-microvolt = <2850000>;
|
||
|
regulator-max-microvolt = <2850000>;
|
||
|
|
||
|
gpio = <&tlmm 6 GPIO_ACTIVE_HIGH>;
|
||
|
enable-active-high;
|
||
|
/*
|
||
|
* The pinconf can only be referenced once so we put it on the
|
||
|
* first regulator and comment it out here.
|
||
|
* pinctrl-names = "default";
|
||
|
* pinctrl-0 = <&uf_cam_en>;
|
||
|
*/
|
||
|
|
||
|
vin-supply = <&pp3300_a>;
|
||
|
};
|
||
|
|
||
|
pp2800_vcm_wf_cam:
|
||
|
pp2800_wf_cam: pp2800-wf-cam-regulator {
|
||
|
compatible = "regulator-fixed";
|
||
|
regulator-name = "pp2800_wf_cam";
|
||
|
status = "disabled";
|
||
|
|
||
|
regulator-min-microvolt = <2850000>;
|
||
|
regulator-max-microvolt = <2850000>;
|
||
|
|
||
|
gpio = <&tlmm 7 GPIO_ACTIVE_HIGH>;
|
||
|
enable-active-high;
|
||
|
/*
|
||
|
* The pinconf can only be referenced once so we put it on the
|
||
|
* first regulator and comment it out here.
|
||
|
* pinctrl-names = "default";
|
||
|
* pinctrl-0 = <&wf_cam_en>;
|
||
|
*/
|
||
|
|
||
|
vin-supply = <&pp3300_a>;
|
||
|
};
|
||
|
|
||
|
pp3300_audio:
|
||
|
pp3300_codec: pp3300-codec-regulator {
|
||
|
compatible = "regulator-fixed";
|
||
|
regulator-name = "pp3300_codec";
|
||
|
|
||
|
regulator-min-microvolt = <3300000>;
|
||
|
regulator-max-microvolt = <3300000>;
|
||
|
|
||
|
gpio = <&tlmm 83 GPIO_ACTIVE_HIGH>;
|
||
|
enable-active-high;
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <&en_pp3300_codec>;
|
||
|
|
||
|
vin-supply = <&pp3300_a>;
|
||
|
};
|
||
|
|
||
|
pp3300_dx_edp:
|
||
|
pp3300_ts: pp3300-dx-edp-regulator {
|
||
|
compatible = "regulator-fixed";
|
||
|
regulator-name = "pp3300_dx_edp";
|
||
|
|
||
|
regulator-min-microvolt = <3300000>;
|
||
|
regulator-max-microvolt = <3300000>;
|
||
|
|
||
|
gpio = <&tlmm 30 GPIO_ACTIVE_HIGH>;
|
||
|
enable-active-high;
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <&en_pp3300_dx_edp>;
|
||
|
|
||
|
vin-supply = <&pp3300_a>;
|
||
|
};
|
||
|
|
||
|
pp3300_fp_tp: pp3300-fp-tp-regulator {
|
||
|
compatible = "regulator-fixed";
|
||
|
regulator-name = "pp3300_fp_tp";
|
||
|
|
||
|
regulator-min-microvolt = <3300000>;
|
||
|
regulator-max-microvolt = <3300000>;
|
||
|
|
||
|
/* AP turns on with PP1800_VIO_OUT; always on for AP */
|
||
|
regulator-always-on;
|
||
|
regulator-boot-on;
|
||
|
|
||
|
vin-supply = <&pp3300_a>;
|
||
|
};
|
||
|
|
||
|
pp3300_hub: pp3300-hub-regulator {
|
||
|
compatible = "regulator-fixed";
|
||
|
regulator-name = "pp3300_hub";
|
||
|
|
||
|
regulator-min-microvolt = <3300000>;
|
||
|
regulator-max-microvolt = <3300000>;
|
||
|
|
||
|
gpio = <&tlmm 84 GPIO_ACTIVE_HIGH>;
|
||
|
enable-active-high;
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <&en_pp3300_hub>;
|
||
|
|
||
|
/* The BIOS leaves this regulator on */
|
||
|
regulator-boot-on;
|
||
|
|
||
|
vin-supply = <&pp3300_a>;
|
||
|
};
|
||
|
|
||
|
/* BOARD-SPECIFIC TOP LEVEL NODES */
|
||
|
|
||
|
backlight: backlight {
|
||
|
compatible = "pwm-backlight";
|
||
|
|
||
|
/* The panels don't seem to like anything below ~ 5% */
|
||
|
brightness-levels = <
|
||
|
196 256 324 400 484 576 676 784 900 1024 1156 1296
|
||
|
1444 1600 1764 1936 2116 2304 2500 2704 2916 3136
|
||
|
3364 3600 3844 4096
|
||
|
>;
|
||
|
num-interpolated-steps = <64>;
|
||
|
default-brightness-level = <951>;
|
||
|
|
||
|
pwms = <&cros_ec_pwm 1>;
|
||
|
enable-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>;
|
||
|
power-supply = <&ppvar_sys>;
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <&ap_edp_bklten>;
|
||
|
};
|
||
|
|
||
|
gpio_keys: gpio-keys {
|
||
|
compatible = "gpio-keys";
|
||
|
status = "disabled";
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <&pen_pdct_l>;
|
||
|
|
||
|
pen_insert: switch-pen-insert {
|
||
|
label = "Pen Insert";
|
||
|
|
||
|
/* Insert = low, eject = high */
|
||
|
gpios = <&tlmm 52 GPIO_ACTIVE_LOW>;
|
||
|
linux,code = <SW_PEN_INSERTED>;
|
||
|
linux,input-type = <EV_SW>;
|
||
|
wakeup-event-action = <EV_ACT_DEASSERTED>;
|
||
|
wakeup-source;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
max98360a: audio-codec-0 {
|
||
|
compatible = "maxim,max98360a";
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <&_en>;
|
||
|
sdmode-gpios = <&tlmm 23 GPIO_ACTIVE_HIGH>;
|
||
|
#sound-dai-cells = <0>;
|
||
|
};
|
||
|
|
||
|
pwmleds {
|
||
|
compatible = "pwm-leds";
|
||
|
keyboard_backlight: led-0 {
|
||
|
status = "disabled";
|
||
|
label = "cros_ec::kbd_backlight";
|
||
|
function = LED_FUNCTION_KBD_BACKLIGHT;
|
||
|
pwms = <&cros_ec_pwm 0>;
|
||
|
max-brightness = <1023>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
sound: sound {
|
||
|
compatible = "google,sc7180-trogdor";
|
||
|
model = "sc7180-rt5682-max98357a-1mic";
|
||
|
|
||
|
audio-routing =
|
||
|
"Headphone Jack", "HPOL",
|
||
|
"Headphone Jack", "HPOR";
|
||
|
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
|
||
|
dai-link@0 {
|
||
|
link-name = "MultiMedia0";
|
||
|
reg = <MI2S_PRIMARY>;
|
||
|
cpu {
|
||
|
sound-dai = <&lpass_cpu MI2S_PRIMARY>;
|
||
|
};
|
||
|
|
||
|
sound_multimedia0_codec: codec {
|
||
|
sound-dai = <&alc5682 0 /* aif1 */>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
dai-link@1 {
|
||
|
link-name = "MultiMedia1";
|
||
|
reg = <MI2S_SECONDARY>;
|
||
|
cpu {
|
||
|
sound-dai = <&lpass_cpu MI2S_SECONDARY>;
|
||
|
};
|
||
|
|
||
|
sound_multimedia1_codec: codec {
|
||
|
sound-dai = <&max98360a>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
dai-link@5 {
|
||
|
link-name = "MultiMedia2";
|
||
|
reg = <LPASS_DP_RX>;
|
||
|
cpu {
|
||
|
sound-dai = <&lpass_cpu LPASS_DP_RX>;
|
||
|
};
|
||
|
|
||
|
codec {
|
||
|
sound-dai = <&mdss_dp>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&qfprom {
|
||
|
vcc-supply = <&pp1800_l11a>;
|
||
|
};
|
||
|
|
||
|
&qspi {
|
||
|
status = "okay";
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <&qspi_clk>, <&qspi_cs0>, <&qspi_data01>;
|
||
|
|
||
|
flash@0 {
|
||
|
compatible = "jedec,spi-nor";
|
||
|
reg = <0>;
|
||
|
|
||
|
spi-max-frequency = <37500000>;
|
||
|
spi-tx-bus-width = <2>;
|
||
|
spi-rx-bus-width = <2>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&apps_rsc {
|
||
|
regulators-0 {
|
||
|
compatible = "qcom,pm6150-rpmh-regulators";
|
||
|
qcom,pmic-id = "a";
|
||
|
|
||
|
vddpx_1:
|
||
|
vdd2:
|
||
|
pp1125_s1a: smps1 {
|
||
|
regulator-min-microvolt = <1128000>;
|
||
|
regulator-max-microvolt = <1128000>;
|
||
|
};
|
||
|
|
||
|
vdd_qlink_lv:
|
||
|
vdd_qlink_lv_ck:
|
||
|
vdd_qusb_hs0_core:
|
||
|
vdd_ufs1_core:
|
||
|
vdda_mipi_csi0_0p9:
|
||
|
vdda_mipi_csi1_0p9:
|
||
|
vdda_mipi_csi2_0p9:
|
||
|
vdda_mipi_csi3_0p9:
|
||
|
vdda_mipi_dsi0_pll:
|
||
|
vdda_pll_cc_ebi01:
|
||
|
vdda_qrefs_0p9:
|
||
|
vdda_usb_ss_dp_core:
|
||
|
pp900_l4a: ldo4 {
|
||
|
regulator-min-microvolt = <824000>;
|
||
|
regulator-max-microvolt = <928000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
|
};
|
||
|
|
||
|
vdd_cx_wlan:
|
||
|
pp800_l9a: ldo9 {
|
||
|
regulator-min-microvolt = <488000>;
|
||
|
regulator-max-microvolt = <800000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
|
};
|
||
|
|
||
|
vdd1:
|
||
|
vddpx_3:
|
||
|
vddpx_7:
|
||
|
vio_in:
|
||
|
pp1800_l10a: ldo10 {
|
||
|
regulator-min-microvolt = <1800000>;
|
||
|
regulator-max-microvolt = <1800000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
|
};
|
||
|
|
||
|
vdd_qfprom:
|
||
|
vdda_apc1_cs_1p8:
|
||
|
vdda_qrefs_1p8:
|
||
|
vdda_qusb_hs0_1p8:
|
||
|
vddpx_11:
|
||
|
vreg_bb_clk:
|
||
|
pp1800_l11a: ldo11 {
|
||
|
regulator-min-microvolt = <1800000>;
|
||
|
regulator-max-microvolt = <1800000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
|
};
|
||
|
|
||
|
mcp_vccq:
|
||
|
pp1800_l12a_r: ldo12 {
|
||
|
regulator-min-microvolt = <1800000>;
|
||
|
regulator-max-microvolt = <1800000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
|
};
|
||
|
|
||
|
/*
|
||
|
* On trogdor this needs to match l10a since we use it to
|
||
|
* give power to things like SPI flash which communicate back
|
||
|
* on lines powered by l10a. Thus we force to 1.8V.
|
||
|
*/
|
||
|
pp1800_l13a: ldo13 {
|
||
|
regulator-min-microvolt = <1800000>;
|
||
|
regulator-max-microvolt = <1800000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
|
};
|
||
|
|
||
|
pp1800_prox:
|
||
|
pp1800_l14a: ldo14 {
|
||
|
regulator-min-microvolt = <1800000>;
|
||
|
regulator-max-microvolt = <1800000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
|
};
|
||
|
|
||
|
pp1800_alc5682:
|
||
|
pp1800_l15a: ldo15 {
|
||
|
regulator-min-microvolt = <1800000>;
|
||
|
regulator-max-microvolt = <1800000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
|
};
|
||
|
|
||
|
vdda_qusb_hs0_3p1:
|
||
|
vdd_pdphy:
|
||
|
pp3100_l17a: ldo17 {
|
||
|
regulator-min-microvolt = <2920000>;
|
||
|
regulator-max-microvolt = <3232000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
|
};
|
||
|
|
||
|
pp1800_pen:
|
||
|
pp1800_l18a: ldo18 {
|
||
|
regulator-min-microvolt = <1800000>;
|
||
|
regulator-max-microvolt = <1800000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
|
};
|
||
|
|
||
|
mcp_vcc:
|
||
|
pp2850_l19a: ldo19 {
|
||
|
regulator-min-microvolt = <2960000>;
|
||
|
regulator-max-microvolt = <2960000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
regulators-1 {
|
||
|
compatible = "qcom,pm6150l-rpmh-regulators";
|
||
|
qcom,pmic-id = "c";
|
||
|
|
||
|
pp1300_s8c: smps8 {
|
||
|
regulator-min-microvolt = <1120000>;
|
||
|
regulator-max-microvolt = <1408000>;
|
||
|
};
|
||
|
|
||
|
pp1800_l1c: ldo1 {
|
||
|
regulator-min-microvolt = <1616000>;
|
||
|
regulator-max-microvolt = <1984000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
|
};
|
||
|
|
||
|
vdd_wcss_adc_dac:
|
||
|
pp1300_l2c: ldo2 {
|
||
|
regulator-min-microvolt = <1168000>;
|
||
|
regulator-max-microvolt = <1304000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
|
};
|
||
|
|
||
|
pp1200_brij:
|
||
|
vdd_ufs1_1p2:
|
||
|
vdda_csi0_1p25:
|
||
|
vdda_csi1_1p25:
|
||
|
vdda_csi2_1p25:
|
||
|
vdda_csi3_1p25:
|
||
|
vdda_hv_ebi0:
|
||
|
vdda_mipi_dsi0_1p2:
|
||
|
vdda_usb_ss_dp_1p2:
|
||
|
vddpx_10:
|
||
|
pp1200_l3c: ldo3 {
|
||
|
regulator-min-microvolt = <1200000>;
|
||
|
regulator-max-microvolt = <1200000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
|
};
|
||
|
|
||
|
vddpx_2:
|
||
|
ppvar_l6c: ldo6 {
|
||
|
regulator-min-microvolt = <1800000>;
|
||
|
regulator-max-microvolt = <2952000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
|
};
|
||
|
|
||
|
pp3300_l7c: ldo7 {
|
||
|
regulator-min-microvolt = <3304000>;
|
||
|
regulator-max-microvolt = <3304000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
|
};
|
||
|
|
||
|
pp1800_brij_vccio:
|
||
|
pp1800_edp_vpll:
|
||
|
pp1800_l8c: ldo8 {
|
||
|
regulator-min-microvolt = <1800000>;
|
||
|
regulator-max-microvolt = <1800000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
|
};
|
||
|
|
||
|
pp2950_l9c: ldo9 {
|
||
|
regulator-min-microvolt = <2952000>;
|
||
|
regulator-max-microvolt = <2952000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
|
};
|
||
|
|
||
|
pp3300_l10c: ldo10 {
|
||
|
regulator-min-microvolt = <3000000>;
|
||
|
regulator-max-microvolt = <3400000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
|
};
|
||
|
|
||
|
pp3300_l11c: ldo11 {
|
||
|
regulator-min-microvolt = <3000000>;
|
||
|
regulator-max-microvolt = <3400000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
|
};
|
||
|
|
||
|
src_vreg_bob: bob {
|
||
|
regulator-min-microvolt = <3008000>;
|
||
|
regulator-max-microvolt = <3960000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
ap_ec_spi: &spi6 {
|
||
|
status = "okay";
|
||
|
cros_ec: ec@0 {
|
||
|
compatible = "google,cros-ec-spi";
|
||
|
reg = <0>;
|
||
|
interrupt-parent = <&tlmm>;
|
||
|
interrupts = <94 IRQ_TYPE_LEVEL_LOW>;
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <&ap_ec_int_l>;
|
||
|
spi-max-frequency = <3000000>;
|
||
|
|
||
|
cros_ec_pwm: pwm {
|
||
|
compatible = "google,cros-ec-pwm";
|
||
|
#pwm-cells = <1>;
|
||
|
};
|
||
|
|
||
|
i2c_tunnel: i2c-tunnel {
|
||
|
compatible = "google,cros-ec-i2c-tunnel";
|
||
|
google,remote-bus = <0>;
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
};
|
||
|
|
||
|
typec {
|
||
|
compatible = "google,cros-ec-typec";
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
|
||
|
usb_c0: connector@0 {
|
||
|
compatible = "usb-c-connector";
|
||
|
reg = <0>;
|
||
|
label = "left";
|
||
|
power-role = "dual";
|
||
|
data-role = "host";
|
||
|
try-power-role = "source";
|
||
|
};
|
||
|
|
||
|
usb_c1: connector@1 {
|
||
|
compatible = "usb-c-connector";
|
||
|
reg = <1>;
|
||
|
label = "right";
|
||
|
power-role = "dual";
|
||
|
data-role = "host";
|
||
|
try-power-role = "source";
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
ap_h1_spi: &spi0 {
|
||
|
status = "okay";
|
||
|
cr50: tpm@0 {
|
||
|
compatible = "google,cr50";
|
||
|
reg = <0>;
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <&h1_ap_int_odl>;
|
||
|
spi-max-frequency = <800000>;
|
||
|
interrupt-parent = <&tlmm>;
|
||
|
interrupts = <42 IRQ_TYPE_EDGE_RISING>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&camcc {
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
&dsi0 {
|
||
|
status = "okay";
|
||
|
vdda-supply = <&vdda_mipi_dsi0_1p2>;
|
||
|
};
|
||
|
|
||
|
&dsi0_out {
|
||
|
data-lanes = <0 1 2 3>;
|
||
|
};
|
||
|
|
||
|
&dsi_phy {
|
||
|
status = "okay";
|
||
|
vdds-supply = <&vdda_mipi_dsi0_pll>;
|
||
|
};
|
||
|
|
||
|
ap_sar_sensor_i2c: &i2c5 {
|
||
|
clock-frequency = <400000>;
|
||
|
|
||
|
ap_sar_sensor: proximity@28 {
|
||
|
compatible = "semtech,sx9310";
|
||
|
reg = <0x28>;
|
||
|
#io-channel-cells = <1>;
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <&p_sensor_int_l>;
|
||
|
|
||
|
interrupt-parent = <&tlmm>;
|
||
|
interrupts = <24 IRQ_TYPE_LEVEL_LOW>;
|
||
|
|
||
|
vdd-supply = <&pp3300_a>;
|
||
|
svdd-supply = <&pp1800_prox>;
|
||
|
|
||
|
label = "proximity-wifi";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
ap_tp_i2c: &i2c7 {
|
||
|
clock-frequency = <400000>;
|
||
|
|
||
|
trackpad: trackpad@15 {
|
||
|
compatible = "elan,ekth3000";
|
||
|
reg = <0x15>;
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <&tp_int_odl>;
|
||
|
|
||
|
interrupt-parent = <&tlmm>;
|
||
|
interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
|
||
|
|
||
|
vcc-supply = <&pp3300_fp_tp>;
|
||
|
|
||
|
wakeup-source;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
hp_i2c: &i2c9 {
|
||
|
status = "okay";
|
||
|
clock-frequency = <400000>;
|
||
|
|
||
|
alc5682: codec@1a {
|
||
|
compatible = "realtek,rt5682i";
|
||
|
reg = <0x1a>;
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <&hp_irq>;
|
||
|
|
||
|
#sound-dai-cells = <1>;
|
||
|
|
||
|
interrupt-parent = <&tlmm>;
|
||
|
/*
|
||
|
* This will get ignored because the interrupt type
|
||
|
* is set in rt5682.c.
|
||
|
*/
|
||
|
interrupts = <28 IRQ_TYPE_EDGE_BOTH>;
|
||
|
|
||
|
AVDD-supply = <&pp1800_alc5682>;
|
||
|
DBVDD-supply = <&pp1800_alc5682>;
|
||
|
LDO1-IN-supply = <&pp1800_alc5682>;
|
||
|
MICVDD-supply = <&pp3300_codec>;
|
||
|
VBAT-supply = <&pp3300_audio>;
|
||
|
|
||
|
realtek,dmic1-data-pin = <1>;
|
||
|
realtek,dmic1-clk-pin = <1>;
|
||
|
realtek,jd-src = <1>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&lpass_cpu {
|
||
|
status = "okay";
|
||
|
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <&sec_mi2s_active>, <&pri_mi2s_active>, <&pri_mi2s_mclk_active>;
|
||
|
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
|
||
|
dai-link@0 {
|
||
|
reg = <MI2S_PRIMARY>;
|
||
|
qcom,playback-sd-lines = <1>;
|
||
|
qcom,capture-sd-lines = <0>;
|
||
|
};
|
||
|
|
||
|
secondary_mi2s: dai-link@1 {
|
||
|
reg = <MI2S_SECONDARY>;
|
||
|
qcom,playback-sd-lines = <0>;
|
||
|
};
|
||
|
|
||
|
dai-link@5 {
|
||
|
reg = <LPASS_DP_RX>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&mdp {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&mdss {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&mdss_dp {
|
||
|
status = "okay";
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <&dp_hot_plug_det>;
|
||
|
};
|
||
|
|
||
|
&mdss_dp_out {
|
||
|
data-lanes = <0 1>;
|
||
|
link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000>;
|
||
|
};
|
||
|
|
||
|
&pm6150_adc {
|
||
|
charger-thermistor@4f {
|
||
|
reg = <ADC5_AMUX_THM3_100K_PU>;
|
||
|
qcom,ratiometric;
|
||
|
qcom,hw-settle-time = <200>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&pm6150_adc_tm {
|
||
|
status = "okay";
|
||
|
|
||
|
charger-thermistor@0 {
|
||
|
reg = <0>;
|
||
|
io-channels = <&pm6150_adc ADC5_AMUX_THM3_100K_PU>;
|
||
|
qcom,ratiometric;
|
||
|
qcom,hw-settle-time-us = <200>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&pm6150_pon {
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
&qupv3_id_0 {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&qupv3_id_1 {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&remoteproc_mpss {
|
||
|
status = "okay";
|
||
|
compatible = "qcom,sc7180-mss-pil";
|
||
|
reg = <0 0x04080000 0 0x4040>, <0 0x04180000 0 0x48>;
|
||
|
reg-names = "qdsp6", "rmb";
|
||
|
|
||
|
clocks = <&gcc GCC_MSS_CFG_AHB_CLK>,
|
||
|
<&gcc GCC_MSS_Q6_MEMNOC_AXI_CLK>,
|
||
|
<&gcc GCC_MSS_NAV_AXI_CLK>,
|
||
|
<&gcc GCC_MSS_SNOC_AXI_CLK>,
|
||
|
<&gcc GCC_MSS_MFAB_AXIS_CLK>,
|
||
|
<&rpmhcc RPMH_CXO_CLK>;
|
||
|
clock-names = "iface", "bus", "nav", "snoc_axi", "mnoc_axi", "xo";
|
||
|
|
||
|
iommus = <&apps_smmu 0x461 0x0>, <&apps_smmu 0x444 0x3>;
|
||
|
memory-region = <&mba_mem>, <&mpss_mem>, <&mdata_mem>;
|
||
|
|
||
|
/* This gets overridden for SKUs with LTE support. */
|
||
|
firmware-name = "qcom/sc7180-trogdor/modem-nolte/mba.mbn",
|
||
|
"qcom/sc7180-trogdor/modem-nolte/qdsp6sw.mbn";
|
||
|
|
||
|
resets = <&aoss_reset AOSS_CC_MSS_RESTART>,
|
||
|
<&pdc_reset PDC_MODEM_SYNC_RESET>;
|
||
|
reset-names = "mss_restart", "pdc_reset";
|
||
|
|
||
|
qcom,halt-regs = <&tcsr_regs_1 0x3000 0x5000 0x4000>;
|
||
|
qcom,spare-regs = <&tcsr_regs_2 0xb3e4>;
|
||
|
};
|
||
|
|
||
|
&sdhc_1 {
|
||
|
status = "okay";
|
||
|
|
||
|
pinctrl-names = "default", "sleep";
|
||
|
pinctrl-0 = <&sdc1_on>;
|
||
|
pinctrl-1 = <&sdc1_off>;
|
||
|
vmmc-supply = <&mcp_vcc>;
|
||
|
vqmmc-supply = <&mcp_vccq>;
|
||
|
};
|
||
|
|
||
|
&sdhc_2 {
|
||
|
pinctrl-names = "default", "sleep";
|
||
|
pinctrl-0 = <&sdc2_on>;
|
||
|
pinctrl-1 = <&sdc2_off>;
|
||
|
vmmc-supply = <&pp2950_l9c>;
|
||
|
vqmmc-supply = <&ppvar_l6c>;
|
||
|
|
||
|
cd-gpios = <&tlmm 69 GPIO_ACTIVE_LOW>;
|
||
|
};
|
||
|
|
||
|
&spi0 {
|
||
|
pinctrl-0 = <&qup_spi0_spi>, <&qup_spi0_cs_gpio>;
|
||
|
cs-gpios = <&tlmm 37 GPIO_ACTIVE_LOW>;
|
||
|
};
|
||
|
|
||
|
&spi6 {
|
||
|
pinctrl-0 = <&qup_spi6_spi>, <&qup_spi6_cs_gpio>;
|
||
|
cs-gpios = <&tlmm 62 GPIO_ACTIVE_LOW>;
|
||
|
};
|
||
|
|
||
|
ap_spi_fp: &spi10 {
|
||
|
pinctrl-0 = <&qup_spi10_spi>, <&qup_spi10_cs_gpio>;
|
||
|
cs-gpios = <&tlmm 89 GPIO_ACTIVE_LOW>;
|
||
|
|
||
|
cros_ec_fp: ec@0 {
|
||
|
compatible = "google,cros-ec-fp", "google,cros-ec-spi";
|
||
|
reg = <0>;
|
||
|
interrupt-parent = <&tlmm>;
|
||
|
interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <&fp_to_ap_irq_l>, <&fp_rst_l>, <&fpmcu_boot0>;
|
||
|
boot0-gpios = <&tlmm 10 GPIO_ACTIVE_HIGH>;
|
||
|
reset-gpios = <&tlmm 22 GPIO_ACTIVE_LOW>;
|
||
|
spi-max-frequency = <3000000>;
|
||
|
vdd-supply = <&pp3300_fp_tp>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
#include <arm/cros-ec-sbs.dtsi>
|
||
|
|
||
|
&uart3 {
|
||
|
status = "okay";
|
||
|
|
||
|
/delete-property/interrupts;
|
||
|
interrupts-extended = <&intc GIC_SPI 604 IRQ_TYPE_LEVEL_HIGH>,
|
||
|
<&tlmm 41 IRQ_TYPE_EDGE_FALLING>;
|
||
|
|
||
|
pinctrl-names = "default", "sleep";
|
||
|
pinctrl-1 = <&qup_uart3_sleep>;
|
||
|
|
||
|
bluetooth: bluetooth {
|
||
|
compatible = "qcom,wcn3991-bt";
|
||
|
vddio-supply = <&pp1800_l10a>;
|
||
|
vddxo-supply = <&pp1800_l1c>;
|
||
|
vddrf-supply = <&pp1300_l2c>;
|
||
|
vddch0-supply = <&pp3300_l10c>;
|
||
|
max-speed = <3200000>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&uart8 {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&usb_1 {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&usb_1_dwc3 {
|
||
|
dr_mode = "host";
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
|
||
|
/* 2.x hub on port 1 */
|
||
|
usb_hub_2_x: hub@1 {
|
||
|
compatible = "usbbda,5411";
|
||
|
reg = <1>;
|
||
|
vdd-supply = <&pp3300_hub>;
|
||
|
peer-hub = <&usb_hub_3_x>;
|
||
|
};
|
||
|
|
||
|
/* 3.x hub on port 2 */
|
||
|
usb_hub_3_x: hub@2 {
|
||
|
compatible = "usbbda,411";
|
||
|
reg = <2>;
|
||
|
vdd-supply = <&pp3300_hub>;
|
||
|
peer-hub = <&usb_hub_2_x>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&usb_1_hsphy {
|
||
|
status = "okay";
|
||
|
vdd-supply = <&vdd_qusb_hs0_core>;
|
||
|
vdda-pll-supply = <&vdda_qusb_hs0_1p8>;
|
||
|
vdda-phy-dpdm-supply = <&vdda_qusb_hs0_3p1>;
|
||
|
qcom,imp-res-offset-value = <8>;
|
||
|
qcom,preemphasis-level = <QUSB2_V2_PREEMPHASIS_15_PERCENT>;
|
||
|
qcom,preemphasis-width = <QUSB2_V2_PREEMPHASIS_WIDTH_HALF_BIT>;
|
||
|
qcom,bias-ctrl-value = <0x22>;
|
||
|
qcom,charge-ctrl-value = <3>;
|
||
|
qcom,hsdisc-trim-value = <0>;
|
||
|
};
|
||
|
|
||
|
&usb_1_qmpphy {
|
||
|
status = "okay";
|
||
|
vdda-phy-supply = <&vdda_usb_ss_dp_1p2>;
|
||
|
vdda-pll-supply = <&vdda_usb_ss_dp_core>;
|
||
|
};
|
||
|
|
||
|
&venus {
|
||
|
video-firmware {
|
||
|
iommus = <&apps_smmu 0x0c42 0x0>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&wifi {
|
||
|
status = "okay";
|
||
|
vdd-0.8-cx-mx-supply = <&vdd_cx_wlan>;
|
||
|
vdd-1.8-xo-supply = <&pp1800_l1c>;
|
||
|
vdd-1.3-rfa-supply = <&pp1300_l2c>;
|
||
|
vdd-3.3-ch0-supply = <&pp3300_l10c>;
|
||
|
vdd-3.3-ch1-supply = <&pp3300_l11c>;
|
||
|
|
||
|
wifi-firmware {
|
||
|
iommus = <&apps_smmu 0xc2 0x1>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
/* PINCTRL - additions to nodes defined in sc7180.dtsi */
|
||
|
|
||
|
&dp_hot_plug_det {
|
||
|
bias-disable;
|
||
|
};
|
||
|
|
||
|
&pri_mi2s_active {
|
||
|
drive-strength = <2>;
|
||
|
bias-pull-down;
|
||
|
};
|
||
|
|
||
|
&pri_mi2s_mclk_active {
|
||
|
drive-strength = <2>;
|
||
|
bias-pull-down;
|
||
|
};
|
||
|
|
||
|
&qspi_cs0 {
|
||
|
bias-disable;
|
||
|
};
|
||
|
|
||
|
&qspi_clk {
|
||
|
drive-strength = <8>;
|
||
|
bias-disable;
|
||
|
};
|
||
|
|
||
|
&qspi_data01 {
|
||
|
/* High-Z when no transfers; nice to park the lines */
|
||
|
bias-pull-up;
|
||
|
};
|
||
|
|
||
|
&qup_i2c2_default {
|
||
|
drive-strength = <2>;
|
||
|
|
||
|
/* Has external pullup */
|
||
|
bias-disable;
|
||
|
};
|
||
|
|
||
|
&qup_i2c4_default {
|
||
|
drive-strength = <2>;
|
||
|
|
||
|
/* Has external pullup */
|
||
|
bias-disable;
|
||
|
};
|
||
|
|
||
|
&qup_i2c5_default {
|
||
|
drive-strength = <2>;
|
||
|
|
||
|
/* Has external pullup */
|
||
|
bias-disable;
|
||
|
};
|
||
|
|
||
|
&qup_i2c7_default {
|
||
|
drive-strength = <2>;
|
||
|
|
||
|
/* Has external pullup */
|
||
|
bias-disable;
|
||
|
};
|
||
|
|
||
|
&qup_i2c9_default {
|
||
|
drive-strength = <2>;
|
||
|
|
||
|
/* Has external pullup */
|
||
|
bias-disable;
|
||
|
};
|
||
|
|
||
|
&qup_spi0_spi {
|
||
|
drive-strength = <2>;
|
||
|
bias-disable;
|
||
|
};
|
||
|
|
||
|
&qup_spi0_cs_gpio {
|
||
|
drive-strength = <2>;
|
||
|
bias-disable;
|
||
|
};
|
||
|
|
||
|
&qup_spi6_spi {
|
||
|
drive-strength = <2>;
|
||
|
bias-disable;
|
||
|
};
|
||
|
|
||
|
&qup_spi6_cs_gpio {
|
||
|
drive-strength = <2>;
|
||
|
bias-disable;
|
||
|
};
|
||
|
|
||
|
&qup_spi10_spi {
|
||
|
drive-strength = <2>;
|
||
|
bias-disable;
|
||
|
};
|
||
|
|
||
|
&qup_spi10_cs_gpio {
|
||
|
drive-strength = <2>;
|
||
|
bias-disable;
|
||
|
};
|
||
|
|
||
|
&qup_uart3_cts {
|
||
|
/*
|
||
|
* Configure a pull-down on CTS to match the pull of
|
||
|
* the Bluetooth module.
|
||
|
*/
|
||
|
bias-pull-down;
|
||
|
};
|
||
|
|
||
|
&qup_uart3_rts {
|
||
|
/* We'll drive RTS, so no pull */
|
||
|
drive-strength = <2>;
|
||
|
bias-disable;
|
||
|
};
|
||
|
|
||
|
&qup_uart3_tx {
|
||
|
/* We'll drive TX, so no pull */
|
||
|
drive-strength = <2>;
|
||
|
bias-disable;
|
||
|
};
|
||
|
|
||
|
&qup_uart3_rx {
|
||
|
/*
|
||
|
* Configure a pull-up on RX. This is needed to avoid
|
||
|
* garbage data when the TX pin of the Bluetooth module is
|
||
|
* in tri-state (module powered off or not driving the
|
||
|
* signal yet).
|
||
|
*/
|
||
|
bias-pull-up;
|
||
|
};
|
||
|
|
||
|
&qup_uart8_tx {
|
||
|
drive-strength = <2>;
|
||
|
bias-disable;
|
||
|
};
|
||
|
|
||
|
&qup_uart8_rx {
|
||
|
drive-strength = <2>;
|
||
|
bias-pull-up;
|
||
|
};
|
||
|
|
||
|
&sec_mi2s_active {
|
||
|
drive-strength = <2>;
|
||
|
bias-pull-down;
|
||
|
};
|
||
|
|
||
|
/* PINCTRL - board-specific pinctrl */
|
||
|
|
||
|
&pm6150_gpios {
|
||
|
status = "disabled"; /* No GPIOs are connected */
|
||
|
};
|
||
|
|
||
|
&pm6150l_gpios {
|
||
|
gpio-line-names = "AP_SUSPEND",
|
||
|
"",
|
||
|
"",
|
||
|
"",
|
||
|
"",
|
||
|
"",
|
||
|
"",
|
||
|
"",
|
||
|
"",
|
||
|
"",
|
||
|
"",
|
||
|
"";
|
||
|
};
|
||
|
|
||
|
&tlmm {
|
||
|
/*
|
||
|
* pinctrl settings for pins that have no real owners.
|
||
|
*/
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <&bios_flash_wp_l>, <&ap_suspend_l_neuter>;
|
||
|
|
||
|
amp_en: amp-en-state {
|
||
|
pins = "gpio23";
|
||
|
function = "gpio";
|
||
|
bias-pull-down;
|
||
|
};
|
||
|
|
||
|
ap_ec_int_l: ap-ec-int-l-state {
|
||
|
pins = "gpio94";
|
||
|
function = "gpio";
|
||
|
input-enable;
|
||
|
bias-pull-up;
|
||
|
};
|
||
|
|
||
|
ap_edp_bklten: ap-edp-bklten-state {
|
||
|
pins = "gpio12";
|
||
|
function = "gpio";
|
||
|
drive-strength = <2>;
|
||
|
bias-disable;
|
||
|
|
||
|
/* Force backlight to be disabled to match state at boot. */
|
||
|
output-low;
|
||
|
};
|
||
|
|
||
|
ap_suspend_l_neuter: ap-suspend-l-neuter-state {
|
||
|
pins = "gpio27";
|
||
|
function = "gpio";
|
||
|
bias-disable;
|
||
|
};
|
||
|
|
||
|
bios_flash_wp_l: bios-flash-wp-l-state {
|
||
|
pins = "gpio66";
|
||
|
function = "gpio";
|
||
|
input-enable;
|
||
|
bias-disable;
|
||
|
};
|
||
|
|
||
|
edp_brij_en: edp-brij-en-state {
|
||
|
pins = "gpio104";
|
||
|
function = "gpio";
|
||
|
drive-strength = <2>;
|
||
|
bias-disable;
|
||
|
};
|
||
|
|
||
|
en_pp3300_codec: en-pp3300-codec-state {
|
||
|
pins = "gpio83";
|
||
|
function = "gpio";
|
||
|
drive-strength = <2>;
|
||
|
bias-disable;
|
||
|
};
|
||
|
|
||
|
en_pp3300_dx_edp: en-pp3300-dx-edp-state {
|
||
|
pins = "gpio30";
|
||
|
function = "gpio";
|
||
|
drive-strength = <2>;
|
||
|
bias-disable;
|
||
|
};
|
||
|
|
||
|
en_pp3300_hub: en-pp3300-hub-state {
|
||
|
pins = "gpio84";
|
||
|
function = "gpio";
|
||
|
drive-strength = <2>;
|
||
|
bias-disable;
|
||
|
};
|
||
|
|
||
|
fp_rst_l: fp-rst-l-state {
|
||
|
pins = "gpio22";
|
||
|
function = "gpio";
|
||
|
bias-disable;
|
||
|
drive-strength = <2>;
|
||
|
};
|
||
|
|
||
|
fp_to_ap_irq_l: fp-to-ap-irq-l-state {
|
||
|
pins = "gpio4";
|
||
|
function = "gpio";
|
||
|
input-enable;
|
||
|
|
||
|
/* Has external pullup */
|
||
|
bias-disable;
|
||
|
};
|
||
|
|
||
|
fpmcu_boot0: fpmcu-boot0-state {
|
||
|
pins = "gpio10";
|
||
|
function = "gpio";
|
||
|
bias-disable;
|
||
|
};
|
||
|
|
||
|
h1_ap_int_odl: h1-ap-int-odl-state {
|
||
|
pins = "gpio42";
|
||
|
function = "gpio";
|
||
|
input-enable;
|
||
|
bias-pull-up;
|
||
|
};
|
||
|
|
||
|
hp_irq: hp-irq-state {
|
||
|
pins = "gpio28";
|
||
|
function = "gpio";
|
||
|
bias-pull-up;
|
||
|
};
|
||
|
|
||
|
pen_irq_l: pen-irq-l-state {
|
||
|
pins = "gpio21";
|
||
|
function = "gpio";
|
||
|
|
||
|
/* Has external pullup */
|
||
|
bias-disable;
|
||
|
};
|
||
|
|
||
|
pen_pdct_l: pen-pdct-l-state-state {
|
||
|
pins = "gpio52";
|
||
|
function = "gpio";
|
||
|
|
||
|
/* Has external pullup */
|
||
|
bias-disable;
|
||
|
};
|
||
|
|
||
|
pen_rst_odl: pen-rst-odl-state {
|
||
|
pins = "gpio18";
|
||
|
function = "gpio";
|
||
|
bias-disable;
|
||
|
drive-strength = <2>;
|
||
|
|
||
|
/*
|
||
|
* The pen driver doesn't currently support
|
||
|
* driving this reset line. By specifying
|
||
|
* output-high here we're relying on the fact
|
||
|
* that this pin has a default pulldown at boot
|
||
|
* (which makes sure the pen was in reset if it
|
||
|
* was powered) and then we set it high here to
|
||
|
* take it out of reset. Better would be if the
|
||
|
* pen driver could control this and we could
|
||
|
* remove "output-high" here.
|
||
|
*/
|
||
|
output-high; /* TODO: Remove this? */
|
||
|
};
|
||
|
|
||
|
p_sensor_int_l: p-sensor-int-l-state {
|
||
|
pins = "gpio24";
|
||
|
function = "gpio";
|
||
|
input-enable;
|
||
|
|
||
|
/* Has external pullup */
|
||
|
bias-disable;
|
||
|
};
|
||
|
|
||
|
qup_uart3_sleep: qup-uart3-sleep-state {
|
||
|
cts-pins {
|
||
|
/*
|
||
|
* Configure a pull-down on CTS to match the pull of
|
||
|
* the Bluetooth module.
|
||
|
*/
|
||
|
pins = "gpio38";
|
||
|
function = "gpio";
|
||
|
bias-pull-down;
|
||
|
};
|
||
|
|
||
|
rts-pins {
|
||
|
/*
|
||
|
* Configure pull-down on RTS. As RTS is active low
|
||
|
* signal, pull it low to indicate the BT SoC that it
|
||
|
* can wakeup the system anytime from suspend state by
|
||
|
* pulling RX low (by sending wakeup bytes).
|
||
|
*/
|
||
|
pins = "gpio39";
|
||
|
function = "gpio";
|
||
|
bias-pull-down;
|
||
|
};
|
||
|
|
||
|
tx-pins {
|
||
|
/*
|
||
|
* Configure pull-up on TX when it isn't actively driven
|
||
|
* to prevent BT SoC from receiving garbage during sleep.
|
||
|
*/
|
||
|
pins = "gpio40";
|
||
|
function = "gpio";
|
||
|
bias-pull-up;
|
||
|
};
|
||
|
|
||
|
rx-pins {
|
||
|
/*
|
||
|
* Configure a pull-up on RX. This is needed to avoid
|
||
|
* garbage data when the TX pin of the Bluetooth module
|
||
|
* is floating which may cause spurious wakeups.
|
||
|
*/
|
||
|
pins = "gpio41";
|
||
|
function = "gpio";
|
||
|
bias-pull-up;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
/* Named trackpad_int_1v8_odl on earlier revision schematics */
|
||
|
trackpad_int_1v8_odl:
|
||
|
tp_int_odl: tp-int-odl-state {
|
||
|
pins = "gpio0";
|
||
|
function = "gpio";
|
||
|
|
||
|
/* Has external pullup */
|
||
|
bias-disable;
|
||
|
};
|
||
|
|
||
|
ts_int_l: ts-int-l-state {
|
||
|
pins = "gpio9";
|
||
|
function = "gpio";
|
||
|
bias-pull-up;
|
||
|
};
|
||
|
|
||
|
ts_reset_l: ts-reset-l-state {
|
||
|
pins = "gpio8";
|
||
|
function = "gpio";
|
||
|
bias-disable;
|
||
|
|
||
|
/*
|
||
|
* The reset GPIO to the touchscreen takes almost 2ms to drop
|
||
|
* at the default drive strength. When we bump it up to 8mA it
|
||
|
* falls in under 500us. We want this to be fast since the Elan
|
||
|
* datasheet (and any drivers written based on it) talk about using
|
||
|
* a 500 us reset pulse.
|
||
|
*/
|
||
|
drive-strength = <8>;
|
||
|
};
|
||
|
|
||
|
sdc1_on: sdc1-on-state {
|
||
|
clk-pins {
|
||
|
pins = "sdc1_clk";
|
||
|
bias-disable;
|
||
|
drive-strength = <16>;
|
||
|
};
|
||
|
|
||
|
cmd-pins {
|
||
|
pins = "sdc1_cmd";
|
||
|
bias-pull-up;
|
||
|
drive-strength = <16>;
|
||
|
};
|
||
|
|
||
|
data-pins {
|
||
|
pins = "sdc1_data";
|
||
|
bias-pull-up;
|
||
|
drive-strength = <16>;
|
||
|
};
|
||
|
|
||
|
rclk-pins {
|
||
|
pins = "sdc1_rclk";
|
||
|
bias-pull-down;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
sdc1_off: sdc1-off-state {
|
||
|
clk-pins {
|
||
|
pins = "sdc1_clk";
|
||
|
bias-disable;
|
||
|
drive-strength = <2>;
|
||
|
};
|
||
|
|
||
|
cmd-pins {
|
||
|
pins = "sdc1_cmd";
|
||
|
bias-pull-up;
|
||
|
drive-strength = <2>;
|
||
|
};
|
||
|
|
||
|
data-pins {
|
||
|
pins = "sdc1_data";
|
||
|
bias-pull-up;
|
||
|
drive-strength = <2>;
|
||
|
};
|
||
|
|
||
|
rclk-pins {
|
||
|
pins = "sdc1_rclk";
|
||
|
bias-pull-down;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
sdc2_on: sdc2-on-state {
|
||
|
clk-pins {
|
||
|
pins = "sdc2_clk";
|
||
|
bias-disable;
|
||
|
drive-strength = <16>;
|
||
|
};
|
||
|
|
||
|
cmd-pins {
|
||
|
pins = "sdc2_cmd";
|
||
|
bias-pull-up;
|
||
|
drive-strength = <10>;
|
||
|
};
|
||
|
|
||
|
data-pins {
|
||
|
pins = "sdc2_data";
|
||
|
bias-pull-up;
|
||
|
drive-strength = <10>;
|
||
|
};
|
||
|
|
||
|
sd-cd-pins {
|
||
|
pins = "gpio69";
|
||
|
function = "gpio";
|
||
|
bias-pull-up;
|
||
|
drive-strength = <2>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
sdc2_off: sdc2-off-state {
|
||
|
clk-pins {
|
||
|
pins = "sdc2_clk";
|
||
|
bias-disable;
|
||
|
drive-strength = <2>;
|
||
|
};
|
||
|
|
||
|
cmd-pins {
|
||
|
pins = "sdc2_cmd";
|
||
|
bias-pull-up;
|
||
|
drive-strength = <2>;
|
||
|
};
|
||
|
|
||
|
data-pins {
|
||
|
pins = "sdc2_data";
|
||
|
bias-pull-up;
|
||
|
drive-strength = <2>;
|
||
|
};
|
||
|
|
||
|
sd-cd-pins {
|
||
|
pins = "gpio69";
|
||
|
function = "gpio";
|
||
|
bias-pull-up;
|
||
|
drive-strength = <2>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
uf_cam_en: uf-cam-en-state {
|
||
|
pins = "gpio6";
|
||
|
function = "gpio";
|
||
|
drive-strength = <2>;
|
||
|
|
||
|
/* External pull down */
|
||
|
bias-disable;
|
||
|
};
|
||
|
|
||
|
wf_cam_en: wf-cam-en-state {
|
||
|
pins = "gpio7";
|
||
|
function = "gpio";
|
||
|
drive-strength = <2>;
|
||
|
|
||
|
/* External pull down */
|
||
|
bias-disable;
|
||
|
};
|
||
|
};
|