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 441*56080a49SBingwu Zhang&reserved_memory { 442*56080a49SBingwu Zhang ramoops@3e8e0000 { 443*56080a49SBingwu Zhang compatible = "ramoops"; 444*56080a49SBingwu Zhang reg = <0x3e8e0000 0x200000>; 445*56080a49SBingwu Zhang 446*56080a49SBingwu Zhang console-size = <0x100000>; 447*56080a49SBingwu Zhang record-size = <0x10000>; 448*56080a49SBingwu Zhang ftrace-size = <0x10000>; 449*56080a49SBingwu Zhang pmsg-size = <0x80000>; 450*56080a49SBingwu Zhang ecc-size = <8>; 451*56080a49SBingwu Zhang }; 452*56080a49SBingwu Zhang}; 453*56080a49SBingwu Zhang 45416dcf577SRong Zhang&remoteproc_adsp { 45516dcf577SRong Zhang status = "okay"; 45616dcf577SRong Zhang cx-supply = <&pma8084_s2>; 45716dcf577SRong Zhang}; 45816dcf577SRong Zhang 45916dcf577SRong Zhang&remoteproc_mss { 46016dcf577SRong Zhang status = "okay"; 46116dcf577SRong Zhang cx-supply = <&pma8084_s2>; 46216dcf577SRong Zhang mss-supply = <&pma8084_s6>; 46316dcf577SRong Zhang mx-supply = <&pma8084_s1>; 46416dcf577SRong Zhang pll-supply = <&pma8084_l12>; 46516dcf577SRong Zhang}; 46616dcf577SRong Zhang 46716dcf577SRong Zhang&rpm_requests { 46816dcf577SRong Zhang regulators-0 { 46916dcf577SRong Zhang compatible = "qcom,rpm-pma8084-regulators"; 47016dcf577SRong Zhang 47116dcf577SRong Zhang pma8084_s1: s1 { 47216dcf577SRong Zhang regulator-min-microvolt = <675000>; 47316dcf577SRong Zhang regulator-max-microvolt = <1050000>; 47416dcf577SRong Zhang regulator-always-on; 47516dcf577SRong Zhang }; 47616dcf577SRong Zhang 47716dcf577SRong Zhang pma8084_s2: s2 { 47816dcf577SRong Zhang regulator-min-microvolt = <500000>; 47916dcf577SRong Zhang regulator-max-microvolt = <1050000>; 48016dcf577SRong Zhang }; 48116dcf577SRong Zhang 48216dcf577SRong Zhang pma8084_s3: s3 { 48316dcf577SRong Zhang regulator-min-microvolt = <1300000>; 48416dcf577SRong Zhang regulator-max-microvolt = <1300000>; 48516dcf577SRong Zhang }; 48616dcf577SRong Zhang 48716dcf577SRong Zhang pma8084_s4: s4 { 48816dcf577SRong Zhang regulator-min-microvolt = <1800000>; 48916dcf577SRong Zhang regulator-max-microvolt = <1800000>; 49016dcf577SRong Zhang }; 49116dcf577SRong Zhang 49216dcf577SRong Zhang pma8084_s5: s5 { 49316dcf577SRong Zhang regulator-min-microvolt = <2150000>; 49416dcf577SRong Zhang regulator-max-microvolt = <2150000>; 49516dcf577SRong Zhang }; 49616dcf577SRong Zhang 49716dcf577SRong Zhang pma8084_s6: s6 { 49816dcf577SRong Zhang regulator-min-microvolt = <1050000>; 49916dcf577SRong Zhang regulator-max-microvolt = <1050000>; 50016dcf577SRong Zhang }; 50116dcf577SRong Zhang 50216dcf577SRong Zhang pma8084_l1: l1 { 50316dcf577SRong Zhang regulator-min-microvolt = <1225000>; 50416dcf577SRong Zhang regulator-max-microvolt = <1225000>; 50516dcf577SRong Zhang }; 50616dcf577SRong Zhang 50716dcf577SRong Zhang pma8084_l2: l2 { 50816dcf577SRong Zhang regulator-min-microvolt = <1200000>; 50916dcf577SRong Zhang regulator-max-microvolt = <1200000>; 51016dcf577SRong Zhang }; 51116dcf577SRong Zhang 51216dcf577SRong Zhang pma8084_l3: l3 { 51316dcf577SRong Zhang regulator-min-microvolt = <1050000>; 51416dcf577SRong Zhang regulator-max-microvolt = <1200000>; 51516dcf577SRong Zhang }; 51616dcf577SRong Zhang 51716dcf577SRong Zhang pma8084_l4: l4 { 51816dcf577SRong Zhang regulator-min-microvolt = <1200000>; 51916dcf577SRong Zhang regulator-max-microvolt = <1225000>; 52016dcf577SRong Zhang }; 52116dcf577SRong Zhang 52216dcf577SRong Zhang pma8084_l5: l5 { 52316dcf577SRong Zhang regulator-min-microvolt = <1800000>; 52416dcf577SRong Zhang regulator-max-microvolt = <1800000>; 52516dcf577SRong Zhang }; 52616dcf577SRong Zhang 52716dcf577SRong Zhang pma8084_l6: l6 { 52816dcf577SRong Zhang regulator-min-microvolt = <1800000>; 52916dcf577SRong Zhang regulator-max-microvolt = <1800000>; 53016dcf577SRong Zhang }; 53116dcf577SRong Zhang 53216dcf577SRong Zhang pma8084_l7: l7 { 53316dcf577SRong Zhang regulator-min-microvolt = <1800000>; 53416dcf577SRong Zhang regulator-max-microvolt = <1800000>; 53516dcf577SRong Zhang }; 53616dcf577SRong Zhang 53716dcf577SRong Zhang pma8084_l8: l8 { 53816dcf577SRong Zhang regulator-min-microvolt = <1800000>; 53916dcf577SRong Zhang regulator-max-microvolt = <1800000>; 54016dcf577SRong Zhang }; 54116dcf577SRong Zhang 54216dcf577SRong Zhang pma8084_l9: l9 { 54316dcf577SRong Zhang regulator-min-microvolt = <1800000>; 54416dcf577SRong Zhang regulator-max-microvolt = <2950000>; 54516dcf577SRong Zhang }; 54616dcf577SRong Zhang 54716dcf577SRong Zhang pma8084_l10: l10 { 54816dcf577SRong Zhang regulator-min-microvolt = <1800000>; 54916dcf577SRong Zhang regulator-max-microvolt = <2950000>; 55016dcf577SRong Zhang }; 55116dcf577SRong Zhang 55216dcf577SRong Zhang pma8084_l11: l11 { 55316dcf577SRong Zhang regulator-min-microvolt = <1300000>; 55416dcf577SRong Zhang regulator-max-microvolt = <1300000>; 55516dcf577SRong Zhang }; 55616dcf577SRong Zhang 55716dcf577SRong Zhang pma8084_l12: l12 { 55816dcf577SRong Zhang regulator-min-microvolt = <1800000>; 55916dcf577SRong Zhang regulator-max-microvolt = <1800000>; 56016dcf577SRong Zhang regulator-always-on; 56116dcf577SRong Zhang }; 56216dcf577SRong Zhang 56316dcf577SRong Zhang pma8084_l13: l13 { 56416dcf577SRong Zhang regulator-min-microvolt = <1800000>; 56516dcf577SRong Zhang regulator-max-microvolt = <2950000>; 56616dcf577SRong Zhang }; 56716dcf577SRong Zhang 56816dcf577SRong Zhang pma8084_l14: l14 { 56916dcf577SRong Zhang regulator-min-microvolt = <1800000>; 57016dcf577SRong Zhang regulator-max-microvolt = <1800000>; 57116dcf577SRong Zhang }; 57216dcf577SRong Zhang 57316dcf577SRong Zhang pma8084_l15: l15 { 57416dcf577SRong Zhang regulator-min-microvolt = <2050000>; 57516dcf577SRong Zhang regulator-max-microvolt = <2050000>; 57616dcf577SRong Zhang }; 57716dcf577SRong Zhang 57816dcf577SRong Zhang pma8084_l16: l16 { 57916dcf577SRong Zhang regulator-min-microvolt = <2700000>; 58016dcf577SRong Zhang regulator-max-microvolt = <2700000>; 58116dcf577SRong Zhang }; 58216dcf577SRong Zhang 58316dcf577SRong Zhang pma8084_l17: l17 { 58416dcf577SRong Zhang regulator-min-microvolt = <2850000>; 58516dcf577SRong Zhang regulator-max-microvolt = <2850000>; 58616dcf577SRong Zhang }; 58716dcf577SRong Zhang 58816dcf577SRong Zhang pma8084_l18: l18 { 58916dcf577SRong Zhang regulator-min-microvolt = <2850000>; 59016dcf577SRong Zhang regulator-max-microvolt = <2850000>; 59116dcf577SRong Zhang }; 59216dcf577SRong Zhang 59316dcf577SRong Zhang pma8084_l19: l19 { 59416dcf577SRong Zhang regulator-min-microvolt = <3300000>; 59516dcf577SRong Zhang regulator-max-microvolt = <3300000>; 59616dcf577SRong Zhang }; 59716dcf577SRong Zhang 59816dcf577SRong Zhang pma8084_l20: l20 { 59916dcf577SRong Zhang regulator-min-microvolt = <2950000>; 60016dcf577SRong Zhang regulator-max-microvolt = <2950000>; 60116dcf577SRong Zhang regulator-system-load = <200000>; 60216dcf577SRong Zhang regulator-allow-set-load; 60316dcf577SRong Zhang }; 60416dcf577SRong Zhang 60516dcf577SRong Zhang pma8084_l21: l21 { 60616dcf577SRong Zhang regulator-min-microvolt = <2950000>; 60716dcf577SRong Zhang regulator-max-microvolt = <2950000>; 60816dcf577SRong Zhang regulator-system-load = <200000>; 60916dcf577SRong Zhang regulator-allow-set-load; 61016dcf577SRong Zhang }; 61116dcf577SRong Zhang 61216dcf577SRong Zhang pma8084_l22: l22 { 61316dcf577SRong Zhang regulator-min-microvolt = <3000000>; 61416dcf577SRong Zhang regulator-max-microvolt = <3300000>; 61516dcf577SRong Zhang }; 61616dcf577SRong Zhang 61716dcf577SRong Zhang pma8084_l23: l23 { 61816dcf577SRong Zhang regulator-min-microvolt = <3000000>; 61916dcf577SRong Zhang regulator-max-microvolt = <3000000>; 62016dcf577SRong Zhang }; 62116dcf577SRong Zhang 62216dcf577SRong Zhang pma8084_l24: l24 { 62316dcf577SRong Zhang regulator-min-microvolt = <3075000>; 62416dcf577SRong Zhang regulator-max-microvolt = <3075000>; 62516dcf577SRong Zhang }; 62616dcf577SRong Zhang 62716dcf577SRong Zhang pma8084_l25: l25 { 62816dcf577SRong Zhang regulator-min-microvolt = <2100000>; 62916dcf577SRong Zhang regulator-max-microvolt = <2100000>; 63016dcf577SRong Zhang }; 63116dcf577SRong Zhang 63216dcf577SRong Zhang pma8084_l26: l26 { 63316dcf577SRong Zhang regulator-min-microvolt = <1800000>; 63416dcf577SRong Zhang regulator-max-microvolt = <2050000>; 63516dcf577SRong Zhang }; 63616dcf577SRong Zhang 63716dcf577SRong Zhang pma8084_l27: l27 { 63816dcf577SRong Zhang regulator-min-microvolt = <1000000>; 63916dcf577SRong Zhang regulator-max-microvolt = <1225000>; 64016dcf577SRong Zhang }; 64116dcf577SRong Zhang 64216dcf577SRong Zhang pma8084_lvs1: lvs1 {}; 64316dcf577SRong Zhang pma8084_lvs2: lvs2 {}; 64416dcf577SRong Zhang pma8084_lvs3: lvs3 {}; 64516dcf577SRong Zhang pma8084_lvs4: lvs4 {}; 64616dcf577SRong Zhang 64716dcf577SRong Zhang pma8084_5vs1: 5vs1 {}; 64816dcf577SRong Zhang }; 64916dcf577SRong Zhang}; 65016dcf577SRong Zhang 65116dcf577SRong Zhang&sdhc_1 { 65216dcf577SRong Zhang status = "okay"; 65316dcf577SRong Zhang 65416dcf577SRong Zhang vmmc-supply = <&pma8084_l20>; 65516dcf577SRong Zhang vqmmc-supply = <&pma8084_s4>; 65616dcf577SRong Zhang 65716dcf577SRong Zhang pinctrl-names = "default", "sleep"; 65816dcf577SRong Zhang pinctrl-0 = <&sdc1_on>; 65916dcf577SRong Zhang pinctrl-1 = <&sdc1_off>; 66016dcf577SRong Zhang}; 66116dcf577SRong Zhang 66216dcf577SRong Zhang&sdhc_2 { 66316dcf577SRong Zhang status = "okay"; 66416dcf577SRong Zhang max-frequency = <100000000>; 66516dcf577SRong Zhang vmmc-supply = <&vreg_wlan>; 66616dcf577SRong Zhang vqmmc-supply = <&pma8084_s4>; 66716dcf577SRong Zhang non-removable; 66816dcf577SRong Zhang 66916dcf577SRong Zhang pinctrl-names = "default", "sleep"; 67016dcf577SRong Zhang pinctrl-0 = <&sdc2_on>; 67116dcf577SRong Zhang pinctrl-1 = <&sdc2_off>; 67216dcf577SRong Zhang 67316dcf577SRong Zhang wifi@1 { 67416dcf577SRong Zhang reg = <1>; 67516dcf577SRong Zhang compatible = "brcm,bcm4329-fmac"; 67616dcf577SRong Zhang 677a730364fSRong Zhang /* 678a730364fSRong Zhang * Allow all klte* variants to load the same NVRAM file, 679a730364fSRong Zhang * as they have little difference in the WiFi part. 680a730364fSRong Zhang */ 681a730364fSRong Zhang brcm,board-type = "samsung,klte"; 682a730364fSRong Zhang 68316dcf577SRong Zhang interrupt-parent = <&tlmm>; 68416dcf577SRong Zhang interrupts = <92 IRQ_TYPE_LEVEL_HIGH>; 68516dcf577SRong Zhang interrupt-names = "host-wake"; 68616dcf577SRong Zhang 68716dcf577SRong Zhang pinctrl-names = "default"; 68816dcf577SRong Zhang pinctrl-0 = <&wlan_sleep_clk_pin &wifi_pin>; 68916dcf577SRong Zhang }; 69016dcf577SRong Zhang}; 69116dcf577SRong Zhang 69216dcf577SRong Zhang&sdhc_3 { 69316dcf577SRong Zhang status = "okay"; 69416dcf577SRong Zhang max-frequency = <100000000>; 69516dcf577SRong Zhang vmmc-supply = <&pma8084_l21>; 69616dcf577SRong Zhang vqmmc-supply = <&pma8084_l13>; 69716dcf577SRong Zhang 69816dcf577SRong Zhang /* 69916dcf577SRong Zhang * cd-gpio is intentionally disabled. If enabled, an SD card 70016dcf577SRong Zhang * present during boot is not initialized correctly. Without 70116dcf577SRong Zhang * cd-gpios the driver resorts to polling, so hotplug works. 70216dcf577SRong Zhang */ 70316dcf577SRong Zhang pinctrl-names = "default"; 70416dcf577SRong Zhang pinctrl-0 = <&sdc3_on /* &sdhc3_cd_pin */>; 70516dcf577SRong Zhang /* cd-gpios = <&tlmm 62 GPIO_ACTIVE_LOW>; */ 70616dcf577SRong Zhang}; 70716dcf577SRong Zhang 70816dcf577SRong Zhang&tlmm { 70916dcf577SRong Zhang /* This seems suspicious, but somebody with this device should look into it. */ 71016dcf577SRong Zhang blsp2_uart2_pins_active: blsp2-uart2-pins-active-state { 71116dcf577SRong Zhang pins = "gpio45", "gpio46", "gpio47", "gpio48"; 71216dcf577SRong Zhang function = "blsp_uart8"; 71316dcf577SRong Zhang drive-strength = <8>; 71416dcf577SRong Zhang bias-disable; 71516dcf577SRong Zhang }; 71616dcf577SRong Zhang 71716dcf577SRong Zhang blsp2_uart2_pins_sleep: blsp2-uart2-pins-sleep-state { 71816dcf577SRong Zhang pins = "gpio45", "gpio46", "gpio47", "gpio48"; 71916dcf577SRong Zhang function = "gpio"; 72016dcf577SRong Zhang drive-strength = <2>; 72116dcf577SRong Zhang bias-pull-down; 72216dcf577SRong Zhang }; 72316dcf577SRong Zhang 72416dcf577SRong Zhang bt_pins: bt-pins-state { 72516dcf577SRong Zhang hostwake-pins { 72616dcf577SRong Zhang pins = "gpio75"; 72716dcf577SRong Zhang function = "gpio"; 72816dcf577SRong Zhang drive-strength = <16>; 72916dcf577SRong Zhang }; 73016dcf577SRong Zhang 73116dcf577SRong Zhang devwake-pins { 73216dcf577SRong Zhang pins = "gpio91"; 73316dcf577SRong Zhang function = "gpio"; 73416dcf577SRong Zhang drive-strength = <2>; 73516dcf577SRong Zhang }; 73616dcf577SRong Zhang }; 73716dcf577SRong Zhang 73816dcf577SRong Zhang sdc1_on: sdhc1-on-state { 73916dcf577SRong Zhang clk-pins { 74016dcf577SRong Zhang pins = "sdc1_clk"; 74116dcf577SRong Zhang drive-strength = <4>; 74216dcf577SRong Zhang bias-disable; 74316dcf577SRong Zhang }; 74416dcf577SRong Zhang 74516dcf577SRong Zhang cmd-data-pins { 74616dcf577SRong Zhang pins = "sdc1_cmd", "sdc1_data"; 74716dcf577SRong Zhang drive-strength = <4>; 74816dcf577SRong Zhang bias-pull-up; 74916dcf577SRong Zhang }; 75016dcf577SRong Zhang }; 75116dcf577SRong Zhang 75216dcf577SRong Zhang sdc3_on: sdc3-on-state { 75316dcf577SRong Zhang pins = "gpio35", "gpio36", "gpio37", "gpio38", "gpio39", "gpio40"; 75416dcf577SRong Zhang function = "sdc3"; 75516dcf577SRong Zhang drive-strength = <8>; 75616dcf577SRong Zhang bias-disable; 75716dcf577SRong Zhang }; 75816dcf577SRong Zhang 75916dcf577SRong Zhang sdhc3_cd_pin: sdc3-cd-on-state { 76016dcf577SRong Zhang pins = "gpio62"; 76116dcf577SRong Zhang function = "gpio"; 76216dcf577SRong Zhang 76316dcf577SRong Zhang drive-strength = <2>; 76416dcf577SRong Zhang bias-disable; 76516dcf577SRong Zhang }; 76616dcf577SRong Zhang 76716dcf577SRong Zhang sdc2_on: sdhc2-on-state { 76816dcf577SRong Zhang clk-pins { 76916dcf577SRong Zhang pins = "sdc2_clk"; 77016dcf577SRong Zhang drive-strength = <6>; 77116dcf577SRong Zhang bias-disable; 77216dcf577SRong Zhang }; 77316dcf577SRong Zhang 77416dcf577SRong Zhang cmd-data-pins { 77516dcf577SRong Zhang pins = "sdc2_cmd", "sdc2_data"; 77616dcf577SRong Zhang drive-strength = <6>; 77716dcf577SRong Zhang bias-pull-up; 77816dcf577SRong Zhang }; 77916dcf577SRong Zhang }; 78016dcf577SRong Zhang 78116dcf577SRong Zhang i2c_touchkey_pins: i2c-touchkey-state { 78216dcf577SRong Zhang pins = "gpio95", "gpio96"; 78316dcf577SRong Zhang function = "gpio"; 78416dcf577SRong Zhang bias-pull-up; 78516dcf577SRong Zhang }; 78616dcf577SRong Zhang 78716dcf577SRong Zhang i2c_led_gpioex_pins: i2c-led-gpioex-state { 78816dcf577SRong Zhang function = "gpio"; 78916dcf577SRong Zhang bias-pull-down; 79016dcf577SRong Zhang }; 79116dcf577SRong Zhang 79216dcf577SRong Zhang gpioex_pin: gpioex-state { 79316dcf577SRong Zhang pins = "gpio145"; 79416dcf577SRong Zhang function = "gpio"; 79516dcf577SRong Zhang bias-pull-up; 79616dcf577SRong Zhang drive-strength = <2>; 79716dcf577SRong Zhang }; 79816dcf577SRong Zhang 79916dcf577SRong Zhang wifi_pin: wifi-state { 80016dcf577SRong Zhang pins = "gpio92"; 80116dcf577SRong Zhang function = "gpio"; 80216dcf577SRong Zhang bias-pull-down; 80316dcf577SRong Zhang }; 80416dcf577SRong Zhang 80516dcf577SRong Zhang panel_te_pin: panel-state { 80616dcf577SRong Zhang pins = "gpio12"; 80716dcf577SRong Zhang function = "mdp_vsync"; 80816dcf577SRong Zhang drive-strength = <2>; 80916dcf577SRong Zhang bias-disable; 81016dcf577SRong Zhang }; 81116dcf577SRong Zhang}; 81216dcf577SRong Zhang 81316dcf577SRong Zhang&usb { 81416dcf577SRong Zhang status = "okay"; 81516dcf577SRong Zhang 81616dcf577SRong Zhang phys = <&usb_hs1_phy>; 81716dcf577SRong Zhang phy-select = <&tcsr 0xb000 0>; 81816dcf577SRong Zhang 81916dcf577SRong Zhang hnp-disable; 82016dcf577SRong Zhang srp-disable; 82116dcf577SRong Zhang adp-disable; 82216dcf577SRong Zhang}; 82316dcf577SRong Zhang 82416dcf577SRong Zhang&usb_hs1_phy { 82516dcf577SRong Zhang status = "okay"; 82616dcf577SRong Zhang 82716dcf577SRong Zhang v1p8-supply = <&pma8084_l6>; 82816dcf577SRong Zhang v3p3-supply = <&pma8084_l24>; 82916dcf577SRong Zhang 83016dcf577SRong Zhang qcom,init-seq = /bits/ 8 <0x1 0x64>; 83116dcf577SRong Zhang}; 832