| // SPDX-License-Identifier: BSD-3-Clause |
| /* |
| * Copyright (c) 2021, Konrad Dybcio <konrad.dybcio@somainline.org> |
| */ |
| |
| #include <dt-bindings/pinctrl/qcom,pmic-gpio.h> |
| #include <dt-bindings/regulator/qcom,rpmh-regulator.h> |
| #include "sm8350.dtsi" |
| #include "pm8350.dtsi" |
| #include "pm8350b.dtsi" |
| #include "pm8350c.dtsi" |
| #include "pmk8350.dtsi" |
| #include "pmr735a.dtsi" |
| #include "pmr735b.dtsi" |
| |
| / { |
| /* |
| * Yes, you are correct, there is NO MORE {msm,board,pmic}-id on SM8350! |
| * Adding it will cause the bootloader to go crazy and randomly crash |
| * shortly after closing UEFI boot services.. Perhaps that has something |
| * to do with the OS running inside a VM now..? |
| */ |
| |
| chassis-type = "handset"; |
| |
| chosen { |
| #address-cells = <2>; |
| #size-cells = <2>; |
| ranges; |
| |
| framebuffer: framebuffer@e1000000 { |
| compatible = "simple-framebuffer"; |
| reg = <0 0xe1000000 0 0x2300000>; |
| |
| /* The display, even though it's 4K, initializes at 1080-ish p */ |
| width = <1096>; |
| height = <2560>; |
| stride = <(1096 * 4)>; |
| format = "a8r8g8b8"; |
| /* |
| * That's (going to be) a lot of clocks, but it's necessary due |
| * to unused clk cleanup & no panel driver yet |
| */ |
| clocks = <&gcc GCC_DISP_HF_AXI_CLK>, |
| <&gcc GCC_DISP_SF_AXI_CLK>; |
| }; |
| }; |
| |
| gpio-keys { |
| compatible = "gpio-keys"; |
| |
| pinctrl-names = "default"; |
| pinctrl-0 = <&focus_n &snapshot_n &vol_down_n &g_assist_n>; |
| |
| key-camera-focus { |
| label = "Camera Focus"; |
| linux,code = <KEY_CAMERA_FOCUS>; |
| gpios = <&pm8350b_gpios 8 GPIO_ACTIVE_LOW>; |
| debounce-interval = <15>; |
| linux,can-disable; |
| wakeup-source; |
| }; |
| |
| key-camera-snapshot { |
| label = "Camera Snapshot"; |
| linux,code = <KEY_CAMERA>; |
| gpios = <&pm8350b_gpios 5 GPIO_ACTIVE_LOW>; |
| debounce-interval = <15>; |
| linux,can-disable; |
| wakeup-source; |
| }; |
| |
| key-google-assist { |
| label = "Google Assistant Key"; |
| gpios = <&pm8350_gpios 9 GPIO_ACTIVE_LOW>; |
| linux,code = <KEY_LEFTMETA>; |
| debounce-interval = <15>; |
| linux,can-disable; |
| wakeup-source; |
| }; |
| |
| key-vol-down { |
| label = "Volume Down"; |
| linux,code = <KEY_VOLUMEDOWN>; |
| gpios = <&pmk8350_gpios 3 GPIO_ACTIVE_LOW>; |
| debounce-interval = <15>; |
| linux,can-disable; |
| wakeup-source; |
| }; |
| }; |
| |
| reserved-memory { |
| cont_splash_mem: memory@e1000000 { |
| reg = <0 0xe1000000 0 0x2300000>; |
| no-map; |
| }; |
| |
| ramoops@ffc00000 { |
| compatible = "ramoops"; |
| reg = <0 0xffc00000 0 0x100000>; |
| console-size = <0x40000>; |
| record-size = <0x1000>; |
| no-map; |
| }; |
| }; |
| |
| vph_pwr: vph-pwr-regulator { |
| compatible = "regulator-fixed"; |
| regulator-name = "vph_pwr"; |
| regulator-min-microvolt = <3700000>; |
| regulator-max-microvolt = <3700000>; |
| |
| regulator-always-on; |
| regulator-boot-on; |
| }; |
| }; |
| |
| &adsp { |
| status = "okay"; |
| firmware-name = "qcom/sm8350/Sony/sagami/adsp.mbn"; |
| }; |
| |
| &apps_rsc { |
| regulators-0 { |
| compatible = "qcom,pm8350-rpmh-regulators"; |
| qcom,pmic-id = "b"; |
| |
| vdd-s1-supply = <&vph_pwr>; |
| vdd-s2-supply = <&vph_pwr>; |
| vdd-s3-supply = <&vph_pwr>; |
| vdd-s4-supply = <&vph_pwr>; |
| vdd-s5-supply = <&vph_pwr>; |
| vdd-s6-supply = <&vph_pwr>; |
| vdd-s7-supply = <&vph_pwr>; |
| vdd-s8-supply = <&vph_pwr>; |
| vdd-s9-supply = <&vph_pwr>; |
| vdd-s10-supply = <&vph_pwr>; |
| vdd-s11-supply = <&vph_pwr>; |
| vdd-s12-supply = <&vph_pwr>; |
| |
| vdd-l1-l4-supply = <&pm8350_s11>; |
| vdd-l2-l7-supply = <&vreg_bob>; |
| vdd-l3-l5-supply = <&vreg_bob>; |
| vdd-l6-l9-l10-supply = <&pm8350_s11>; |
| |
| /* |
| * ARC regulators: |
| * S5 - mx.lvl |
| * S6 - gfx.lvl |
| * S9 - mxc.lvl |
| */ |
| |
| pm8350_s10: smps10 { |
| regulator-name = "pm8350_s10"; |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1800000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| pm8350_s11: smps11 { |
| regulator-name = "pm8350_s11"; |
| regulator-min-microvolt = <752000>; |
| regulator-max-microvolt = <1000000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| pm8350_s12: smps12 { |
| regulator-name = "pm8350_s12"; |
| regulator-min-microvolt = <1224000>; |
| regulator-max-microvolt = <1360000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| pm8350_l1: ldo1 { |
| regulator-name = "pm8350_l1"; |
| regulator-min-microvolt = <912000>; |
| regulator-max-microvolt = <920000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| pm8350_l2: ldo2 { |
| regulator-name = "pm8350_l2"; |
| regulator-min-microvolt = <3072000>; |
| regulator-max-microvolt = <3072000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| pm8350_l3: ldo3 { |
| regulator-name = "pm8350_l3"; |
| regulator-min-microvolt = <904000>; |
| regulator-max-microvolt = <904000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| /* L4 - lmx.lvl (ARC) */ |
| |
| pm8350_l5: ldo5 { |
| regulator-name = "pm8350_l5"; |
| regulator-min-microvolt = <880000>; |
| regulator-max-microvolt = <888000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| regulator-allow-set-load; |
| regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM |
| RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| pm8350_l6: ldo6 { |
| regulator-name = "pm8350_l6"; |
| regulator-min-microvolt = <1200000>; |
| regulator-max-microvolt = <1208000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| regulator-allow-set-load; |
| regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM |
| RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| pm8350_l7: ldo7 { |
| regulator-name = "pm8350_l7"; |
| regulator-min-microvolt = <2400000>; |
| regulator-max-microvolt = <3008000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| regulator-allow-set-load; |
| regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM |
| RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| /* L8 - lcx.lvl (ARC) */ |
| |
| pm8350_l9: ldo9 { |
| regulator-name = "pm8350_l9"; |
| regulator-min-microvolt = <1200000>; |
| regulator-max-microvolt = <1200000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| regulator-allow-set-load; |
| regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM |
| RPMH_REGULATOR_MODE_HPM>; |
| }; |
| }; |
| |
| regulators-1 { |
| compatible = "qcom,pm8350c-rpmh-regulators"; |
| qcom,pmic-id = "c"; |
| |
| vdd-s1-supply = <&vph_pwr>; |
| vdd-s2-supply = <&vph_pwr>; |
| vdd-s3-supply = <&vph_pwr>; |
| vdd-s4-supply = <&vph_pwr>; |
| vdd-s5-supply = <&vph_pwr>; |
| vdd-s6-supply = <&vph_pwr>; |
| vdd-s7-supply = <&vph_pwr>; |
| vdd-s8-supply = <&vph_pwr>; |
| vdd-s9-supply = <&vph_pwr>; |
| vdd-s10-supply = <&vph_pwr>; |
| |
| vdd-l1-l12-supply = <&pm8350c_s1>; |
| vdd-l2-l8-supply = <&pm8350c_s1>; |
| vdd-l3-l4-l5-l7-l13-supply = <&vreg_bob>; |
| vdd-l6-l9-l11-supply = <&vreg_bob>; |
| vdd-l10-supply = <&pm8350_s12>; |
| |
| vdd-bob-supply = <&vph_pwr>; |
| |
| pm8350c_s1: smps1 { |
| regulator-name = "pm8350c_s1"; |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1952000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| /* S2 - ebi.lvl (ARC) */ |
| |
| pm8350c_s3: smps3 { |
| regulator-name = "pm8350c_s3"; |
| regulator-min-microvolt = <300000>; |
| regulator-max-microvolt = <704000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| /* |
| * ARC regulators: |
| * S4 - mss.lvl |
| * S6 - cx.lvl |
| * S8 - mmcx.lvl |
| */ |
| |
| pm8350c_s10: smps10 { |
| regulator-name = "pm8350c_s10"; |
| regulator-min-microvolt = <1048000>; |
| regulator-max-microvolt = <1128000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| pm8350c_l1: ldo1 { |
| regulator-name = "pm8350c_l1"; |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1800000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| pm8350c_l2: ldo2 { |
| regulator-name = "pm8350c_l2"; |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1800000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| pm8350c_l3: ldo3 { |
| regulator-name = "pm8350c_l3"; |
| regulator-min-microvolt = <3304000>; |
| regulator-max-microvolt = <3304000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| pm8350c_l4: ldo4 { |
| regulator-name = "pm8350c_l4"; |
| regulator-min-microvolt = <1704000>; |
| regulator-max-microvolt = <3000000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| pm8350c_l5: ldo5 { |
| regulator-name = "pm8350c_l5"; |
| regulator-min-microvolt = <1704000>; |
| regulator-max-microvolt = <3000000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| pm8350c_l6: ldo6 { |
| regulator-name = "pm8350c_l6"; |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <2960000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| pm8350c_l7: ldo7 { |
| regulator-name = "pm8350c_l7"; |
| regulator-min-microvolt = <3008000>; |
| regulator-max-microvolt = <3008000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| pm8350c_l8: ldo8 { |
| regulator-name = "pm8350c_l8"; |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1800000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| pm8350c_l9: ldo9 { |
| regulator-name = "pm8350c_l9"; |
| regulator-min-microvolt = <2960000>; |
| /* Originally max = 3008000 but SDHCI expects 2960000 */ |
| regulator-max-microvolt = <2960000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| pm8350c_l10: ldo10 { |
| regulator-name = "pm8350c_l10"; |
| regulator-min-microvolt = <1200000>; |
| regulator-max-microvolt = <1200000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| pm8350c_l11: ldo11 { |
| regulator-name = "pm8350c_l11"; |
| regulator-min-microvolt = <2400000>; |
| regulator-max-microvolt = <3008000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| pm8350c_l12: ldo12 { |
| regulator-name = "pm8350c_l12"; |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <2000000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| pm8350c_l13: ldo13 { |
| regulator-name = "pm8350c_l13"; |
| regulator-min-microvolt = <3000000>; |
| regulator-max-microvolt = <3000000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| vreg_bob: bob { |
| regulator-name = "vreg_bob"; |
| regulator-min-microvolt = <3400000>; |
| regulator-max-microvolt = <3960000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>; |
| }; |
| }; |
| |
| /* TODO: Add pm8350b (just one ldo) once the driver part is in */ |
| |
| regulators-2 { |
| compatible = "qcom,pmr735a-rpmh-regulators"; |
| qcom,pmic-id = "e"; |
| |
| vdd-s1-supply = <&vph_pwr>; |
| vdd-s2-supply = <&vph_pwr>; |
| vdd-s3-supply = <&vph_pwr>; |
| |
| vdd-l1-l2-supply = <&pmr735a_s2>; |
| vdd-l3-supply = <&pmr735a_s1>; |
| vdd-l4-supply = <&pm8350c_s1>; |
| vdd-l5-l6-supply = <&pm8350c_s1>; |
| vdd-l7-bob-supply = <&vreg_bob>; |
| |
| pmr735a_s1: smps1 { |
| regulator-name = "pmr735a_s1"; |
| regulator-min-microvolt = <1200000>; |
| regulator-max-microvolt = <1280000>; |
| }; |
| |
| pmr735a_s2: smps2 { |
| regulator-name = "pmr735a_s2"; |
| regulator-min-microvolt = <500000>; |
| regulator-max-microvolt = <976000>; |
| }; |
| |
| pmr735a_s3: smps3 { |
| regulator-name = "pmr735a_s3"; |
| regulator-min-microvolt = <2208000>; |
| regulator-max-microvolt = <2352000>; |
| }; |
| |
| pmr735a_l1: ldo1 { |
| regulator-name = "pmr735a_l1"; |
| regulator-min-microvolt = <912000>; |
| regulator-max-microvolt = <912000>; |
| }; |
| |
| pmr735a_l2: ldo2 { |
| regulator-name = "pmr735a_l2"; |
| regulator-min-microvolt = <1200000>; |
| regulator-max-microvolt = <1200000>; |
| }; |
| |
| pmr735a_l3: ldo3 { |
| regulator-name = "pmr735a_l3"; |
| regulator-min-microvolt = <1200000>; |
| regulator-max-microvolt = <1200000>; |
| }; |
| |
| pmr735a_l4: ldo4 { |
| regulator-name = "pmr735a_l4"; |
| regulator-min-microvolt = <1776000>; |
| regulator-max-microvolt = <1872000>; |
| }; |
| |
| pmr735a_l5: ldo5 { |
| regulator-name = "pmr735a_l5"; |
| regulator-min-microvolt = <800000>; |
| regulator-max-microvolt = <800000>; |
| }; |
| |
| pmr735a_l6: ldo6 { |
| regulator-name = "pmr735a_l6"; |
| regulator-min-microvolt = <480000>; |
| regulator-max-microvolt = <904000>; |
| }; |
| |
| pmr735a_l7: ldo7 { |
| regulator-name = "pmr735a_l7"; |
| regulator-min-microvolt = <2800000>; |
| regulator-max-microvolt = <2800000>; |
| }; |
| }; |
| }; |
| |
| &cdsp { |
| status = "okay"; |
| firmware-name = "qcom/sm8350/Sony/sagami/cdsp.mbn"; |
| }; |
| |
| &i2c1 { |
| status = "okay"; |
| clock-frequency = <1000000>; |
| |
| /* Some subset of SONY IMX663 camera sensor @ 38 */ |
| }; |
| |
| &i2c4 { |
| status = "okay"; |
| clock-frequency = <400000>; |
| |
| /* Samsung Touchscreen (needs I2C GPI DMA) @ 48 */ |
| }; |
| |
| &i2c11 { |
| status = "okay"; |
| clock-frequency = <1000000>; |
| |
| cs35l41_l: speaker-amp@40 { |
| compatible = "cirrus,cs35l41"; |
| reg = <0x40>; |
| interrupt-parent = <&tlmm>; |
| interrupts = <36 IRQ_TYPE_LEVEL_LOW>; |
| reset-gpios = <&tlmm 37 GPIO_ACTIVE_HIGH>; |
| cirrus,boost-peak-milliamp = <4000>; |
| cirrus,boost-ind-nanohenry = <1000>; |
| cirrus,boost-cap-microfarad = <15>; |
| cirrus,asp-sdout-hiz = <3>; |
| cirrus,gpio2-src-select = <2>; |
| cirrus,gpio2-output-enable; |
| #sound-dai-cells = <1>; |
| }; |
| |
| cs35l41_r: speaker-amp@41 { |
| compatible = "cirrus,cs35l41"; |
| reg = <0x41>; |
| interrupt-parent = <&tlmm>; |
| interrupts = <36 IRQ_TYPE_LEVEL_LOW>; |
| reset-gpios = <&tlmm 37 GPIO_ACTIVE_HIGH>; |
| cirrus,boost-peak-milliamp = <4000>; |
| cirrus,boost-ind-nanohenry = <1000>; |
| cirrus,boost-cap-microfarad = <15>; |
| cirrus,asp-sdout-hiz = <3>; |
| cirrus,gpio2-src-select = <2>; |
| cirrus,gpio2-output-enable; |
| #sound-dai-cells = <1>; |
| }; |
| }; |
| |
| &i2c12 { |
| status = "okay"; |
| /* Clock frequency was not specified downstream, let's park it to 100 KHz */ |
| clock-frequency = <100000>; |
| |
| /* AMS TCS3490 RGB+IR color sensor @ 72 */ |
| }; |
| |
| &i2c13 { |
| status = "okay"; |
| /* Clock frequency was not specified downstream, let's park it to 100 KHz */ |
| clock-frequency = <100000>; |
| |
| /* Qualcomm PM8008i/PM8008j (?) @ 8, 9, c, d */ |
| }; |
| |
| &i2c15 { |
| status = "okay"; |
| clock-frequency = <400000>; |
| |
| /* NXP SN1X0 NFC @ 28 */ |
| }; |
| |
| &i2c17 { |
| status = "okay"; |
| clock-frequency = <1000000>; |
| |
| /* Cirrus Logic CS40L25A boosted haptics driver @ 40 */ |
| }; |
| |
| &ipa { |
| qcom,gsi-loader = "self"; |
| memory-region = <&pil_ipa_fw_mem>; |
| firmware-name = "qcom/sm8350/Sony/sagami/ipa_fws.mbn"; |
| status = "okay"; |
| }; |
| |
| &mpss { |
| status = "okay"; |
| firmware-name = "qcom/sm8350/Sony/sagami/modem.mbn"; |
| }; |
| |
| &pm8350_gpios { |
| gpio-line-names = "ASSIGN1_THERM", /* GPIO_1 */ |
| "LCD_ID", |
| "SDR_MMW_THERM", |
| "RF_ID", |
| "NC", |
| "FP_LDO_EN", |
| "SP_ARI_PWR_ALARM", |
| "NC", |
| "G_ASSIST_N", |
| "PM8350_OPTION"; /* GPIO_10 */ |
| |
| g_assist_n: g-assist-n-state { |
| pins = "gpio9"; |
| function = "normal"; |
| power-source = <1>; |
| bias-pull-up; |
| input-enable; |
| }; |
| }; |
| |
| &pm8350b_gpios { |
| snapshot_n: snapshot-n-state { |
| pins = "gpio5"; |
| function = "normal"; |
| power-source = <0>; |
| bias-pull-up; |
| input-enable; |
| }; |
| |
| focus_n: focus-n-state { |
| pins = "gpio8"; |
| function = "normal"; |
| power-source = <0>; |
| input-enable; |
| bias-pull-up; |
| }; |
| }; |
| |
| &pmk8350_gpios { |
| gpio-line-names = "NC", /* GPIO_1 */ |
| "NC", |
| "VOL_DOWN_N", |
| "PMK8350_OPTION"; |
| |
| vol_down_n: vol-down-n-state { |
| pins = "gpio3"; |
| function = "normal"; |
| power-source = <0>; |
| bias-pull-up; |
| input-enable; |
| }; |
| }; |
| |
| &pmk8350_rtc { |
| status = "okay"; |
| }; |
| |
| &pon_pwrkey { |
| status = "okay"; |
| }; |
| |
| &pon_resin { |
| status = "okay"; |
| linux,code = <KEY_VOLUMEUP>; |
| }; |
| |
| &qupv3_id_0 { |
| status = "okay"; |
| }; |
| |
| &qupv3_id_1 { |
| status = "okay"; |
| }; |
| |
| &qupv3_id_2 { |
| status = "okay"; |
| }; |
| |
| &sdhc_2 { |
| cd-gpios = <&tlmm 92 GPIO_ACTIVE_HIGH>; |
| pinctrl-names = "default", "sleep"; |
| pinctrl-0 = <&sdc2_default_state &sdc2_card_det_active>; |
| pinctrl-1 = <&sdc2_sleep_state &sdc2_card_det_sleep>; |
| vmmc-supply = <&pm8350c_l9>; |
| vqmmc-supply = <&pm8350c_l6>; |
| no-sdio; |
| no-mmc; |
| status = "okay"; |
| }; |
| |
| &slpi { |
| status = "okay"; |
| firmware-name = "qcom/sm8350/Sony/sagami/slpi.mbn"; |
| }; |
| |
| &spi14 { |
| status = "okay"; |
| |
| /* NXP SN1X0 NFC Secure Element @ 0 */ |
| }; |
| |
| &tlmm { |
| gpio-reserved-ranges = <44 4>; |
| gpio-line-names = "APPS_I2C_0_SDA", /* GPIO_0 */ |
| "APPS_I2C_0_SCL", |
| "UWIDEC_PWR_EN", |
| "HAP_RST_N", |
| "NC", |
| "NC", |
| "PM8008_1_RESET_N", |
| "NC", |
| "OIS_TELE_I2C_SDA", |
| "OIS_TELE_I2C_SCL", |
| "PM8350_OPTION", /* GPIO_10 */ |
| "NC", |
| "APPS_I2C_1_SDA", |
| "APPS_I2C_1_SCL", |
| "NC", |
| "NC", |
| "CAM1_RESET_N", |
| "LEO_CAM0_RESET_N", |
| "DEBUG_UART_TX", |
| "DEBUG_UART_RX", |
| "TS_I2C_SDA", /* GPIO_20 */ |
| "TS_I2C_SCL", |
| "TS_RESET_N", |
| "TS_INT_N", |
| "DISP_RESET_N", |
| "SW_SERVICE", |
| "DISP_ERR_FG", |
| "TX_GTR_THRES_IN", |
| "NC", |
| "NC", |
| "NC", /* GPIO_30 */ |
| "NC", |
| "NC", |
| "NC", |
| "NC", |
| "NC", |
| "SPK_AMP_INT_N", |
| "SPK_AMP_RESET_N", |
| "FP_INT_N", |
| "FP_RESET_N", |
| "NC", /* GPIO_40 */ |
| "NC", |
| "DEBUG_GPIO0", |
| "FORCE_USB_BOOT", |
| "FP_SPI_MISO", |
| "FP_SPI_MOSI", |
| "FP_SPI_CLK", |
| "FP_SPI_CS_N", |
| "SPK_AMP_I2C_SDA", |
| "SPK_AMP_I2C_SCL", |
| "NC", /* GPIO_50 */ |
| "HAP_INT_N", |
| "CAMSENSOR_I2C_SDA", |
| "CAMSENSOR_I2C_SCL", |
| "SBU_SW_OE", |
| "SBU_SW_SEL", |
| "NFC_ESE_SPI_MISO", |
| "NFC_ESE_SPI_MOSI", |
| "NFC_ESE_SPI_CLK", |
| "NFC_ESE_SPI_CS", |
| "NFC_I2C_SDA", /* GPIO_60 */ |
| "NFC_I2C_SCL", |
| "NFC_EN", |
| "NFC_CLK_REQ", |
| "HST_WLAN_EN", |
| "HST_BT_EN", |
| "HW_ID_0", |
| "HW_ID_1", |
| "HST_BT_UART_CTS", |
| "HST_BT_UART_RFR", |
| "HST_BT_UART_TX", /* GPIO_70 */ |
| "HST_BT_UART_RX", |
| "HAP_I2C_SDA", |
| "HAP_I2C_SCL", |
| "RF_LCD_ID_EN", |
| "RF_ID_EXTENSION", |
| "NC", |
| "NC", |
| "NC", |
| "NC", |
| "HALL_INT_N", /* GPIO_80 */ |
| "USB_CC_DIR", |
| "DISP_VSYNC", |
| "NC", |
| "NC", |
| "CAM_SOF_TELE", |
| "NFC_DWL_REQ", |
| "NFC_IRQ", |
| "WCD_RST_N", |
| "ALS_PROX_INT_N", |
| "NC", /* GPIO_90 */ |
| "NC", |
| "TRAY_DET", |
| "UDON_SWITCH_SEL", |
| "PCIE0_RESET_N", |
| "PCIE0_CLK_REQ_N", |
| "PCIE0_WAKE_N", |
| "CAM_SOF", |
| "RF_ID_EXTENSION_2", |
| "RGBC_IR_INT", |
| "CAM_MCLK0", /* GPIO_100 */ |
| "CAM_MCLK1", |
| "CAM_MCLK2", |
| "CAM_MCLK3", |
| "NC", |
| "NC", |
| "CAM2_RESET_N", |
| "CCI_I2C0_SDA", |
| "CCI_I2C0_SCL", |
| "CCI_I2C1_SDA", |
| "CCI_I2C1_SCL", /* GPIO_110 */ |
| "CCI_I2C2_SDA", |
| "CCI_I2C2_SCL", |
| "CCI_I2C3_SDA", |
| "CCI_I2C3_SCL", |
| "NC", |
| "PM8008_1_IRQ", |
| "CAM3_RESET_N", |
| "IMU1_INT", |
| "EXT_VD0_XVS", |
| "NC", /* GPIO_120 */ |
| "NC", |
| "NC", |
| "NC", |
| "NC", |
| "HAP_I2S_CLK", |
| "HAP_I2S_DOUT", |
| "HAP_TRG1", |
| "HAP_I2S_SYNC", |
| "HST_BT_WLAN_SLIMBUS_CLK", |
| "HST_BT_WLAN_SLIMBUS_DAT0", /* GPIO_130 */ |
| "NC", |
| "UIM2_DETECT_EN", |
| "UIM2_DATA", |
| "UIM2_CLK", |
| "UIM2_RESET", |
| "UIM2_PRESENT", |
| "UIM1_DATA", |
| "UIM1_CLK", |
| "UIM1_RESET", |
| "TRAY_DET", /* GPIO_140 */ |
| "SM_RFFE0_CLK", |
| "SM_RFFE0_DATA", |
| "SM_RFFE1_CLK", |
| "SM_RFFE1_DATA", |
| "SM_MSS_GRFC4", |
| "SM_MSS_GRFC5", |
| "SM_MSS_GRFC6", |
| "SM_MSS_GRFC7", |
| "SM_RFFE4_CLK", |
| "SM_RFFE4_DATA", /* GPIO_150 */ |
| "WLAN_COEX_UART1_RX", |
| "WLAN_COEX_UART1_TX", |
| "HST_SW_CTRL", |
| "DISP_VDDR_EN", |
| "NC", |
| "NC", |
| "PA_INDICATOR_OR", |
| "NC", |
| "QLINK0_REQ", |
| "QLINK0_EN", /* GPIO_160 */ |
| "QLINK0_WMSS_RESET_N", |
| "NC", |
| "NC", |
| "NC", |
| "PM8008_2_IRQ", |
| "TELEC_PWR_EN", |
| "PM8008_2_RESET_N", |
| "WCD_SWR_TX_CLK", |
| "WCD_SWR_TX_DATA0", |
| "WCD_SWR_TX_DATA1", /* GPIO_170 */ |
| "WCD_SWR_RX_CLK", |
| "WCD_SWR_RX_DATA0", |
| "WCD_SWR_RX_DATA1", |
| "SM_DMIC1_CLK", |
| "SM_DMIC1_DATA", |
| "SM_DMIC2_CLK", |
| "SM_DMIC2_DATA", |
| "SPK_AMP_I2S_CLK", |
| "SPK_AMP_I2S_WS", |
| "SPK_AMP_I2S_ASP_DIN", /* GPIO_180 */ |
| "SPK_AMP_I2S_ASP_DOUT", |
| "WCD_SWR_TX_DATA2", |
| "NC", |
| "NC", |
| "NC", |
| "NC", |
| "IMU_SPI_MISO", |
| "IMU_SPI_MOSI", |
| "IMU_SPI_CLK", |
| "IMU_SPI_CS_N", /* GPIO_190 */ |
| "MAG_I2C_SDA", |
| "MAG_I2C_SCL", |
| "SENSOR_I2C_SDA", |
| "SENSOR_I2C_SCL", |
| "NC", |
| "NC", |
| "NC", |
| "NC", |
| "HST_BLE_UART_TX", |
| "HST_BLE_UART_RX", /* GPIO_200 */ |
| "HST_WLAN_UART_TX", |
| "HST_WLAN_UART_RX"; |
| |
| ts_int_default: ts-int-default-state { |
| pins = "gpio23"; |
| function = "gpio"; |
| drive-strength = <2>; |
| bias-disable; |
| input-enable; |
| }; |
| |
| sdc2_card_det_active: sd-card-det-active-state { |
| pins = "gpio92"; |
| function = "gpio"; |
| drive-strength = <2>; |
| bias-pull-up; |
| }; |
| |
| sdc2_card_det_sleep: sd-card-det-sleep-state { |
| pins = "gpio92"; |
| function = "gpio"; |
| drive-strength = <2>; |
| bias-disable; |
| }; |
| }; |
| |
| /* BIG WARNING! DO NOT TOUCH UFS, YOUR DEVICE WILL DIE! */ |
| &ufs_mem_hc { status = "disabled"; }; |
| &ufs_mem_phy { status = "disabled"; }; |
| |
| &usb_1 { |
| status = "okay"; |
| }; |
| |
| &usb_1_dwc3 { |
| dr_mode = "peripheral"; |
| }; |
| |
| &usb_1_hsphy { |
| status = "okay"; |
| |
| vdda-pll-supply = <&pm8350_l5>; |
| vdda18-supply = <&pm8350c_l1>; |
| vdda33-supply = <&pm8350_l2>; |
| }; |
| |
| &usb_1_qmpphy { |
| status = "okay"; |
| |
| vdda-phy-supply = <&pm8350_l6>; |
| vdda-pll-supply = <&pm8350_l1>; |
| }; |