| // SPDX-License-Identifier: BSD-3-Clause |
| /* |
| * Copyright (c) 2021, AngeloGioacchino Del Regno |
| * <angelogioacchino.delregno@somainline.org> |
| * Copyright (c) 2021, Konrad Dybcio <konrad.dybcio@somainline.org> |
| */ |
| |
| #include "msm8996.dtsi" |
| #include "pm8994.dtsi" |
| #include "pmi8994.dtsi" |
| #include <dt-bindings/input/input.h> |
| #include <dt-bindings/gpio/gpio.h> |
| #include <dt-bindings/pinctrl/qcom,pmic-gpio.h> |
| #include <dt-bindings/pinctrl/qcom,pmic-mpp.h> |
| |
| /delete-node/ &slpi_region; |
| /delete-node/ &venus_region; |
| /delete-node/ &zap_shader_region; |
| |
| / { |
| qcom,msm-id = <246 0x30001>; /* MSM8996 V3.1 (Final) */ |
| qcom,pmic-id = <0x20009 0x2000a 0 0>; /* PM8994 + PMI8994 */ |
| qcom,board-id = <8 0>; |
| |
| chosen { |
| /* |
| * Due to an unknown-for-a-few-years regression, |
| * SDHCI only works on MSM8996 in PIO (lame) mode. |
| */ |
| bootargs = "sdhci.debug_quirks=0x40 sdhci.debug_quirks2=0x4 maxcpus=2"; |
| }; |
| |
| reserved-memory { |
| ramoops@a7f00000 { |
| compatible = "ramoops"; |
| reg = <0 0xa7f00000 0 0x100000>; |
| record-size = <0x20000>; |
| console-size = <0x40000>; |
| ftrace-size = <0x20000>; |
| pmsg-size = <0x20000>; |
| ecc-size = <16>; |
| }; |
| |
| cont_splash_mem: memory@83401000 { |
| reg = <0 0x83401000 0 0x23ff000>; |
| no-map; |
| }; |
| |
| zap_shader_region: gpu@90400000 { |
| compatible = "shared-dma-pool"; |
| reg = <0x0 0x90400000 0x0 0x2000>; |
| no-map; |
| }; |
| |
| slpi_region: memory@90500000 { |
| reg = <0 0x90500000 0 0xa00000>; |
| no-map; |
| }; |
| |
| venus_region: memory@90f00000 { |
| reg = <0 0x90f00000 0 0x500000>; |
| no-map; |
| }; |
| }; |
| |
| panel_tvdd: tvdd-regulator { |
| compatible = "regulator-fixed"; |
| regulator-name = "panel_tvdd"; |
| gpio = <&tlmm 50 GPIO_ACTIVE_LOW>; |
| pinctrl-0 = <&tp_vddio_en>; |
| pinctrl-names = "default"; |
| }; |
| |
| usb3_id: usb3-id { |
| compatible = "linux,extcon-usb-gpio"; |
| id-gpio = <&tlmm 25 GPIO_ACTIVE_LOW>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&usb_detect>; |
| }; |
| |
| vph_pwr: vph-pwr-regulator { |
| compatible = "regulator-fixed"; |
| regulator-min-microvolt = <3700000>; |
| regulator-max-microvolt = <3700000>; |
| regulator-name = "vph_pwr"; |
| regulator-always-on; |
| regulator-boot-on; |
| }; |
| |
| wlan_en: wlan-en-1-8v { |
| compatible = "regulator-fixed"; |
| regulator-name = "wlan-en-regulator"; |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1800000>; |
| gpio = <&tlmm 84 GPIO_ACTIVE_HIGH>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&wl_reg_on>; |
| |
| /* WLAN card specific delay */ |
| startup-delay-us = <70000>; |
| enable-active-high; |
| }; |
| }; |
| |
| &blsp1_i2c3 { |
| status = "okay"; |
| clock-frequency = <355000>; |
| |
| tof_sensor: vl53l0x@29 { |
| compatible = "st,vl53l0x"; |
| reg = <0x29>; |
| }; |
| }; |
| |
| &blsp1_uart2 { |
| status = "okay"; |
| }; |
| |
| &blsp2_i2c5 { |
| status = "okay"; |
| clock-frequency = <355000>; |
| |
| /* FUSB301 USB-C controller */ |
| }; |
| |
| &blsp2_i2c6 { |
| status = "okay"; |
| clock-frequency = <355000>; |
| |
| synaptics@2c { |
| compatible = "syna,rmi4-i2c"; |
| reg = <0x2c>; |
| interrupt-parent = <&tlmm>; |
| interrupts = <125 IRQ_TYPE_EDGE_FALLING>; |
| vdd-supply = <&panel_tvdd>; |
| |
| syna,reset-delay-ms = <220>; |
| syna,startup-delay-ms = <220>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| rmi4-f01@1 { |
| reg = <0x1>; |
| syna,nosleep-mode = <1>; |
| }; |
| |
| rmi4-f11@11 { |
| reg = <0x11>; |
| syna,sensor-type = <1>; |
| }; |
| }; |
| }; |
| |
| &blsp2_uart2 { |
| status = "okay"; |
| }; |
| |
| &camera0_mclk { |
| drive-strength = <2>; |
| output-low; |
| }; |
| |
| &camera0_pwdn { |
| drive-strength = <2>; |
| output-low; |
| }; |
| |
| &camera0_rst { |
| pins = "gpio30"; |
| drive-strength = <2>; |
| output-low; |
| }; |
| |
| &camera2_mclk { |
| drive-strength = <2>; |
| output-low; |
| }; |
| |
| &camera2_rst { |
| drive-strength = <2>; |
| output-low; |
| }; |
| |
| &hsusb_phy1 { |
| status = "okay"; |
| |
| vdda-pll-supply = <&pm8994_l12>; |
| vdda-phy-dpdm-supply = <&pm8994_l24>; |
| }; |
| |
| &mmcc { |
| vdd-gfx-supply = <&vdd_gfx>; |
| }; |
| |
| &pcie0 { |
| status = "okay"; |
| perst-gpio = <&tlmm 35 GPIO_ACTIVE_LOW>; |
| wake-gpio = <&tlmm 37 GPIO_ACTIVE_HIGH>; |
| vddpe-3v3-supply = <&wlan_en>; |
| vdda-supply = <&pm8994_l28>; |
| }; |
| |
| &pcie_phy { |
| status = "okay"; |
| |
| vdda-phy-supply = <&pm8994_l28>; |
| vdda-pll-supply = <&pm8994_l12>; |
| }; |
| |
| &pm8994_gpios { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pm8994_gpios_defaults>; |
| gpio-line-names = |
| "NC", |
| "VOL_DOWN_N", |
| "VOL_UP_N", |
| "SNAPSHOT_N", |
| "FOCUS_N", |
| "NC", |
| "NFC_VEN", |
| "NC", |
| "NC", |
| "NC", |
| "NC", |
| "NC", |
| "EAR_EN", |
| "NC", |
| "PM_DIVCLK1", |
| "PMI_CLK", |
| "NC", |
| "WL_SLEEP_CLK", |
| "NC", |
| "PMIC_SPON", |
| "UIM_BATT_ALARM", |
| "PMK_SLEEP_CLK"; |
| |
| /* |
| * We don't yet know for sure which GPIOs are of our interest, but what |
| * we do know is that if a vendor sets the pins to a non-default state, there's |
| * probably a reason for it, and just to be on the safe side, we follow suit. |
| */ |
| pm8994_gpios_defaults: pm8994-gpios-default-state { |
| pm8994-gpio1-nc { |
| pins = "gpio1"; |
| function = PMIC_GPIO_FUNC_NORMAL; |
| drive-push-pull; |
| bias-high-impedance; |
| }; |
| |
| vol-down-n { |
| pins = "gpio2"; |
| function = PMIC_GPIO_FUNC_NORMAL; |
| drive-push-pull; |
| input-enable; |
| bias-pull-up; |
| qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>; |
| power-source = <PM8994_GPIO_S4>; |
| }; |
| |
| vol-up-n { |
| pins = "gpio3"; |
| function = PMIC_GPIO_FUNC_NORMAL; |
| drive-push-pull; |
| input-enable; |
| bias-pull-up; |
| power-source = <PM8994_GPIO_S4>; |
| }; |
| |
| camera-snapshot-n { |
| pins = "gpio4"; |
| function = PMIC_GPIO_FUNC_NORMAL; |
| drive-push-pull; |
| input-enable; |
| bias-pull-up; |
| qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>; |
| power-source = <PM8994_GPIO_S4>; |
| }; |
| |
| camera-focus-n { |
| pins = "gpio5"; |
| function = PMIC_GPIO_FUNC_NORMAL; |
| drive-push-pull; |
| input-enable; |
| bias-pull-up; |
| qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>; |
| power-source = <PM8994_GPIO_S4>; |
| }; |
| |
| pm8994-gpio6-nc { |
| pins = "gpio6"; |
| function = PMIC_GPIO_FUNC_NORMAL; |
| drive-push-pull; |
| bias-high-impedance; |
| power-source = <PM8994_GPIO_VPH>; |
| }; |
| |
| nfc-download { |
| pins = "gpio7"; |
| function = PMIC_GPIO_FUNC_NORMAL; |
| output-low; |
| drive-push-pull; |
| bias-disable; |
| qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>; |
| power-source = <PM8994_GPIO_S4>; |
| }; |
| |
| pm8994-gpio8-nc { |
| pins = "gpio8"; |
| function = PMIC_GPIO_FUNC_NORMAL; |
| output-low; |
| drive-push-pull; |
| bias-high-impedance; |
| qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>; |
| power-source = <PM8994_GPIO_VPH>; |
| }; |
| |
| pm8994-gpio9-nc { |
| pins = "gpio9"; |
| function = PMIC_GPIO_FUNC_NORMAL; |
| output-high; |
| drive-push-pull; |
| bias-high-impedance; |
| qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>; |
| power-source = <PM8994_GPIO_VPH>; |
| }; |
| |
| nfc-clock { |
| pins = "gpio10"; |
| function = PMIC_GPIO_FUNC_NORMAL; |
| input-enable; |
| drive-push-pull; |
| bias-pull-down; |
| qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>; |
| power-source = <PM8994_GPIO_S4>; |
| }; |
| |
| pm8994-gpio11-nc { |
| pins = "gpio11"; |
| function = PMIC_GPIO_FUNC_NORMAL; |
| drive-push-pull; |
| bias-high-impedance; |
| power-source = <PM8994_GPIO_VPH>; |
| }; |
| |
| pm8994-gpio12-nc { |
| pins = "gpio12"; |
| function = PMIC_GPIO_FUNC_NORMAL; |
| drive-push-pull; |
| bias-high-impedance; |
| power-source = <PM8994_GPIO_VPH>; |
| }; |
| |
| ear-enable { |
| pins = "gpio13"; |
| function = PMIC_GPIO_FUNC_NORMAL; |
| output-high; |
| drive-push-pull; |
| bias-disable; |
| qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>; |
| power-source = <PM8994_GPIO_S4>; |
| }; |
| |
| pm8994-gpio14-nc { |
| pins = "gpio14"; |
| function = PMIC_GPIO_FUNC_NORMAL; |
| drive-push-pull; |
| input-enable; |
| bias-high-impedance; |
| qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>; |
| power-source = <PM8994_GPIO_VPH>; |
| }; |
| |
| pm-divclk1-gpio { |
| pins = "gpio15"; |
| function = "func1"; |
| output-high; |
| drive-push-pull; |
| bias-high-impedance; |
| qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>; |
| power-source = <PM8994_GPIO_VPH>; |
| }; |
| |
| pmi-clk-gpio { |
| pins = "gpio16"; |
| function = PMIC_GPIO_FUNC_NORMAL; |
| drive-push-pull; |
| }; |
| |
| pm8994-gpio17-nc { |
| pins = "gpio17"; |
| function = PMIC_GPIO_FUNC_NORMAL; |
| drive-push-pull; |
| bias-high-impedance; |
| power-source = <PM8994_GPIO_VPH>; |
| }; |
| |
| rome-sleep { |
| pins = "gpio18"; |
| function = PMIC_GPIO_FUNC_FUNC2; |
| output-low; |
| drive-push-pull; |
| bias-disable; |
| qcom,drive-strength = <PMIC_GPIO_STRENGTH_MED>; |
| power-source = <PM8994_GPIO_S4>; |
| }; |
| |
| pm8994-gpio19-nc { |
| pins = "gpio19"; |
| function = PMIC_GPIO_FUNC_NORMAL; |
| output-low; |
| drive-push-pull; |
| bias-high-impedance; |
| qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>; |
| power-source = <PM8994_GPIO_VPH>; |
| }; |
| |
| pm8994-gpio22-nc { |
| pins = "gpio22"; |
| function = PMIC_GPIO_FUNC_NORMAL; |
| drive-push-pull; |
| bias-high-impedance; |
| power-source = <PM8994_GPIO_VPH>; |
| }; |
| }; |
| }; |
| |
| &pm8994_mpps { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pm8994_mpps_defaults>; |
| |
| gpio-line-names = |
| "SDC_UIM_VBIAS", |
| "LCD_ID_ADC", |
| "VREF_DACX", |
| "NC", |
| "FLASH_THERM", |
| "NC", |
| "NC", |
| "RF_ID"; |
| |
| pm8994_mpps_defaults: pm8994-mpps-default-state { |
| lcd-id_adc-mpp { |
| pins = "mpp2"; |
| function = "analog"; |
| input-enable; |
| qcom,amux-route = <PMIC_MPP_AMUX_ROUTE_CH6>; |
| }; |
| |
| pm-mpp4-nc { |
| pins = "mpp4"; |
| function = "digital"; |
| bias-high-impedance; |
| power-source = <PM8994_GPIO_VPH>; |
| }; |
| |
| flash-therm-mpp { |
| pins = "mpp5"; |
| function = "analog"; |
| input-enable; |
| qcom,amux-route = <PMIC_MPP_AMUX_ROUTE_CH5>; |
| }; |
| |
| mpp6-nc { |
| pins = "mpp6"; |
| function = "digital"; |
| bias-high-impedance; |
| }; |
| |
| rf-id-mpp { |
| pins = "mpp8"; |
| function = "analog"; |
| input-enable; |
| qcom,amux-route = <PMIC_MPP_AMUX_ROUTE_CH8>; |
| }; |
| }; |
| }; |
| |
| &pm8994_resin { |
| status = "okay"; |
| linux,code = <KEY_VOLUMEUP>; |
| }; |
| |
| &pmi8994_gpios { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pmi8994_gpios_defaults>; |
| |
| gpio-line-names = |
| "VIB_LDO_EN", |
| "NC", |
| "NC", |
| "NC", |
| "NC", |
| "NC", |
| "NC", |
| "NC", |
| "USB_SWITCH_SEL", |
| "NC"; |
| |
| pmi8994_gpios_defaults: pmi8994-gpios-default-state { |
| vib-ldo-en-gpio { |
| pins = "gpio1"; |
| function = PMIC_GPIO_FUNC_NORMAL; |
| drive-push-pull; |
| output-low; |
| bias-disable; |
| power-source = <PM8994_GPIO_S4>; |
| }; |
| |
| pmi-gpio2-nc { |
| pins = "gpio2"; |
| function = PMIC_GPIO_FUNC_NORMAL; |
| drive-push-pull; |
| input-enable; |
| bias-high-impedance; |
| qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>; |
| power-source = <PM8994_GPIO_VPH>; |
| }; |
| |
| pmi-gpio3-nc { |
| pins = "gpio3"; |
| function = PMIC_GPIO_FUNC_NORMAL; |
| drive-push-pull; |
| input-enable; |
| bias-high-impedance; |
| qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>; |
| power-source = <PM8994_GPIO_VPH>; |
| }; |
| |
| pmi-gpio4-nc { |
| pins = "gpio4"; |
| function = PMIC_GPIO_FUNC_NORMAL; |
| drive-push-pull; |
| output-high; |
| qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>; |
| power-source = <PM8994_GPIO_S4>; |
| }; |
| |
| pmi-gpio5-nc { |
| pins = "gpio5"; |
| function = PMIC_GPIO_FUNC_NORMAL; |
| drive-push-pull; |
| output-high; |
| qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>; |
| power-source = <PM8994_GPIO_S4>; |
| }; |
| |
| pmi-gpio6-nc { |
| pins = "gpio6"; |
| function = PMIC_GPIO_FUNC_NORMAL; |
| drive-push-pull; |
| output-high; |
| qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>; |
| power-source = <PM8994_GPIO_S4>; |
| }; |
| |
| pmi-gpio7-nc { |
| pins = "gpio7"; |
| function = PMIC_GPIO_FUNC_NORMAL; |
| drive-push-pull; |
| output-high; |
| qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>; |
| power-source = <PM8994_GPIO_S4>; |
| }; |
| |
| pmi-gpio8-nc { |
| pins = "gpio8"; |
| function = PMIC_GPIO_FUNC_NORMAL; |
| drive-push-pull; |
| output-high; |
| qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>; |
| power-source = <PM8994_GPIO_S4>; |
| }; |
| |
| usb-switch-sel { |
| pins = "gpio9"; |
| function = PMIC_GPIO_FUNC_NORMAL; |
| drive-push-pull; |
| }; |
| |
| pmi-gpio10-nc { |
| pins = "gpio10"; |
| function = PMIC_GPIO_FUNC_NORMAL; |
| output-low; |
| drive-push-pull; |
| bias-disable; |
| qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>; |
| power-source = <PM8994_GPIO_S4>; |
| }; |
| }; |
| }; |
| |
| &pmi8994_spmi_regulators { |
| qcom,saw-reg = <&saw3>; |
| |
| vdd_gfx: |
| pmi8994_s2: s2 { |
| /* Pinned to a high value for now to avoid random crashes. */ |
| regulator-min-microvolt = <1015000>; |
| regulator-max-microvolt = <1015000>; |
| regulator-name = "vdd_gfx"; |
| regulator-always-on; |
| }; |
| |
| pmi8994_s9: s9 { |
| qcom,saw-slave; |
| }; |
| |
| pmi8994_s10: s10 { |
| qcom,saw-slave; |
| }; |
| |
| pmi8994_s11: s11 { |
| qcom,saw-leader; |
| regulator-always-on; |
| regulator-min-microvolt = <470000>; |
| regulator-max-microvolt = <1140000>; |
| }; |
| }; |
| |
| &pmi8994_wled { |
| status = "okay"; |
| default-brightness = <512>; |
| }; |
| |
| &rpm_requests { |
| pm8994-regulators { |
| compatible = "qcom,rpm-pm8994-regulators"; |
| |
| 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-supply = <&pm8994_s3>; |
| vdd_l2_l26_l28-supply = <&pm8994_s3>; |
| vdd_l3_l11-supply = <&pm8994_s3>; |
| vdd_l4_l27_l31-supply = <&pm8994_s3>; |
| vdd_l5_l7-supply = <&pm8994_s5>; |
| vdd_l6_l12_l32-supply = <&pm8994_s5>; |
| vdd_l8_l16_l30-supply = <&vph_pwr>; |
| vdd_l14_l15-supply = <&pm8994_s5>; |
| vdd_l20_l21-supply = <&pm8994_s5>; |
| vdd_l25-supply = <&pm8994_s3>; |
| vdd_lvs1_2-supply = <&pm8994_s4>; |
| |
| pm8994_s3: s3 { |
| regulator-min-microvolt = <1300000>; |
| regulator-max-microvolt = <1300000>; |
| }; |
| |
| pm8994_s4: s4 { |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1800000>; |
| regulator-system-load = <325000>; |
| regulator-always-on; |
| }; |
| |
| pm8994_s5: s5 { |
| regulator-min-microvolt = <2150000>; |
| regulator-max-microvolt = <2150000>; |
| }; |
| |
| pm8994_s7: s7 { |
| regulator-min-microvolt = <800000>; |
| regulator-max-microvolt = <800000>; |
| }; |
| |
| pm8994_l1: l1 { |
| regulator-min-microvolt = <1000000>; |
| regulator-max-microvolt = <1000000>; |
| }; |
| |
| pm8994_l2: l2 { |
| regulator-min-microvolt = <1250000>; |
| regulator-max-microvolt = <1250000>; |
| }; |
| |
| pm8994_l3: l3 { |
| regulator-min-microvolt = <1100000>; |
| regulator-max-microvolt = <1100000>; |
| }; |
| |
| pm8994_l4: l4 { |
| regulator-min-microvolt = <1225000>; |
| regulator-max-microvolt = <1225000>; |
| }; |
| |
| /* L6 and L7 seem unused. */ |
| |
| pm8994_l8: l8 { |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1800000>; |
| }; |
| |
| pm8994_l9: l9 { |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1800000>; |
| }; |
| |
| pm8994_l10: l10 { |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1800000>; |
| }; |
| |
| pm8994_l11: l11 { |
| regulator-min-microvolt = <1100000>; |
| regulator-max-microvolt = <1100000>; |
| }; |
| |
| pm8994_l12: l12 { |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1800000>; |
| regulator-allow-set-load; |
| }; |
| |
| pm8994_l13: l13 { |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <2950000>; |
| regulator-system-load = <22000>; |
| regulator-allow-set-load; |
| }; |
| |
| pm8994_l14: l14 { |
| regulator-min-microvolt = <1700000>; |
| regulator-max-microvolt = <1900000>; |
| }; |
| |
| pm8994_l15: l15 { |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1800000>; |
| }; |
| |
| pm8994_l16: l16 { |
| regulator-min-microvolt = <2700000>; |
| regulator-max-microvolt = <2700000>; |
| }; |
| |
| pm8994_l17: l17 { |
| regulator-min-microvolt = <2200000>; |
| regulator-max-microvolt = <2500000>; |
| }; |
| |
| pm8994_l18: l18 { |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1800000>; |
| }; |
| |
| pm8994_l19: l19 { |
| regulator-min-microvolt = <3000000>; |
| regulator-max-microvolt = <3000000>; |
| }; |
| |
| pm8994_l20: l20 { |
| regulator-min-microvolt = <2950000>; |
| regulator-max-microvolt = <2950000>; |
| regulator-system-load = <570000>; |
| regulator-allow-set-load; |
| }; |
| |
| pm8994_l21: l21 { |
| regulator-min-microvolt = <2950000>; |
| regulator-max-microvolt = <2950000>; |
| regulator-system-load = <800000>; |
| regulator-allow-set-load; |
| }; |
| |
| pm8994_l22: l22 { |
| regulator-min-microvolt = <3000000>; |
| regulator-max-microvolt = <3000000>; |
| }; |
| |
| pm8994_l23: l23 { |
| regulator-min-microvolt = <2700000>; |
| regulator-max-microvolt = <2700000>; |
| }; |
| |
| pm8994_l24: l24 { |
| regulator-min-microvolt = <3075000>; |
| regulator-max-microvolt = <3075000>; |
| regulator-allow-set-load; |
| }; |
| |
| pm8994_l25: l25 { |
| regulator-min-microvolt = <1200000>; |
| regulator-max-microvolt = <1200000>; |
| regulator-allow-set-load; |
| }; |
| |
| pm8994_l27: l27 { |
| regulator-min-microvolt = <1000000>; |
| regulator-max-microvolt = <1200000>; |
| }; |
| |
| pm8994_l28: l28 { |
| regulator-min-microvolt = <925000>; |
| regulator-max-microvolt = <925000>; |
| regulator-allow-set-load; |
| }; |
| |
| pm8994_l29: l29 { |
| regulator-min-microvolt = <2700000>; |
| regulator-max-microvolt = <2700000>; |
| }; |
| |
| pm8994_l30: l30 { }; |
| |
| pm8994_l32: l32 { |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1800000>; |
| }; |
| }; |
| }; |
| |
| &sdhc1 { |
| /* eMMC doesn't seem to cooperate even in PIO mode.. */ |
| status = "disabled"; |
| |
| vmmc-supply = <&pm8994_l20>; |
| vqmmc-supply = <&pm8994_s4>; |
| mmc-hs400-1_8v; |
| mmc-hs200-1_8v; |
| }; |
| |
| &sdhc2 { |
| status = "okay"; |
| |
| cd-gpios = <&tlmm 40 GPIO_ACTIVE_HIGH>; |
| vmmc-supply = <&pm8994_l21>; |
| vqmmc-supply = <&pm8994_l13>; |
| }; |
| |
| &tlmm { |
| gpio-reserved-ranges = <0 4>; |
| pinctrl-0 = <&sw_service_gpio>; |
| pinctrl-names = "default"; |
| |
| disp_reset_n_gpio: disp-reset-n { |
| pins = "gpio8"; |
| function = "gpio"; |
| drive-strength = <2>; |
| bias-disable; |
| }; |
| |
| mdp_vsync_p_gpio: mdp-vsync-p { |
| pins = "gpio10"; |
| function = "mdp_vsync"; |
| drive-strength = <2>; |
| bias-disable; |
| }; |
| |
| sw_service_gpio: sw-service-gpio { |
| pins = "gpio16"; |
| function = "gpio"; |
| drive-strength = <2>; |
| bias-pull-up; |
| }; |
| |
| usb_detect: usb-detect { |
| pins = "gpio25"; |
| function = "gpio"; |
| drive-strength = <2>; |
| bias-disable; |
| output-high; |
| }; |
| |
| uim_detect_en: uim-detect-en { |
| pins = "gpio29"; |
| function = "gpio"; |
| drive-strength = <2>; |
| bias-disable; |
| output-high; |
| }; |
| |
| tray_det_pin: tray-det { |
| pins = "gpio40"; |
| function = "gpio"; |
| drive-strength = <2>; |
| bias-disable; |
| }; |
| |
| tp_vddio_en: tp-vddio-en { |
| pins = "gpio50"; |
| function = "gpio"; |
| drive-strength = <2>; |
| bias-disable; |
| output-high; |
| }; |
| |
| lcd_vddio_en: lcd-vddio-en { |
| pins = "gpio51"; |
| function = "gpio"; |
| drive-strength = <2>; |
| bias-disable; |
| output-low; |
| }; |
| |
| wl_host_wake: wl-host-wake { |
| pins = "gpio79"; |
| function = "gpio"; |
| drive-strength = <2>; |
| bias-pull-down; |
| input-high; |
| }; |
| |
| wl_reg_on: wl-reg-on { |
| pins = "gpio84"; |
| function = "gpio"; |
| drive-strength = <2>; |
| bias-disable; |
| output-low; |
| }; |
| |
| ts_reset_n: ts-rst-n { |
| pins = "gpio89"; |
| function = "gpio"; |
| drive-strength = <2>; |
| }; |
| |
| touch_int_n: touch-int-n { |
| pins = "gpio125"; |
| function = "gpio"; |
| drive-strength = <2>; |
| bias-pull-up; |
| }; |
| |
| touch_int_sleep: touch-int-sleep { |
| pins = "gpio125"; |
| function = "gpio"; |
| drive-strength = <2>; |
| bias-pull-down; |
| }; |
| }; |
| |
| /* |
| * For reasons that are currently unknown (but probably related to fusb301), USB takes about |
| * 6 minutes to wake up (nothing interesting in kernel logs), but then it works as it should. |
| */ |
| &usb3 { |
| status = "okay"; |
| qcom,select-utmi-as-pipe-clk; |
| }; |
| |
| &usb3_dwc3 { |
| extcon = <&usb3_id>; |
| dr_mode = "peripheral"; |
| phys = <&hsusb_phy1>; |
| phy-names = "usb2-phy"; |
| snps,hird-threshold = /bits/ 8 <0>; |
| }; |