cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

msm8996-sony-xperia-tone.dtsi (19341B)


      1// SPDX-License-Identifier: BSD-3-Clause
      2/*
      3 * Copyright (c) 2021, AngeloGioacchino Del Regno
      4 *                     <angelogioacchino.delregno@somainline.org>
      5 * Copyright (c) 2021, Konrad Dybcio <konrad.dybcio@somainline.org>
      6 */
      7
      8#include "msm8996.dtsi"
      9#include "pm8994.dtsi"
     10#include "pmi8994.dtsi"
     11#include <dt-bindings/input/input.h>
     12#include <dt-bindings/gpio/gpio.h>
     13#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
     14#include <dt-bindings/pinctrl/qcom,pmic-mpp.h>
     15
     16/delete-node/ &adsp_mem;
     17/delete-node/ &slpi_mem;
     18/delete-node/ &venus_mem;
     19/delete-node/ &gpu_mem;
     20
     21/ {
     22	qcom,msm-id = <246 0x30001>; /* MSM8996 V3.1 (Final) */
     23	qcom,pmic-id = <0x20009 0x2000a 0 0>; /* PM8994 + PMI8994 */
     24	qcom,board-id = <8 0>;
     25
     26	chosen {
     27		/*
     28		 * Due to an unknown-for-a-few-years regression,
     29		 * SDHCI only works on MSM8996 in PIO (lame) mode.
     30		 */
     31		bootargs = "sdhci.debug_quirks=0x40 sdhci.debug_quirks2=0x4 maxcpus=2";
     32	};
     33
     34	reserved-memory {
     35		ramoops@a7f00000 {
     36			compatible = "ramoops";
     37			reg = <0 0xa7f00000 0 0x100000>;
     38			record-size = <0x20000>;
     39			console-size = <0x40000>;
     40			ftrace-size = <0x20000>;
     41			pmsg-size = <0x20000>;
     42			ecc-size = <16>;
     43		};
     44
     45		cont_splash_mem: memory@83401000 {
     46			reg = <0 0x83401000 0 0x23ff000>;
     47			no-map;
     48		};
     49
     50		adsp_mem: adsp@8ea00000 {
     51			reg = <0x0 0x8ea00000 0x0 0x1a00000>;
     52			no-map;
     53		};
     54
     55		gpu_mem: gpu@90400000 {
     56			compatible = "shared-dma-pool";
     57			reg = <0x0 0x90400000 0x0 0x2000>;
     58			no-map;
     59		};
     60
     61		slpi_mem: memory@90500000 {
     62			reg = <0 0x90500000 0 0xa00000>;
     63			no-map;
     64		};
     65
     66		venus_mem: memory@90f00000 {
     67			reg = <0 0x90f00000 0 0x500000>;
     68			no-map;
     69		};
     70	};
     71
     72	panel_tvdd: tvdd-regulator {
     73		compatible = "regulator-fixed";
     74		regulator-name = "panel_tvdd";
     75		gpio = <&tlmm 50 GPIO_ACTIVE_LOW>;
     76		pinctrl-0 = <&tp_vddio_en>;
     77		pinctrl-names = "default";
     78	};
     79
     80	usb3_id: usb3-id {
     81		compatible = "linux,extcon-usb-gpio";
     82		id-gpio = <&tlmm 25 GPIO_ACTIVE_LOW>;
     83		pinctrl-names = "default";
     84		pinctrl-0 = <&usb_detect>;
     85	};
     86
     87	vph_pwr: vph-pwr-regulator {
     88		compatible = "regulator-fixed";
     89		regulator-min-microvolt = <3700000>;
     90		regulator-max-microvolt = <3700000>;
     91		regulator-name = "vph_pwr";
     92		regulator-always-on;
     93		regulator-boot-on;
     94	};
     95
     96	wlan_en: wlan-en-1-8v {
     97		compatible = "regulator-fixed";
     98		regulator-name = "wlan-en-regulator";
     99		regulator-min-microvolt = <1800000>;
    100		regulator-max-microvolt = <1800000>;
    101		gpio = <&tlmm 84 GPIO_ACTIVE_HIGH>;
    102		pinctrl-names = "default";
    103		pinctrl-0 = <&wl_reg_on>;
    104
    105		/* WLAN card specific delay */
    106		startup-delay-us = <70000>;
    107		enable-active-high;
    108	};
    109};
    110
    111&blsp1_i2c3 {
    112	status = "okay";
    113	clock-frequency = <355000>;
    114
    115	tof_sensor: vl53l0x@29 {
    116		compatible = "st,vl53l0x";
    117		reg = <0x29>;
    118	};
    119};
    120
    121&blsp1_uart2 {
    122	status = "okay";
    123};
    124
    125&blsp2_i2c5 {
    126	status = "okay";
    127	clock-frequency = <355000>;
    128
    129	/* FUSB301 USB-C controller */
    130};
    131
    132&blsp2_i2c6 {
    133	status = "okay";
    134	clock-frequency = <355000>;
    135
    136	synaptics@2c {
    137		compatible = "syna,rmi4-i2c";
    138		reg = <0x2c>;
    139		interrupt-parent = <&tlmm>;
    140		interrupts = <125 IRQ_TYPE_EDGE_FALLING>;
    141		vdd-supply = <&panel_tvdd>;
    142
    143		syna,reset-delay-ms = <220>;
    144		syna,startup-delay-ms = <220>;
    145		#address-cells = <1>;
    146		#size-cells = <0>;
    147
    148		rmi4-f01@1 {
    149			reg = <0x1>;
    150			syna,nosleep-mode = <1>;
    151		};
    152
    153		rmi4-f11@11 {
    154			reg = <0x11>;
    155			syna,sensor-type = <1>;
    156		};
    157	};
    158};
    159
    160&blsp2_uart2 {
    161	status = "okay";
    162};
    163
    164&camera0_mclk {
    165	drive-strength = <2>;
    166	output-low;
    167};
    168
    169&camera0_pwdn {
    170	drive-strength = <2>;
    171	output-low;
    172};
    173
    174&camera0_rst {
    175	pins = "gpio30";
    176	drive-strength = <2>;
    177	output-low;
    178};
    179
    180&camera2_mclk {
    181	drive-strength = <2>;
    182	output-low;
    183};
    184
    185&camera2_rst {
    186	drive-strength = <2>;
    187	output-low;
    188};
    189
    190&hsusb_phy1 {
    191	status = "okay";
    192
    193	vdd-supply = <&pm8994_l28>;
    194	vdda-pll-supply = <&pm8994_l12>;
    195	vdda-phy-dpdm-supply = <&pm8994_l24>;
    196};
    197
    198&mmcc {
    199	vdd-gfx-supply = <&vdd_gfx>;
    200};
    201
    202&pcie0 {
    203	status = "okay";
    204	perst-gpio = <&tlmm 35 GPIO_ACTIVE_LOW>;
    205	wake-gpio = <&tlmm 37 GPIO_ACTIVE_HIGH>;
    206	vddpe-3v3-supply = <&wlan_en>;
    207	vdda-supply = <&pm8994_l28>;
    208};
    209
    210&pcie_phy {
    211	status = "okay";
    212
    213	vdda-phy-supply = <&pm8994_l28>;
    214	vdda-pll-supply = <&pm8994_l12>;
    215};
    216
    217&pm8994_gpios {
    218	pinctrl-names = "default";
    219	pinctrl-0 = <&pm8994_gpios_defaults>;
    220	gpio-line-names =
    221		"NC",
    222		"VOL_DOWN_N",
    223		"VOL_UP_N",
    224		"SNAPSHOT_N",
    225		"FOCUS_N",
    226		"NC",
    227		"NFC_VEN",
    228		"NC",
    229		"NC",
    230		"NC",
    231		"NC",
    232		"NC",
    233		"EAR_EN",
    234		"NC",
    235		"PM_DIVCLK1",
    236		"PMI_CLK",
    237		"NC",
    238		"WL_SLEEP_CLK",
    239		"NC",
    240		"PMIC_SPON",
    241		"UIM_BATT_ALARM",
    242		"PMK_SLEEP_CLK";
    243
    244	/*
    245	 * We don't yet know for sure which GPIOs are of our interest, but what
    246	 * we do know is that if a vendor sets the pins to a non-default state, there's
    247	 * probably a reason for it, and just to be on the safe side, we follow suit.
    248	 */
    249	pm8994_gpios_defaults: pm8994-gpios-default-state {
    250		pm8994-gpio1-nc {
    251			pins = "gpio1";
    252			function = PMIC_GPIO_FUNC_NORMAL;
    253			drive-push-pull;
    254			bias-high-impedance;
    255		};
    256
    257		vol-down-n {
    258			pins = "gpio2";
    259			function = PMIC_GPIO_FUNC_NORMAL;
    260			drive-push-pull;
    261			input-enable;
    262			bias-pull-up;
    263			qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
    264			power-source = <PM8994_GPIO_S4>;
    265		};
    266
    267		vol-up-n {
    268			pins = "gpio3";
    269			function = PMIC_GPIO_FUNC_NORMAL;
    270			drive-push-pull;
    271			input-enable;
    272			bias-pull-up;
    273			power-source = <PM8994_GPIO_S4>;
    274		};
    275
    276		camera-snapshot-n {
    277			pins = "gpio4";
    278			function = PMIC_GPIO_FUNC_NORMAL;
    279			drive-push-pull;
    280			input-enable;
    281			bias-pull-up;
    282			qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
    283			power-source = <PM8994_GPIO_S4>;
    284		};
    285
    286		camera-focus-n {
    287			pins = "gpio5";
    288			function = PMIC_GPIO_FUNC_NORMAL;
    289			drive-push-pull;
    290			input-enable;
    291			bias-pull-up;
    292			qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
    293			power-source = <PM8994_GPIO_S4>;
    294		};
    295
    296		pm8994-gpio6-nc {
    297			pins = "gpio6";
    298			function = PMIC_GPIO_FUNC_NORMAL;
    299			drive-push-pull;
    300			bias-high-impedance;
    301			power-source = <PM8994_GPIO_VPH>;
    302		};
    303
    304		nfc-download {
    305			pins = "gpio7";
    306			function = PMIC_GPIO_FUNC_NORMAL;
    307			output-low;
    308			drive-push-pull;
    309			bias-disable;
    310			qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
    311			power-source = <PM8994_GPIO_S4>;
    312		};
    313
    314		pm8994-gpio8-nc {
    315			pins = "gpio8";
    316			function = PMIC_GPIO_FUNC_NORMAL;
    317			output-low;
    318			drive-push-pull;
    319			bias-high-impedance;
    320			qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
    321			power-source = <PM8994_GPIO_VPH>;
    322		};
    323
    324		pm8994-gpio9-nc {
    325			pins = "gpio9";
    326			function = PMIC_GPIO_FUNC_NORMAL;
    327			output-high;
    328			drive-push-pull;
    329			bias-high-impedance;
    330			qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
    331			power-source = <PM8994_GPIO_VPH>;
    332		};
    333
    334		nfc-clock {
    335			pins = "gpio10";
    336			function = PMIC_GPIO_FUNC_NORMAL;
    337			input-enable;
    338			drive-push-pull;
    339			bias-pull-down;
    340			qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
    341			power-source = <PM8994_GPIO_S4>;
    342		};
    343
    344		pm8994-gpio11-nc {
    345			pins = "gpio11";
    346			function = PMIC_GPIO_FUNC_NORMAL;
    347			drive-push-pull;
    348			bias-high-impedance;
    349			power-source = <PM8994_GPIO_VPH>;
    350		};
    351
    352		pm8994-gpio12-nc {
    353			pins = "gpio12";
    354			function = PMIC_GPIO_FUNC_NORMAL;
    355			drive-push-pull;
    356			bias-high-impedance;
    357			power-source = <PM8994_GPIO_VPH>;
    358		};
    359
    360		ear-enable {
    361			pins = "gpio13";
    362			function = PMIC_GPIO_FUNC_NORMAL;
    363			output-high;
    364			drive-push-pull;
    365			bias-disable;
    366			qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
    367			power-source = <PM8994_GPIO_S4>;
    368		};
    369
    370		pm8994-gpio14-nc {
    371			pins = "gpio14";
    372			function = PMIC_GPIO_FUNC_NORMAL;
    373			drive-push-pull;
    374			input-enable;
    375			bias-high-impedance;
    376			qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
    377			power-source = <PM8994_GPIO_VPH>;
    378		};
    379
    380		pm-divclk1-gpio {
    381			pins = "gpio15";
    382			function = "func1";
    383			output-high;
    384			drive-push-pull;
    385			bias-high-impedance;
    386			qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
    387			power-source = <PM8994_GPIO_VPH>;
    388		};
    389
    390		pmi-clk-gpio {
    391			pins = "gpio16";
    392			function = PMIC_GPIO_FUNC_NORMAL;
    393			drive-push-pull;
    394		};
    395
    396		pm8994-gpio17-nc {
    397			pins = "gpio17";
    398			function = PMIC_GPIO_FUNC_NORMAL;
    399			drive-push-pull;
    400			bias-high-impedance;
    401			power-source = <PM8994_GPIO_VPH>;
    402		};
    403
    404		rome-sleep {
    405			pins = "gpio18";
    406			function = PMIC_GPIO_FUNC_FUNC2;
    407			output-low;
    408			drive-push-pull;
    409			bias-disable;
    410			qcom,drive-strength = <PMIC_GPIO_STRENGTH_MED>;
    411			power-source = <PM8994_GPIO_S4>;
    412		};
    413
    414		pm8994-gpio19-nc {
    415			pins = "gpio19";
    416			function = PMIC_GPIO_FUNC_NORMAL;
    417			output-low;
    418			drive-push-pull;
    419			bias-high-impedance;
    420			qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
    421			power-source = <PM8994_GPIO_VPH>;
    422		};
    423
    424		pm8994-gpio22-nc {
    425			pins = "gpio22";
    426			function = PMIC_GPIO_FUNC_NORMAL;
    427			drive-push-pull;
    428			bias-high-impedance;
    429			power-source = <PM8994_GPIO_VPH>;
    430		};
    431	};
    432};
    433
    434&pm8994_mpps {
    435	pinctrl-names = "default";
    436	pinctrl-0 = <&pm8994_mpps_defaults>;
    437
    438	gpio-line-names =
    439		"SDC_UIM_VBIAS",
    440		"LCD_ID_ADC",
    441		"VREF_DACX",
    442		"NC",
    443		"FLASH_THERM",
    444		"NC",
    445		"NC",
    446		"RF_ID";
    447
    448	pm8994_mpps_defaults: pm8994-mpps-default-state {
    449		lcd-id_adc-mpp {
    450			pins = "mpp2";
    451			function = "analog";
    452			input-enable;
    453			qcom,amux-route = <PMIC_MPP_AMUX_ROUTE_CH6>;
    454		};
    455
    456		pm-mpp4-nc {
    457			pins = "mpp4";
    458			function = "digital";
    459			bias-high-impedance;
    460			power-source = <PM8994_GPIO_VPH>;
    461		};
    462
    463		flash-therm-mpp {
    464			pins = "mpp5";
    465			function = "analog";
    466			input-enable;
    467			qcom,amux-route = <PMIC_MPP_AMUX_ROUTE_CH5>;
    468		};
    469
    470		mpp6-nc {
    471			pins = "mpp6";
    472			function = "digital";
    473			bias-high-impedance;
    474		};
    475
    476		rf-id-mpp {
    477			pins = "mpp8";
    478			function = "analog";
    479			input-enable;
    480			qcom,amux-route = <PMIC_MPP_AMUX_ROUTE_CH8>;
    481		};
    482	};
    483};
    484
    485&pm8994_resin {
    486	status = "okay";
    487	linux,code = <KEY_VOLUMEUP>;
    488};
    489
    490&pmi8994_gpios {
    491	pinctrl-names = "default";
    492	pinctrl-0 = <&pmi8994_gpios_defaults>;
    493
    494	gpio-line-names =
    495		"VIB_LDO_EN",
    496		"NC",
    497		"NC",
    498		"NC",
    499		"NC",
    500		"NC",
    501		"NC",
    502		"NC",
    503		"USB_SWITCH_SEL",
    504		"NC";
    505
    506	pmi8994_gpios_defaults: pmi8994-gpios-default-state {
    507		vib-ldo-en-gpio {
    508			pins = "gpio1";
    509			function = PMIC_GPIO_FUNC_NORMAL;
    510			drive-push-pull;
    511			output-low;
    512			bias-disable;
    513			power-source = <PM8994_GPIO_S4>;
    514		};
    515
    516		pmi-gpio2-nc {
    517			pins = "gpio2";
    518			function = PMIC_GPIO_FUNC_NORMAL;
    519			drive-push-pull;
    520			input-enable;
    521			bias-high-impedance;
    522			qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
    523			power-source = <PM8994_GPIO_VPH>;
    524		};
    525
    526		pmi-gpio3-nc {
    527			pins = "gpio3";
    528			function = PMIC_GPIO_FUNC_NORMAL;
    529			drive-push-pull;
    530			input-enable;
    531			bias-high-impedance;
    532			qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
    533			power-source = <PM8994_GPIO_VPH>;
    534		};
    535
    536		pmi-gpio4-nc {
    537			pins = "gpio4";
    538			function = PMIC_GPIO_FUNC_NORMAL;
    539			drive-push-pull;
    540			output-high;
    541			qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
    542			power-source = <PM8994_GPIO_S4>;
    543		};
    544
    545		pmi-gpio5-nc {
    546			pins = "gpio5";
    547			function = PMIC_GPIO_FUNC_NORMAL;
    548			drive-push-pull;
    549			output-high;
    550			qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
    551			power-source = <PM8994_GPIO_S4>;
    552		};
    553
    554		pmi-gpio6-nc {
    555			pins = "gpio6";
    556			function = PMIC_GPIO_FUNC_NORMAL;
    557			drive-push-pull;
    558			output-high;
    559			qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
    560			power-source = <PM8994_GPIO_S4>;
    561		};
    562
    563		pmi-gpio7-nc {
    564			pins = "gpio7";
    565			function = PMIC_GPIO_FUNC_NORMAL;
    566			drive-push-pull;
    567			output-high;
    568			qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
    569			power-source = <PM8994_GPIO_S4>;
    570		};
    571
    572		pmi-gpio8-nc {
    573			pins = "gpio8";
    574			function = PMIC_GPIO_FUNC_NORMAL;
    575			drive-push-pull;
    576			output-high;
    577			qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
    578			power-source = <PM8994_GPIO_S4>;
    579		};
    580
    581		usb-switch-sel {
    582			pins = "gpio9";
    583			function = PMIC_GPIO_FUNC_NORMAL;
    584			drive-push-pull;
    585		};
    586
    587		pmi-gpio10-nc {
    588			pins = "gpio10";
    589			function = PMIC_GPIO_FUNC_NORMAL;
    590			output-low;
    591			drive-push-pull;
    592			bias-disable;
    593			qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
    594			power-source = <PM8994_GPIO_S4>;
    595		};
    596	};
    597};
    598
    599&pm8994_spmi_regulators {
    600	qcom,saw-reg = <&saw3>;
    601
    602	pm8994_s9: s9 {
    603		qcom,saw-slave;
    604	};
    605
    606	pm8994_s10: s10 {
    607		qcom,saw-slave;
    608	};
    609
    610	pm8994_s11: s11 {
    611		qcom,saw-leader;
    612		regulator-name = "vdd_apcc";
    613		regulator-always-on;
    614		regulator-min-microvolt = <470000>;
    615		regulator-max-microvolt = <1140000>;
    616	};
    617};
    618
    619&pmi8994_spmi_regulators {
    620	vdd_gfx:
    621	pmi8994_s2: s2 {
    622		/* Pinned to a high value for now to avoid random crashes. */
    623		regulator-min-microvolt = <1015000>;
    624		regulator-max-microvolt = <1015000>;
    625		regulator-name = "vdd_gfx";
    626		regulator-always-on;
    627	};
    628};
    629
    630&pmi8994_wled {
    631	status = "okay";
    632	default-brightness = <512>;
    633	qcom,num-strings = <3>;
    634};
    635
    636&rpm_requests {
    637	pm8994-regulators {
    638		compatible = "qcom,rpm-pm8994-regulators";
    639
    640		vdd_s1-supply = <&vph_pwr>;
    641		vdd_s2-supply = <&vph_pwr>;
    642		vdd_s3-supply = <&vph_pwr>;
    643		vdd_s4-supply = <&vph_pwr>;
    644		vdd_s5-supply = <&vph_pwr>;
    645		vdd_s6-supply = <&vph_pwr>;
    646		vdd_s7-supply = <&vph_pwr>;
    647		vdd_s8-supply = <&vph_pwr>;
    648		vdd_s9-supply = <&vph_pwr>;
    649		vdd_s10-supply = <&vph_pwr>;
    650		vdd_s11-supply = <&vph_pwr>;
    651		vdd_s12-supply = <&vph_pwr>;
    652		vdd_l1-supply = <&pm8994_s3>;
    653		vdd_l2_l26_l28-supply = <&pm8994_s3>;
    654		vdd_l3_l11-supply = <&pm8994_s3>;
    655		vdd_l4_l27_l31-supply = <&pm8994_s3>;
    656		vdd_l5_l7-supply = <&pm8994_s5>;
    657		vdd_l6_l12_l32-supply = <&pm8994_s5>;
    658		vdd_l8_l16_l30-supply = <&vph_pwr>;
    659		vdd_l14_l15-supply = <&pm8994_s5>;
    660		vdd_l20_l21-supply = <&pm8994_s5>;
    661		vdd_l25-supply = <&pm8994_s3>;
    662		vdd_lvs1_2-supply = <&pm8994_s4>;
    663
    664		pm8994_s3: s3 {
    665			regulator-min-microvolt = <1300000>;
    666			regulator-max-microvolt = <1300000>;
    667		};
    668
    669		pm8994_s4: s4 {
    670			regulator-min-microvolt = <1800000>;
    671			regulator-max-microvolt = <1800000>;
    672			regulator-system-load = <325000>;
    673			regulator-always-on;
    674		};
    675
    676		pm8994_s5: s5 {
    677			regulator-min-microvolt = <2150000>;
    678			regulator-max-microvolt = <2150000>;
    679		};
    680
    681		pm8994_s7: s7 {
    682			regulator-min-microvolt = <800000>;
    683			regulator-max-microvolt = <800000>;
    684		};
    685
    686		pm8994_l1: l1 {
    687			regulator-min-microvolt = <1000000>;
    688			regulator-max-microvolt = <1000000>;
    689		};
    690
    691		pm8994_l2: l2 {
    692			regulator-min-microvolt = <1250000>;
    693			regulator-max-microvolt = <1250000>;
    694		};
    695
    696		pm8994_l3: l3 {
    697			regulator-min-microvolt = <1100000>;
    698			regulator-max-microvolt = <1100000>;
    699		};
    700
    701		pm8994_l4: l4 {
    702			regulator-min-microvolt = <1225000>;
    703			regulator-max-microvolt = <1225000>;
    704		};
    705
    706		/* L6 and L7 seem unused. */
    707
    708		pm8994_l8: l8 {
    709			regulator-min-microvolt = <1800000>;
    710			regulator-max-microvolt = <1800000>;
    711		};
    712
    713		pm8994_l9: l9 {
    714			regulator-min-microvolt = <1800000>;
    715			regulator-max-microvolt = <1800000>;
    716		};
    717
    718		pm8994_l10: l10 {
    719			regulator-min-microvolt = <1800000>;
    720			regulator-max-microvolt = <1800000>;
    721		};
    722
    723		pm8994_l11: l11 {
    724			regulator-min-microvolt = <1100000>;
    725			regulator-max-microvolt = <1100000>;
    726		};
    727
    728		pm8994_l12: l12 {
    729			regulator-min-microvolt = <1800000>;
    730			regulator-max-microvolt = <1800000>;
    731			regulator-allow-set-load;
    732		};
    733
    734		pm8994_l13: l13 {
    735			regulator-min-microvolt = <1800000>;
    736			regulator-max-microvolt = <2950000>;
    737			regulator-system-load = <22000>;
    738			regulator-allow-set-load;
    739		};
    740
    741		pm8994_l14: l14 {
    742			regulator-min-microvolt = <1700000>;
    743			regulator-max-microvolt = <1900000>;
    744		};
    745
    746		pm8994_l15: l15 {
    747			regulator-min-microvolt = <1800000>;
    748			regulator-max-microvolt = <1800000>;
    749		};
    750
    751		pm8994_l16: l16 {
    752			regulator-min-microvolt = <2700000>;
    753			regulator-max-microvolt = <2700000>;
    754		};
    755
    756		pm8994_l17: l17 {
    757			regulator-min-microvolt = <2200000>;
    758			regulator-max-microvolt = <2500000>;
    759		};
    760
    761		pm8994_l18: l18 {
    762			regulator-min-microvolt = <1800000>;
    763			regulator-max-microvolt = <1800000>;
    764		};
    765
    766		pm8994_l19: l19 {
    767			regulator-min-microvolt = <3000000>;
    768			regulator-max-microvolt = <3000000>;
    769		};
    770
    771		pm8994_l20: l20 {
    772			regulator-min-microvolt = <2950000>;
    773			regulator-max-microvolt = <2950000>;
    774			regulator-system-load = <570000>;
    775			regulator-allow-set-load;
    776		};
    777
    778		pm8994_l21: l21 {
    779			regulator-min-microvolt = <2950000>;
    780			regulator-max-microvolt = <2950000>;
    781			regulator-system-load = <800000>;
    782			regulator-allow-set-load;
    783		};
    784
    785		pm8994_l22: l22 {
    786			regulator-min-microvolt = <3000000>;
    787			regulator-max-microvolt = <3000000>;
    788		};
    789
    790		pm8994_l23: l23 {
    791			regulator-min-microvolt = <2700000>;
    792			regulator-max-microvolt = <2700000>;
    793		};
    794
    795		pm8994_l24: l24 {
    796			regulator-min-microvolt = <3075000>;
    797			regulator-max-microvolt = <3075000>;
    798			regulator-allow-set-load;
    799		};
    800
    801		pm8994_l25: l25 {
    802			regulator-min-microvolt = <1200000>;
    803			regulator-max-microvolt = <1200000>;
    804			regulator-allow-set-load;
    805		};
    806
    807		pm8994_l27: l27 {
    808			regulator-min-microvolt = <1000000>;
    809			regulator-max-microvolt = <1200000>;
    810		};
    811
    812		pm8994_l28: l28 {
    813			regulator-min-microvolt = <925000>;
    814			regulator-max-microvolt = <925000>;
    815			regulator-allow-set-load;
    816		};
    817
    818		pm8994_l29: l29 {
    819			regulator-min-microvolt = <2700000>;
    820			regulator-max-microvolt = <2700000>;
    821		};
    822
    823		pm8994_l30: l30 { };
    824
    825		pm8994_l32: l32 {
    826			regulator-min-microvolt = <1800000>;
    827			regulator-max-microvolt = <1800000>;
    828		};
    829	};
    830};
    831
    832&sdhc1 {
    833	/* eMMC doesn't seem to cooperate even in PIO mode.. */
    834	status = "disabled";
    835
    836	vmmc-supply = <&pm8994_l20>;
    837	vqmmc-supply = <&pm8994_s4>;
    838	mmc-hs400-1_8v;
    839	mmc-hs200-1_8v;
    840};
    841
    842&sdhc2 {
    843	status = "okay";
    844
    845	cd-gpios = <&tlmm 40 GPIO_ACTIVE_HIGH>;
    846	vmmc-supply = <&pm8994_l21>;
    847	vqmmc-supply = <&pm8994_l13>;
    848};
    849
    850&tlmm {
    851	gpio-reserved-ranges = <0 4>;
    852	pinctrl-0 = <&sw_service_gpio>;
    853	pinctrl-names = "default";
    854
    855	disp_reset_n_gpio: disp-reset-n {
    856		pins = "gpio8";
    857		function = "gpio";
    858		drive-strength = <2>;
    859		bias-disable;
    860	};
    861
    862	mdp_vsync_p_gpio: mdp-vsync-p {
    863		pins = "gpio10";
    864		function = "mdp_vsync";
    865		drive-strength = <2>;
    866		bias-disable;
    867	};
    868
    869	sw_service_gpio: sw-service-gpio {
    870		pins = "gpio16";
    871		function = "gpio";
    872		drive-strength = <2>;
    873		bias-pull-up;
    874	};
    875
    876	usb_detect: usb-detect {
    877		pins = "gpio25";
    878		function = "gpio";
    879		drive-strength = <2>;
    880		bias-disable;
    881		output-high;
    882	};
    883
    884	uim_detect_en: uim-detect-en {
    885		pins = "gpio29";
    886		function = "gpio";
    887		drive-strength = <2>;
    888		bias-disable;
    889		output-high;
    890	};
    891
    892	tray_det_pin: tray-det {
    893		pins = "gpio40";
    894		function = "gpio";
    895		drive-strength = <2>;
    896		bias-disable;
    897	};
    898
    899	tp_vddio_en: tp-vddio-en {
    900		pins = "gpio50";
    901		function = "gpio";
    902		drive-strength = <2>;
    903		bias-disable;
    904		output-high;
    905	};
    906
    907	lcd_vddio_en: lcd-vddio-en {
    908		pins = "gpio51";
    909		function = "gpio";
    910		drive-strength = <2>;
    911		bias-disable;
    912		output-low;
    913	};
    914
    915	wl_host_wake: wl-host-wake {
    916		pins = "gpio79";
    917		function = "gpio";
    918		drive-strength = <2>;
    919		bias-pull-down;
    920		input-high;
    921	};
    922
    923	wl_reg_on: wl-reg-on {
    924		pins = "gpio84";
    925		function = "gpio";
    926		drive-strength = <2>;
    927		bias-disable;
    928		output-low;
    929	};
    930
    931	ts_reset_n: ts-rst-n {
    932		pins = "gpio89";
    933		function = "gpio";
    934		drive-strength = <2>;
    935	};
    936
    937	touch_int_n: touch-int-n {
    938		pins = "gpio125";
    939		function = "gpio";
    940		drive-strength = <2>;
    941		bias-pull-up;
    942	};
    943
    944	touch_int_sleep: touch-int-sleep {
    945		pins = "gpio125";
    946		function = "gpio";
    947		drive-strength = <2>;
    948		bias-pull-down;
    949	};
    950};
    951
    952/*
    953 * For reasons that are currently unknown (but probably related to fusb301), USB takes about
    954 * 6 minutes to wake up (nothing interesting in kernel logs), but then it works as it should.
    955 */
    956&usb3 {
    957	status = "okay";
    958	qcom,select-utmi-as-pipe-clk;
    959};
    960
    961&usb3_dwc3 {
    962	extcon = <&usb3_id>;
    963	dr_mode = "peripheral";
    964	phys = <&hsusb_phy1>;
    965	phy-names = "usb2-phy";
    966	snps,hird-threshold = /bits/ 8 <0>;
    967};