xref: /linux/arch/arm/boot/dts/qcom/qcom-msm8974pro-samsung-klte-common.dtsi (revision 36ec807b627b4c0a0a382f0ae48eac7187d14b2b)
116dcf577SRong Zhang// SPDX-License-Identifier: GPL-2.0
216dcf577SRong Zhang#include "qcom-msm8974pro.dtsi"
316dcf577SRong Zhang#include "pma8084.dtsi"
416dcf577SRong Zhang#include <dt-bindings/input/input.h>
516dcf577SRong Zhang#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
616dcf577SRong Zhang#include <dt-bindings/leds/common.h>
716dcf577SRong Zhang
816dcf577SRong Zhang/ {
916dcf577SRong Zhang	chassis-type = "handset";
1016dcf577SRong Zhang
1116dcf577SRong Zhang	aliases {
1216dcf577SRong Zhang		serial0 = &blsp1_uart1;
1316dcf577SRong Zhang		mmc0 = &sdhc_1; /* SDC1 eMMC slot */
1416dcf577SRong Zhang		mmc1 = &sdhc_3; /* SDC2 SD card slot */
1516dcf577SRong Zhang	};
1616dcf577SRong Zhang
1716dcf577SRong Zhang	chosen {
1816dcf577SRong Zhang		stdout-path = "serial0:115200n8";
1916dcf577SRong Zhang	};
2016dcf577SRong Zhang
2116dcf577SRong Zhang	gpio-keys {
2216dcf577SRong Zhang		compatible = "gpio-keys";
2316dcf577SRong Zhang
2416dcf577SRong Zhang		pinctrl-names = "default";
2516dcf577SRong Zhang		pinctrl-0 = <&gpio_keys_pin_a>;
2616dcf577SRong Zhang
2716dcf577SRong Zhang		key-volume-down {
2816dcf577SRong Zhang			label = "volume_down";
2916dcf577SRong Zhang			gpios = <&pma8084_gpios 2 GPIO_ACTIVE_LOW>;
3016dcf577SRong Zhang			linux,input-type = <1>;
3116dcf577SRong Zhang			linux,code = <KEY_VOLUMEDOWN>;
3216dcf577SRong Zhang			debounce-interval = <15>;
3316dcf577SRong Zhang		};
3416dcf577SRong Zhang
3516dcf577SRong Zhang		key-home {
3616dcf577SRong Zhang			label = "home_key";
3716dcf577SRong Zhang			gpios = <&pma8084_gpios 3 GPIO_ACTIVE_LOW>;
3816dcf577SRong Zhang			linux,input-type = <1>;
3916dcf577SRong Zhang			linux,code = <KEY_HOMEPAGE>;
4016dcf577SRong Zhang			wakeup-source;
4116dcf577SRong Zhang			debounce-interval = <15>;
4216dcf577SRong Zhang		};
4316dcf577SRong Zhang
4416dcf577SRong Zhang		key-volume-up {
4516dcf577SRong Zhang			label = "volume_up";
4616dcf577SRong Zhang			gpios = <&pma8084_gpios 5 GPIO_ACTIVE_LOW>;
4716dcf577SRong Zhang			linux,input-type = <1>;
4816dcf577SRong Zhang			linux,code = <KEY_VOLUMEUP>;
4916dcf577SRong Zhang			debounce-interval = <15>;
5016dcf577SRong Zhang		};
5116dcf577SRong Zhang	};
5216dcf577SRong Zhang
5316dcf577SRong Zhang	i2c-gpio-touchkey {
5416dcf577SRong Zhang		compatible = "i2c-gpio";
5516dcf577SRong Zhang		#address-cells = <1>;
5616dcf577SRong Zhang		#size-cells = <0>;
5716dcf577SRong Zhang		sda-gpios = <&tlmm 95 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
5816dcf577SRong Zhang		scl-gpios = <&tlmm 96 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
5916dcf577SRong Zhang		pinctrl-names = "default";
6016dcf577SRong Zhang		pinctrl-0 = <&i2c_touchkey_pins>;
6116dcf577SRong Zhang
6216dcf577SRong Zhang		touchkey@20 {
6316dcf577SRong Zhang			compatible = "cypress,tm2-touchkey";
6416dcf577SRong Zhang			reg = <0x20>;
6516dcf577SRong Zhang
6616dcf577SRong Zhang			interrupt-parent = <&pma8084_gpios>;
6716dcf577SRong Zhang			interrupts = <6 IRQ_TYPE_EDGE_FALLING>;
6816dcf577SRong Zhang			pinctrl-names = "default";
6916dcf577SRong Zhang			pinctrl-0 = <&touchkey_pin>;
7016dcf577SRong Zhang
7116dcf577SRong Zhang			vcc-supply = <&max77826_ldo15>;
7216dcf577SRong Zhang			vdd-supply = <&pma8084_l19>;
7316dcf577SRong Zhang
7416dcf577SRong Zhang			linux,keycodes = <KEY_APPSELECT KEY_BACK>;
7516dcf577SRong Zhang		};
7616dcf577SRong Zhang	};
7716dcf577SRong Zhang
7816dcf577SRong Zhang	i2c_led_gpio: i2c-gpio-led {
7916dcf577SRong Zhang		compatible = "i2c-gpio";
8016dcf577SRong Zhang		#address-cells = <1>;
8116dcf577SRong Zhang		#size-cells = <0>;
8216dcf577SRong Zhang		pinctrl-names = "default";
8316dcf577SRong Zhang		pinctrl-0 = <&i2c_led_gpioex_pins>;
8416dcf577SRong Zhang
8516dcf577SRong Zhang		i2c-gpio,delay-us = <2>;
8616dcf577SRong Zhang
8716dcf577SRong Zhang		gpio_expander: gpio@20 {
8816dcf577SRong Zhang			compatible = "nxp,pcal6416";
8916dcf577SRong Zhang			reg = <0x20>;
9016dcf577SRong Zhang
9116dcf577SRong Zhang			gpio-controller;
9216dcf577SRong Zhang			#gpio-cells = <2>;
9316dcf577SRong Zhang
9416dcf577SRong Zhang			vcc-supply = <&pma8084_s4>;
9516dcf577SRong Zhang
9616dcf577SRong Zhang			pinctrl-names = "default";
9716dcf577SRong Zhang			pinctrl-0 = <&gpioex_pin>;
9816dcf577SRong Zhang
9916dcf577SRong Zhang			reset-gpios = <&tlmm 145 GPIO_ACTIVE_LOW>;
10016dcf577SRong Zhang		};
10116dcf577SRong Zhang
10216dcf577SRong Zhang		led-controller@30 {
10316dcf577SRong Zhang			compatible = "panasonic,an30259a";
10416dcf577SRong Zhang			reg = <0x30>;
10516dcf577SRong Zhang
10616dcf577SRong Zhang			#address-cells = <1>;
10716dcf577SRong Zhang			#size-cells = <0>;
10816dcf577SRong Zhang
10916dcf577SRong Zhang			led@1 {
11016dcf577SRong Zhang				reg = <1>;
11116dcf577SRong Zhang				function = LED_FUNCTION_STATUS;
11216dcf577SRong Zhang				color = <LED_COLOR_ID_RED>;
11316dcf577SRong Zhang			};
11416dcf577SRong Zhang
11516dcf577SRong Zhang			led@2 {
11616dcf577SRong Zhang				reg = <2>;
11716dcf577SRong Zhang				function = LED_FUNCTION_STATUS;
11816dcf577SRong Zhang				color = <LED_COLOR_ID_GREEN>;
11916dcf577SRong Zhang			};
12016dcf577SRong Zhang
12116dcf577SRong Zhang			led@3 {
12216dcf577SRong Zhang				reg = <3>;
12316dcf577SRong Zhang				function = LED_FUNCTION_STATUS;
12416dcf577SRong Zhang				color = <LED_COLOR_ID_BLUE>;
12516dcf577SRong Zhang			};
12616dcf577SRong Zhang		};
12716dcf577SRong Zhang	};
12816dcf577SRong Zhang
12916dcf577SRong Zhang	vreg_wlan: wlan-regulator {
13016dcf577SRong Zhang		compatible = "regulator-fixed";
13116dcf577SRong Zhang
13216dcf577SRong Zhang		regulator-name = "wl-reg";
13316dcf577SRong Zhang		regulator-min-microvolt = <3300000>;
13416dcf577SRong Zhang		regulator-max-microvolt = <3300000>;
13516dcf577SRong Zhang
13616dcf577SRong Zhang		gpio = <&gpio_expander 8 GPIO_ACTIVE_HIGH>;
13716dcf577SRong Zhang		enable-active-high;
13816dcf577SRong Zhang	};
13916dcf577SRong Zhang
14016dcf577SRong Zhang	vreg_panel: panel-regulator {
14116dcf577SRong Zhang		compatible = "regulator-fixed";
14216dcf577SRong Zhang
14316dcf577SRong Zhang		pinctrl-names = "default";
14416dcf577SRong Zhang		pinctrl-0 = <&panel_en_pin>;
14516dcf577SRong Zhang
14616dcf577SRong Zhang		regulator-name = "panel-vddr-reg";
14716dcf577SRong Zhang		regulator-min-microvolt = <1500000>;
14816dcf577SRong Zhang		regulator-max-microvolt = <1500000>;
14916dcf577SRong Zhang
15016dcf577SRong Zhang		gpio = <&pma8084_gpios 14 GPIO_ACTIVE_HIGH>;
15116dcf577SRong Zhang		enable-active-high;
15216dcf577SRong Zhang	};
15316dcf577SRong Zhang
15416dcf577SRong Zhang	vreg_vph_pwr: vreg-vph-pwr {
15516dcf577SRong Zhang		compatible = "regulator-fixed";
15616dcf577SRong Zhang		regulator-name = "vph-pwr";
15716dcf577SRong Zhang
15816dcf577SRong Zhang		regulator-min-microvolt = <3600000>;
15916dcf577SRong Zhang		regulator-max-microvolt = <3600000>;
16016dcf577SRong Zhang
16116dcf577SRong Zhang		regulator-always-on;
16216dcf577SRong Zhang	};
16316dcf577SRong Zhang};
16416dcf577SRong Zhang
16516dcf577SRong Zhang&blsp1_i2c2 {
16616dcf577SRong Zhang	status = "okay";
16716dcf577SRong Zhang
16816dcf577SRong Zhang	touchscreen@20 {
16916dcf577SRong Zhang		compatible = "syna,rmi4-i2c";
17016dcf577SRong Zhang		reg = <0x20>;
17116dcf577SRong Zhang
17216dcf577SRong Zhang		interrupt-parent = <&pma8084_gpios>;
17316dcf577SRong Zhang		interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
17416dcf577SRong Zhang
17516dcf577SRong Zhang		vdd-supply = <&max77826_ldo13>;
17616dcf577SRong Zhang		vio-supply = <&pma8084_lvs2>;
17716dcf577SRong Zhang
17816dcf577SRong Zhang		pinctrl-names = "default";
17916dcf577SRong Zhang		pinctrl-0 = <&touch_pin>;
18016dcf577SRong Zhang
18116dcf577SRong Zhang		syna,startup-delay-ms = <100>;
18216dcf577SRong Zhang
18316dcf577SRong Zhang		#address-cells = <1>;
18416dcf577SRong Zhang		#size-cells = <0>;
18516dcf577SRong Zhang
18616dcf577SRong Zhang		rmi4-f01@1 {
18716dcf577SRong Zhang			reg = <0x1>;
18816dcf577SRong Zhang			syna,nosleep-mode = <1>;
18916dcf577SRong Zhang		};
19016dcf577SRong Zhang
19116dcf577SRong Zhang		rmi4-f12@12 {
19216dcf577SRong Zhang			reg = <0x12>;
19316dcf577SRong Zhang			syna,sensor-type = <1>;
19416dcf577SRong Zhang		};
19516dcf577SRong Zhang	};
19616dcf577SRong Zhang};
19716dcf577SRong Zhang
19816dcf577SRong Zhang&blsp1_i2c6 {
19916dcf577SRong Zhang	status = "okay";
20016dcf577SRong Zhang
20116dcf577SRong Zhang	pmic@60 {
20216dcf577SRong Zhang		reg = <0x60>;
20316dcf577SRong Zhang		compatible = "maxim,max77826";
20416dcf577SRong Zhang
20516dcf577SRong Zhang		regulators {
20616dcf577SRong Zhang			max77826_ldo1: LDO1 {
20716dcf577SRong Zhang				regulator-min-microvolt = <1200000>;
20816dcf577SRong Zhang				regulator-max-microvolt = <1200000>;
20916dcf577SRong Zhang			};
21016dcf577SRong Zhang
21116dcf577SRong Zhang			max77826_ldo2: LDO2 {
21216dcf577SRong Zhang				regulator-min-microvolt = <1000000>;
21316dcf577SRong Zhang				regulator-max-microvolt = <1000000>;
21416dcf577SRong Zhang			};
21516dcf577SRong Zhang
21616dcf577SRong Zhang			max77826_ldo3: LDO3 {
21716dcf577SRong Zhang				regulator-min-microvolt = <1200000>;
21816dcf577SRong Zhang				regulator-max-microvolt = <1200000>;
21916dcf577SRong Zhang			};
22016dcf577SRong Zhang
22116dcf577SRong Zhang			max77826_ldo4: LDO4 {
22216dcf577SRong Zhang				regulator-min-microvolt = <1800000>;
22316dcf577SRong Zhang				regulator-max-microvolt = <1800000>;
22416dcf577SRong Zhang			};
22516dcf577SRong Zhang
22616dcf577SRong Zhang			max77826_ldo5: LDO5 {
22716dcf577SRong Zhang				regulator-min-microvolt = <1800000>;
22816dcf577SRong Zhang				regulator-max-microvolt = <1800000>;
22916dcf577SRong Zhang			};
23016dcf577SRong Zhang
23116dcf577SRong Zhang			max77826_ldo6: LDO6 {
23216dcf577SRong Zhang				regulator-min-microvolt = <1800000>;
23316dcf577SRong Zhang				regulator-max-microvolt = <3300000>;
23416dcf577SRong Zhang			};
23516dcf577SRong Zhang
23616dcf577SRong Zhang			max77826_ldo7: LDO7 {
23716dcf577SRong Zhang				regulator-min-microvolt = <1800000>;
23816dcf577SRong Zhang				regulator-max-microvolt = <1800000>;
23916dcf577SRong Zhang			};
24016dcf577SRong Zhang
24116dcf577SRong Zhang			max77826_ldo8: LDO8 {
24216dcf577SRong Zhang				regulator-min-microvolt = <1800000>;
24316dcf577SRong Zhang				regulator-max-microvolt = <3300000>;
24416dcf577SRong Zhang			};
24516dcf577SRong Zhang
24616dcf577SRong Zhang			max77826_ldo9: LDO9 {
24716dcf577SRong Zhang				regulator-min-microvolt = <1800000>;
24816dcf577SRong Zhang				regulator-max-microvolt = <1800000>;
24916dcf577SRong Zhang			};
25016dcf577SRong Zhang
25116dcf577SRong Zhang			max77826_ldo10: LDO10 {
25216dcf577SRong Zhang				regulator-min-microvolt = <2800000>;
25316dcf577SRong Zhang				regulator-max-microvolt = <2950000>;
25416dcf577SRong Zhang			};
25516dcf577SRong Zhang
25616dcf577SRong Zhang			max77826_ldo11: LDO11 {
25716dcf577SRong Zhang				regulator-min-microvolt = <2700000>;
25816dcf577SRong Zhang				regulator-max-microvolt = <2950000>;
25916dcf577SRong Zhang			};
26016dcf577SRong Zhang
26116dcf577SRong Zhang			max77826_ldo12: LDO12 {
26216dcf577SRong Zhang				regulator-min-microvolt = <2500000>;
26316dcf577SRong Zhang				regulator-max-microvolt = <3300000>;
26416dcf577SRong Zhang			};
26516dcf577SRong Zhang
26616dcf577SRong Zhang			max77826_ldo13: LDO13 {
26716dcf577SRong Zhang				regulator-min-microvolt = <3300000>;
26816dcf577SRong Zhang				regulator-max-microvolt = <3300000>;
26916dcf577SRong Zhang			};
27016dcf577SRong Zhang
27116dcf577SRong Zhang			max77826_ldo14: LDO14 {
27216dcf577SRong Zhang				regulator-min-microvolt = <3300000>;
27316dcf577SRong Zhang				regulator-max-microvolt = <3300000>;
27416dcf577SRong Zhang			};
27516dcf577SRong Zhang
27616dcf577SRong Zhang			max77826_ldo15: LDO15 {
27716dcf577SRong Zhang				regulator-min-microvolt = <1800000>;
27816dcf577SRong Zhang				regulator-max-microvolt = <1800000>;
27916dcf577SRong Zhang			};
28016dcf577SRong Zhang
28116dcf577SRong Zhang			max77826_buck: BUCK {
28216dcf577SRong Zhang				regulator-min-microvolt = <1225000>;
28316dcf577SRong Zhang				regulator-max-microvolt = <1225000>;
28416dcf577SRong Zhang			};
28516dcf577SRong Zhang
28616dcf577SRong Zhang			max77826_buckboost: BUCKBOOST {
28716dcf577SRong Zhang				regulator-min-microvolt = <3400000>;
28816dcf577SRong Zhang				regulator-max-microvolt = <3400000>;
28916dcf577SRong Zhang			};
29016dcf577SRong Zhang		};
29116dcf577SRong Zhang	};
29216dcf577SRong Zhang};
29316dcf577SRong Zhang
29416dcf577SRong Zhang&blsp1_uart2 {
29516dcf577SRong Zhang	status = "okay";
29616dcf577SRong Zhang};
29716dcf577SRong Zhang
29816dcf577SRong Zhang&blsp2_i2c6 {
29916dcf577SRong Zhang	status = "okay";
30016dcf577SRong Zhang
30116dcf577SRong Zhang	fuelgauge@36 {
30216dcf577SRong Zhang		compatible = "maxim,max17048";
30316dcf577SRong Zhang		reg = <0x36>;
30416dcf577SRong Zhang
30516dcf577SRong Zhang		maxim,double-soc;
30616dcf577SRong Zhang		maxim,rcomp = /bits/ 8 <0x56>;
30716dcf577SRong Zhang
30816dcf577SRong Zhang		interrupt-parent = <&pma8084_gpios>;
30916dcf577SRong Zhang		interrupts = <21 IRQ_TYPE_LEVEL_LOW>;
31016dcf577SRong Zhang
31116dcf577SRong Zhang		pinctrl-names = "default";
31216dcf577SRong Zhang		pinctrl-0 = <&fuelgauge_pin>;
31316dcf577SRong Zhang	};
31416dcf577SRong Zhang};
31516dcf577SRong Zhang
31616dcf577SRong Zhang&blsp2_uart2 {
31716dcf577SRong Zhang	status = "okay";
31816dcf577SRong Zhang
31916dcf577SRong Zhang	pinctrl-names = "default", "sleep";
32016dcf577SRong Zhang	pinctrl-0 = <&blsp2_uart2_pins_active>;
32116dcf577SRong Zhang	pinctrl-1 = <&blsp2_uart2_pins_sleep>;
32216dcf577SRong Zhang
32316dcf577SRong Zhang	bluetooth {
32416dcf577SRong Zhang		compatible = "brcm,bcm43540-bt";
32516dcf577SRong Zhang		max-speed = <3000000>;
32616dcf577SRong Zhang		pinctrl-names = "default";
32716dcf577SRong Zhang		pinctrl-0 = <&bt_pins>;
32816dcf577SRong Zhang		device-wakeup-gpios = <&tlmm 91 GPIO_ACTIVE_HIGH>;
32916dcf577SRong Zhang		shutdown-gpios = <&gpio_expander 9 GPIO_ACTIVE_HIGH>;
33016dcf577SRong Zhang		interrupt-parent = <&tlmm>;
33116dcf577SRong Zhang		interrupts = <75 IRQ_TYPE_LEVEL_HIGH>;
33216dcf577SRong Zhang		interrupt-names = "host-wakeup";
33316dcf577SRong Zhang	};
33416dcf577SRong Zhang};
33516dcf577SRong Zhang
33616dcf577SRong Zhang&gpu {
33716dcf577SRong Zhang	status = "okay";
33816dcf577SRong Zhang};
33916dcf577SRong Zhang
34016dcf577SRong Zhang&mdss {
34116dcf577SRong Zhang	status = "okay";
34216dcf577SRong Zhang};
34316dcf577SRong Zhang
34416dcf577SRong Zhang&mdss_dsi0 {
34516dcf577SRong Zhang	status = "okay";
34616dcf577SRong Zhang
34716dcf577SRong Zhang	vdda-supply = <&pma8084_l2>;
34816dcf577SRong Zhang	vdd-supply = <&pma8084_l22>;
34916dcf577SRong Zhang	vddio-supply = <&pma8084_l12>;
35016dcf577SRong Zhang
35116dcf577SRong Zhang	panel: panel@0 {
35216dcf577SRong Zhang		reg = <0>;
35316dcf577SRong Zhang		compatible = "samsung,s6e3fa2";
35416dcf577SRong Zhang
35516dcf577SRong Zhang		pinctrl-names = "default";
35616dcf577SRong Zhang		pinctrl-0 = <&panel_te_pin &panel_rst_pin>;
35716dcf577SRong Zhang
35816dcf577SRong Zhang		iovdd-supply = <&pma8084_lvs4>;
35916dcf577SRong Zhang		vddr-supply = <&vreg_panel>;
36016dcf577SRong Zhang
36116dcf577SRong Zhang		reset-gpios = <&pma8084_gpios 17 GPIO_ACTIVE_LOW>;
36216dcf577SRong Zhang
36316dcf577SRong Zhang		port {
36416dcf577SRong Zhang			panel_in: endpoint {
36516dcf577SRong Zhang				remote-endpoint = <&mdss_dsi0_out>;
36616dcf577SRong Zhang			};
36716dcf577SRong Zhang		};
36816dcf577SRong Zhang	};
36916dcf577SRong Zhang};
37016dcf577SRong Zhang
37116dcf577SRong Zhang&mdss_dsi0_out {
37216dcf577SRong Zhang	remote-endpoint = <&panel_in>;
37316dcf577SRong Zhang	data-lanes = <0 1 2 3>;
37416dcf577SRong Zhang};
37516dcf577SRong Zhang
37616dcf577SRong Zhang&mdss_dsi0_phy {
37716dcf577SRong Zhang	status = "okay";
37816dcf577SRong Zhang
37916dcf577SRong Zhang	vddio-supply = <&pma8084_l12>;
38016dcf577SRong Zhang};
38116dcf577SRong Zhang
38216dcf577SRong Zhang&pma8084_gpios {
38316dcf577SRong Zhang	gpio_keys_pin_a: gpio-keys-active-state {
38416dcf577SRong Zhang		pins = "gpio2", "gpio3", "gpio5";
38516dcf577SRong Zhang		function = "normal";
38616dcf577SRong Zhang
38716dcf577SRong Zhang		bias-pull-up;
38816dcf577SRong Zhang		power-source = <PMA8084_GPIO_S4>;
38916dcf577SRong Zhang	};
39016dcf577SRong Zhang
39116dcf577SRong Zhang	touchkey_pin: touchkey-int-state {
39216dcf577SRong Zhang		pins = "gpio6";
39316dcf577SRong Zhang		function = "normal";
39416dcf577SRong Zhang		bias-disable;
39516dcf577SRong Zhang		input-enable;
39616dcf577SRong Zhang		power-source = <PMA8084_GPIO_S4>;
39716dcf577SRong Zhang	};
39816dcf577SRong Zhang
39916dcf577SRong Zhang	touch_pin: touchscreen-int-state {
40016dcf577SRong Zhang		pins = "gpio8";
40116dcf577SRong Zhang		function = "normal";
40216dcf577SRong Zhang		bias-disable;
40316dcf577SRong Zhang		input-enable;
40416dcf577SRong Zhang		power-source = <PMA8084_GPIO_S4>;
40516dcf577SRong Zhang	};
40616dcf577SRong Zhang
40716dcf577SRong Zhang	panel_en_pin: panel-en-state {
40816dcf577SRong Zhang		pins = "gpio14";
40916dcf577SRong Zhang		function = "normal";
41016dcf577SRong Zhang		bias-pull-up;
41116dcf577SRong Zhang		power-source = <PMA8084_GPIO_S4>;
41216dcf577SRong Zhang		qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
41316dcf577SRong Zhang	};
41416dcf577SRong Zhang
41516dcf577SRong Zhang	wlan_sleep_clk_pin: wlan-sleep-clk-state {
41616dcf577SRong Zhang		pins = "gpio16";
41716dcf577SRong Zhang		function = "func2";
41816dcf577SRong Zhang
41916dcf577SRong Zhang		output-high;
42016dcf577SRong Zhang		power-source = <PMA8084_GPIO_S4>;
42116dcf577SRong Zhang		qcom,drive-strength = <PMIC_GPIO_STRENGTH_HIGH>;
42216dcf577SRong Zhang	};
42316dcf577SRong Zhang
42416dcf577SRong Zhang	panel_rst_pin: panel-rst-state {
42516dcf577SRong Zhang		pins = "gpio17";
42616dcf577SRong Zhang		function = "normal";
42716dcf577SRong Zhang		bias-disable;
42816dcf577SRong Zhang		power-source = <PMA8084_GPIO_S4>;
42916dcf577SRong Zhang		qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
43016dcf577SRong Zhang	};
43116dcf577SRong Zhang
43216dcf577SRong Zhang	fuelgauge_pin: fuelgauge-int-state {
43316dcf577SRong Zhang		pins = "gpio21";
43416dcf577SRong Zhang		function = "normal";
43516dcf577SRong Zhang		bias-disable;
43616dcf577SRong Zhang		input-enable;
43716dcf577SRong Zhang		power-source = <PMA8084_GPIO_S4>;
43816dcf577SRong Zhang	};
43916dcf577SRong Zhang};
44016dcf577SRong Zhang
44116dcf577SRong Zhang&remoteproc_adsp {
44216dcf577SRong Zhang	status = "okay";
44316dcf577SRong Zhang	cx-supply = <&pma8084_s2>;
44416dcf577SRong Zhang};
44516dcf577SRong Zhang
44616dcf577SRong Zhang&remoteproc_mss {
44716dcf577SRong Zhang	status = "okay";
44816dcf577SRong Zhang	cx-supply = <&pma8084_s2>;
44916dcf577SRong Zhang	mss-supply = <&pma8084_s6>;
45016dcf577SRong Zhang	mx-supply = <&pma8084_s1>;
45116dcf577SRong Zhang	pll-supply = <&pma8084_l12>;
45216dcf577SRong Zhang};
45316dcf577SRong Zhang
45416dcf577SRong Zhang&rpm_requests {
45516dcf577SRong Zhang	regulators-0 {
45616dcf577SRong Zhang		compatible = "qcom,rpm-pma8084-regulators";
45716dcf577SRong Zhang
45816dcf577SRong Zhang		pma8084_s1: s1 {
45916dcf577SRong Zhang			regulator-min-microvolt = <675000>;
46016dcf577SRong Zhang			regulator-max-microvolt = <1050000>;
46116dcf577SRong Zhang			regulator-always-on;
46216dcf577SRong Zhang		};
46316dcf577SRong Zhang
46416dcf577SRong Zhang		pma8084_s2: s2 {
46516dcf577SRong Zhang			regulator-min-microvolt = <500000>;
46616dcf577SRong Zhang			regulator-max-microvolt = <1050000>;
46716dcf577SRong Zhang		};
46816dcf577SRong Zhang
46916dcf577SRong Zhang		pma8084_s3: s3 {
47016dcf577SRong Zhang			regulator-min-microvolt = <1300000>;
47116dcf577SRong Zhang			regulator-max-microvolt = <1300000>;
47216dcf577SRong Zhang		};
47316dcf577SRong Zhang
47416dcf577SRong Zhang		pma8084_s4: s4 {
47516dcf577SRong Zhang			regulator-min-microvolt = <1800000>;
47616dcf577SRong Zhang			regulator-max-microvolt = <1800000>;
47716dcf577SRong Zhang		};
47816dcf577SRong Zhang
47916dcf577SRong Zhang		pma8084_s5: s5 {
48016dcf577SRong Zhang			regulator-min-microvolt = <2150000>;
48116dcf577SRong Zhang			regulator-max-microvolt = <2150000>;
48216dcf577SRong Zhang		};
48316dcf577SRong Zhang
48416dcf577SRong Zhang		pma8084_s6: s6 {
48516dcf577SRong Zhang			regulator-min-microvolt = <1050000>;
48616dcf577SRong Zhang			regulator-max-microvolt = <1050000>;
48716dcf577SRong Zhang		};
48816dcf577SRong Zhang
48916dcf577SRong Zhang		pma8084_l1: l1 {
49016dcf577SRong Zhang			regulator-min-microvolt = <1225000>;
49116dcf577SRong Zhang			regulator-max-microvolt = <1225000>;
49216dcf577SRong Zhang		};
49316dcf577SRong Zhang
49416dcf577SRong Zhang		pma8084_l2: l2 {
49516dcf577SRong Zhang			regulator-min-microvolt = <1200000>;
49616dcf577SRong Zhang			regulator-max-microvolt = <1200000>;
49716dcf577SRong Zhang		};
49816dcf577SRong Zhang
49916dcf577SRong Zhang		pma8084_l3: l3 {
50016dcf577SRong Zhang			regulator-min-microvolt = <1050000>;
50116dcf577SRong Zhang			regulator-max-microvolt = <1200000>;
50216dcf577SRong Zhang		};
50316dcf577SRong Zhang
50416dcf577SRong Zhang		pma8084_l4: l4 {
50516dcf577SRong Zhang			regulator-min-microvolt = <1200000>;
50616dcf577SRong Zhang			regulator-max-microvolt = <1225000>;
50716dcf577SRong Zhang		};
50816dcf577SRong Zhang
50916dcf577SRong Zhang		pma8084_l5: l5 {
51016dcf577SRong Zhang			regulator-min-microvolt = <1800000>;
51116dcf577SRong Zhang			regulator-max-microvolt = <1800000>;
51216dcf577SRong Zhang		};
51316dcf577SRong Zhang
51416dcf577SRong Zhang		pma8084_l6: l6 {
51516dcf577SRong Zhang			regulator-min-microvolt = <1800000>;
51616dcf577SRong Zhang			regulator-max-microvolt = <1800000>;
51716dcf577SRong Zhang		};
51816dcf577SRong Zhang
51916dcf577SRong Zhang		pma8084_l7: l7 {
52016dcf577SRong Zhang			regulator-min-microvolt = <1800000>;
52116dcf577SRong Zhang			regulator-max-microvolt = <1800000>;
52216dcf577SRong Zhang		};
52316dcf577SRong Zhang
52416dcf577SRong Zhang		pma8084_l8: l8 {
52516dcf577SRong Zhang			regulator-min-microvolt = <1800000>;
52616dcf577SRong Zhang			regulator-max-microvolt = <1800000>;
52716dcf577SRong Zhang		};
52816dcf577SRong Zhang
52916dcf577SRong Zhang		pma8084_l9: l9 {
53016dcf577SRong Zhang			regulator-min-microvolt = <1800000>;
53116dcf577SRong Zhang			regulator-max-microvolt = <2950000>;
53216dcf577SRong Zhang		};
53316dcf577SRong Zhang
53416dcf577SRong Zhang		pma8084_l10: l10 {
53516dcf577SRong Zhang			regulator-min-microvolt = <1800000>;
53616dcf577SRong Zhang			regulator-max-microvolt = <2950000>;
53716dcf577SRong Zhang		};
53816dcf577SRong Zhang
53916dcf577SRong Zhang		pma8084_l11: l11 {
54016dcf577SRong Zhang			regulator-min-microvolt = <1300000>;
54116dcf577SRong Zhang			regulator-max-microvolt = <1300000>;
54216dcf577SRong Zhang		};
54316dcf577SRong Zhang
54416dcf577SRong Zhang		pma8084_l12: l12 {
54516dcf577SRong Zhang			regulator-min-microvolt = <1800000>;
54616dcf577SRong Zhang			regulator-max-microvolt = <1800000>;
54716dcf577SRong Zhang			regulator-always-on;
54816dcf577SRong Zhang		};
54916dcf577SRong Zhang
55016dcf577SRong Zhang		pma8084_l13: l13 {
55116dcf577SRong Zhang			regulator-min-microvolt = <1800000>;
55216dcf577SRong Zhang			regulator-max-microvolt = <2950000>;
55316dcf577SRong Zhang		};
55416dcf577SRong Zhang
55516dcf577SRong Zhang		pma8084_l14: l14 {
55616dcf577SRong Zhang			regulator-min-microvolt = <1800000>;
55716dcf577SRong Zhang			regulator-max-microvolt = <1800000>;
55816dcf577SRong Zhang		};
55916dcf577SRong Zhang
56016dcf577SRong Zhang		pma8084_l15: l15 {
56116dcf577SRong Zhang			regulator-min-microvolt = <2050000>;
56216dcf577SRong Zhang			regulator-max-microvolt = <2050000>;
56316dcf577SRong Zhang		};
56416dcf577SRong Zhang
56516dcf577SRong Zhang		pma8084_l16: l16 {
56616dcf577SRong Zhang			regulator-min-microvolt = <2700000>;
56716dcf577SRong Zhang			regulator-max-microvolt = <2700000>;
56816dcf577SRong Zhang		};
56916dcf577SRong Zhang
57016dcf577SRong Zhang		pma8084_l17: l17 {
57116dcf577SRong Zhang			regulator-min-microvolt = <2850000>;
57216dcf577SRong Zhang			regulator-max-microvolt = <2850000>;
57316dcf577SRong Zhang		};
57416dcf577SRong Zhang
57516dcf577SRong Zhang		pma8084_l18: l18 {
57616dcf577SRong Zhang			regulator-min-microvolt = <2850000>;
57716dcf577SRong Zhang			regulator-max-microvolt = <2850000>;
57816dcf577SRong Zhang		};
57916dcf577SRong Zhang
58016dcf577SRong Zhang		pma8084_l19: l19 {
58116dcf577SRong Zhang			regulator-min-microvolt = <3300000>;
58216dcf577SRong Zhang			regulator-max-microvolt = <3300000>;
58316dcf577SRong Zhang		};
58416dcf577SRong Zhang
58516dcf577SRong Zhang		pma8084_l20: l20 {
58616dcf577SRong Zhang			regulator-min-microvolt = <2950000>;
58716dcf577SRong Zhang			regulator-max-microvolt = <2950000>;
58816dcf577SRong Zhang			regulator-system-load = <200000>;
58916dcf577SRong Zhang			regulator-allow-set-load;
59016dcf577SRong Zhang		};
59116dcf577SRong Zhang
59216dcf577SRong Zhang		pma8084_l21: l21 {
59316dcf577SRong Zhang			regulator-min-microvolt = <2950000>;
59416dcf577SRong Zhang			regulator-max-microvolt = <2950000>;
59516dcf577SRong Zhang			regulator-system-load = <200000>;
59616dcf577SRong Zhang			regulator-allow-set-load;
59716dcf577SRong Zhang		};
59816dcf577SRong Zhang
59916dcf577SRong Zhang		pma8084_l22: l22 {
60016dcf577SRong Zhang			regulator-min-microvolt = <3000000>;
60116dcf577SRong Zhang			regulator-max-microvolt = <3300000>;
60216dcf577SRong Zhang		};
60316dcf577SRong Zhang
60416dcf577SRong Zhang		pma8084_l23: l23 {
60516dcf577SRong Zhang			regulator-min-microvolt = <3000000>;
60616dcf577SRong Zhang			regulator-max-microvolt = <3000000>;
60716dcf577SRong Zhang		};
60816dcf577SRong Zhang
60916dcf577SRong Zhang		pma8084_l24: l24 {
61016dcf577SRong Zhang			regulator-min-microvolt = <3075000>;
61116dcf577SRong Zhang			regulator-max-microvolt = <3075000>;
61216dcf577SRong Zhang		};
61316dcf577SRong Zhang
61416dcf577SRong Zhang		pma8084_l25: l25 {
61516dcf577SRong Zhang			regulator-min-microvolt = <2100000>;
61616dcf577SRong Zhang			regulator-max-microvolt = <2100000>;
61716dcf577SRong Zhang		};
61816dcf577SRong Zhang
61916dcf577SRong Zhang		pma8084_l26: l26 {
62016dcf577SRong Zhang			regulator-min-microvolt = <1800000>;
62116dcf577SRong Zhang			regulator-max-microvolt = <2050000>;
62216dcf577SRong Zhang		};
62316dcf577SRong Zhang
62416dcf577SRong Zhang		pma8084_l27: l27 {
62516dcf577SRong Zhang			regulator-min-microvolt = <1000000>;
62616dcf577SRong Zhang			regulator-max-microvolt = <1225000>;
62716dcf577SRong Zhang		};
62816dcf577SRong Zhang
62916dcf577SRong Zhang		pma8084_lvs1: lvs1 {};
63016dcf577SRong Zhang		pma8084_lvs2: lvs2 {};
63116dcf577SRong Zhang		pma8084_lvs3: lvs3 {};
63216dcf577SRong Zhang		pma8084_lvs4: lvs4 {};
63316dcf577SRong Zhang
63416dcf577SRong Zhang		pma8084_5vs1: 5vs1 {};
63516dcf577SRong Zhang	};
63616dcf577SRong Zhang};
63716dcf577SRong Zhang
63816dcf577SRong Zhang&sdhc_1 {
63916dcf577SRong Zhang	status = "okay";
64016dcf577SRong Zhang
64116dcf577SRong Zhang	vmmc-supply = <&pma8084_l20>;
64216dcf577SRong Zhang	vqmmc-supply = <&pma8084_s4>;
64316dcf577SRong Zhang
64416dcf577SRong Zhang	pinctrl-names = "default", "sleep";
64516dcf577SRong Zhang	pinctrl-0 = <&sdc1_on>;
64616dcf577SRong Zhang	pinctrl-1 = <&sdc1_off>;
64716dcf577SRong Zhang};
64816dcf577SRong Zhang
64916dcf577SRong Zhang&sdhc_2 {
65016dcf577SRong Zhang	status = "okay";
65116dcf577SRong Zhang	max-frequency = <100000000>;
65216dcf577SRong Zhang	vmmc-supply = <&vreg_wlan>;
65316dcf577SRong Zhang	vqmmc-supply = <&pma8084_s4>;
65416dcf577SRong Zhang	non-removable;
65516dcf577SRong Zhang
65616dcf577SRong Zhang	pinctrl-names = "default", "sleep";
65716dcf577SRong Zhang	pinctrl-0 = <&sdc2_on>;
65816dcf577SRong Zhang	pinctrl-1 = <&sdc2_off>;
65916dcf577SRong Zhang
66016dcf577SRong Zhang	wifi@1 {
66116dcf577SRong Zhang		reg = <1>;
66216dcf577SRong Zhang		compatible = "brcm,bcm4329-fmac";
66316dcf577SRong Zhang
664*a730364fSRong Zhang		/*
665*a730364fSRong Zhang		 * Allow all klte* variants to load the same NVRAM file,
666*a730364fSRong Zhang		 * as they have little difference in the WiFi part.
667*a730364fSRong Zhang		 */
668*a730364fSRong Zhang		brcm,board-type = "samsung,klte";
669*a730364fSRong Zhang
67016dcf577SRong Zhang		interrupt-parent = <&tlmm>;
67116dcf577SRong Zhang		interrupts = <92 IRQ_TYPE_LEVEL_HIGH>;
67216dcf577SRong Zhang		interrupt-names = "host-wake";
67316dcf577SRong Zhang
67416dcf577SRong Zhang		pinctrl-names = "default";
67516dcf577SRong Zhang		pinctrl-0 = <&wlan_sleep_clk_pin &wifi_pin>;
67616dcf577SRong Zhang	};
67716dcf577SRong Zhang};
67816dcf577SRong Zhang
67916dcf577SRong Zhang&sdhc_3 {
68016dcf577SRong Zhang	status = "okay";
68116dcf577SRong Zhang	max-frequency = <100000000>;
68216dcf577SRong Zhang	vmmc-supply = <&pma8084_l21>;
68316dcf577SRong Zhang	vqmmc-supply = <&pma8084_l13>;
68416dcf577SRong Zhang
68516dcf577SRong Zhang	/*
68616dcf577SRong Zhang	 * cd-gpio is intentionally disabled. If enabled, an SD card
68716dcf577SRong Zhang	 * present during boot is not initialized correctly. Without
68816dcf577SRong Zhang	 * cd-gpios the driver resorts to polling, so hotplug works.
68916dcf577SRong Zhang	 */
69016dcf577SRong Zhang	pinctrl-names = "default";
69116dcf577SRong Zhang	pinctrl-0 = <&sdc3_on /* &sdhc3_cd_pin */>;
69216dcf577SRong Zhang	/* cd-gpios = <&tlmm 62 GPIO_ACTIVE_LOW>; */
69316dcf577SRong Zhang};
69416dcf577SRong Zhang
69516dcf577SRong Zhang&tlmm {
69616dcf577SRong Zhang	/* This seems suspicious, but somebody with this device should look into it. */
69716dcf577SRong Zhang	blsp2_uart2_pins_active: blsp2-uart2-pins-active-state {
69816dcf577SRong Zhang		pins = "gpio45", "gpio46", "gpio47", "gpio48";
69916dcf577SRong Zhang		function = "blsp_uart8";
70016dcf577SRong Zhang		drive-strength = <8>;
70116dcf577SRong Zhang		bias-disable;
70216dcf577SRong Zhang	};
70316dcf577SRong Zhang
70416dcf577SRong Zhang	blsp2_uart2_pins_sleep: blsp2-uart2-pins-sleep-state {
70516dcf577SRong Zhang		pins = "gpio45", "gpio46", "gpio47", "gpio48";
70616dcf577SRong Zhang		function = "gpio";
70716dcf577SRong Zhang		drive-strength = <2>;
70816dcf577SRong Zhang		bias-pull-down;
70916dcf577SRong Zhang	};
71016dcf577SRong Zhang
71116dcf577SRong Zhang	bt_pins: bt-pins-state {
71216dcf577SRong Zhang		hostwake-pins {
71316dcf577SRong Zhang			pins = "gpio75";
71416dcf577SRong Zhang			function = "gpio";
71516dcf577SRong Zhang			drive-strength = <16>;
71616dcf577SRong Zhang		};
71716dcf577SRong Zhang
71816dcf577SRong Zhang		devwake-pins {
71916dcf577SRong Zhang			pins = "gpio91";
72016dcf577SRong Zhang			function = "gpio";
72116dcf577SRong Zhang			drive-strength = <2>;
72216dcf577SRong Zhang		};
72316dcf577SRong Zhang	};
72416dcf577SRong Zhang
72516dcf577SRong Zhang	sdc1_on: sdhc1-on-state {
72616dcf577SRong Zhang		clk-pins {
72716dcf577SRong Zhang			pins = "sdc1_clk";
72816dcf577SRong Zhang			drive-strength = <4>;
72916dcf577SRong Zhang			bias-disable;
73016dcf577SRong Zhang		};
73116dcf577SRong Zhang
73216dcf577SRong Zhang		cmd-data-pins {
73316dcf577SRong Zhang			pins = "sdc1_cmd", "sdc1_data";
73416dcf577SRong Zhang			drive-strength = <4>;
73516dcf577SRong Zhang			bias-pull-up;
73616dcf577SRong Zhang		};
73716dcf577SRong Zhang	};
73816dcf577SRong Zhang
73916dcf577SRong Zhang	sdc3_on: sdc3-on-state {
74016dcf577SRong Zhang		pins = "gpio35", "gpio36", "gpio37", "gpio38", "gpio39", "gpio40";
74116dcf577SRong Zhang		function = "sdc3";
74216dcf577SRong Zhang		drive-strength = <8>;
74316dcf577SRong Zhang		bias-disable;
74416dcf577SRong Zhang	};
74516dcf577SRong Zhang
74616dcf577SRong Zhang	sdhc3_cd_pin: sdc3-cd-on-state {
74716dcf577SRong Zhang		pins = "gpio62";
74816dcf577SRong Zhang		function = "gpio";
74916dcf577SRong Zhang
75016dcf577SRong Zhang		drive-strength = <2>;
75116dcf577SRong Zhang		bias-disable;
75216dcf577SRong Zhang	};
75316dcf577SRong Zhang
75416dcf577SRong Zhang	sdc2_on: sdhc2-on-state {
75516dcf577SRong Zhang		clk-pins {
75616dcf577SRong Zhang			pins = "sdc2_clk";
75716dcf577SRong Zhang			drive-strength = <6>;
75816dcf577SRong Zhang			bias-disable;
75916dcf577SRong Zhang		};
76016dcf577SRong Zhang
76116dcf577SRong Zhang		cmd-data-pins {
76216dcf577SRong Zhang			pins = "sdc2_cmd", "sdc2_data";
76316dcf577SRong Zhang			drive-strength = <6>;
76416dcf577SRong Zhang			bias-pull-up;
76516dcf577SRong Zhang		};
76616dcf577SRong Zhang	};
76716dcf577SRong Zhang
76816dcf577SRong Zhang	i2c_touchkey_pins: i2c-touchkey-state {
76916dcf577SRong Zhang		pins = "gpio95", "gpio96";
77016dcf577SRong Zhang		function = "gpio";
77116dcf577SRong Zhang		bias-pull-up;
77216dcf577SRong Zhang	};
77316dcf577SRong Zhang
77416dcf577SRong Zhang	i2c_led_gpioex_pins: i2c-led-gpioex-state {
77516dcf577SRong Zhang		function = "gpio";
77616dcf577SRong Zhang		bias-pull-down;
77716dcf577SRong Zhang	};
77816dcf577SRong Zhang
77916dcf577SRong Zhang	gpioex_pin: gpioex-state {
78016dcf577SRong Zhang		pins = "gpio145";
78116dcf577SRong Zhang		function = "gpio";
78216dcf577SRong Zhang		bias-pull-up;
78316dcf577SRong Zhang		drive-strength = <2>;
78416dcf577SRong Zhang	};
78516dcf577SRong Zhang
78616dcf577SRong Zhang	wifi_pin: wifi-state {
78716dcf577SRong Zhang		pins = "gpio92";
78816dcf577SRong Zhang		function = "gpio";
78916dcf577SRong Zhang		bias-pull-down;
79016dcf577SRong Zhang	};
79116dcf577SRong Zhang
79216dcf577SRong Zhang	panel_te_pin: panel-state {
79316dcf577SRong Zhang		pins = "gpio12";
79416dcf577SRong Zhang		function = "mdp_vsync";
79516dcf577SRong Zhang		drive-strength = <2>;
79616dcf577SRong Zhang		bias-disable;
79716dcf577SRong Zhang	};
79816dcf577SRong Zhang};
79916dcf577SRong Zhang
80016dcf577SRong Zhang&usb {
80116dcf577SRong Zhang	status = "okay";
80216dcf577SRong Zhang
80316dcf577SRong Zhang	phys = <&usb_hs1_phy>;
80416dcf577SRong Zhang	phy-select = <&tcsr 0xb000 0>;
80516dcf577SRong Zhang
80616dcf577SRong Zhang	hnp-disable;
80716dcf577SRong Zhang	srp-disable;
80816dcf577SRong Zhang	adp-disable;
80916dcf577SRong Zhang};
81016dcf577SRong Zhang
81116dcf577SRong Zhang&usb_hs1_phy {
81216dcf577SRong Zhang	status = "okay";
81316dcf577SRong Zhang
81416dcf577SRong Zhang	v1p8-supply = <&pma8084_l6>;
81516dcf577SRong Zhang	v3p3-supply = <&pma8084_l24>;
81616dcf577SRong Zhang
81716dcf577SRong Zhang	qcom,init-seq = /bits/ 8 <0x1 0x64>;
81816dcf577SRong Zhang};
819