116e8e807SStephan Gerhold// SPDX-License-Identifier: GPL-2.0-only 216e8e807SStephan Gerhold 316e8e807SStephan Gerhold/dts-v1/; 416e8e807SStephan Gerhold 5bfe9d754SStephan Gerhold#include "msm8916-pm8916.dtsi" 616e8e807SStephan Gerhold#include <dt-bindings/gpio/gpio.h> 73ba8bbc4SNikita Travkin#include <dt-bindings/input/input.h> 86eb81528SNikita Travkin#include <dt-bindings/interrupt-controller/irq.h> 916e8e807SStephan Gerhold 1016e8e807SStephan Gerhold/ { 1116e8e807SStephan Gerhold model = "Longcheer L8150"; 1216e8e807SStephan Gerhold compatible = "longcheer,l8150", "qcom,msm8916-v1-qrd/9-v1", "qcom,msm8916"; 1316e8e807SStephan Gerhold 1416e8e807SStephan Gerhold aliases { 1516e8e807SStephan Gerhold serial0 = &blsp1_uart2; 1616e8e807SStephan Gerhold }; 1716e8e807SStephan Gerhold 1816e8e807SStephan Gerhold chosen { 1916e8e807SStephan Gerhold stdout-path = "serial0"; 2016e8e807SStephan Gerhold }; 2116e8e807SStephan Gerhold 22b0e1600dSNikita Travkin reserved-memory { 23b0e1600dSNikita Travkin // wcnss.mdt is not relocatable, so it must be loaded at 0x8b600000 24b0e1600dSNikita Travkin /delete-node/ wcnss@89300000; 25b0e1600dSNikita Travkin 26b0e1600dSNikita Travkin wcnss_mem: wcnss@8b600000 { 27b0e1600dSNikita Travkin reg = <0x0 0x8b600000 0x0 0x600000>; 28b0e1600dSNikita Travkin no-map; 29b0e1600dSNikita Travkin }; 30b0e1600dSNikita Travkin }; 31b0e1600dSNikita Travkin 3216e8e807SStephan Gerhold // FIXME: Use extcon device provided by charger driver when available 3316e8e807SStephan Gerhold usb_vbus: usb-vbus { 3416e8e807SStephan Gerhold compatible = "linux,extcon-usb-gpio"; 3516e8e807SStephan Gerhold vbus-gpio = <&msmgpio 62 GPIO_ACTIVE_HIGH>; 3616e8e807SStephan Gerhold pinctrl-names = "default"; 3716e8e807SStephan Gerhold pinctrl-0 = <&usb_vbus_default>; 3816e8e807SStephan Gerhold }; 393ba8bbc4SNikita Travkin 403ba8bbc4SNikita Travkin gpio-keys { 413ba8bbc4SNikita Travkin compatible = "gpio-keys"; 423ba8bbc4SNikita Travkin 433ba8bbc4SNikita Travkin pinctrl-names = "default"; 443ba8bbc4SNikita Travkin pinctrl-0 = <&gpio_keys_default>; 453ba8bbc4SNikita Travkin 463ba8bbc4SNikita Travkin label = "GPIO Buttons"; 473ba8bbc4SNikita Travkin 483ba8bbc4SNikita Travkin volume-up { 493ba8bbc4SNikita Travkin label = "Volume Up"; 503ba8bbc4SNikita Travkin gpios = <&msmgpio 107 GPIO_ACTIVE_LOW>; 513ba8bbc4SNikita Travkin linux,code = <KEY_VOLUMEUP>; 523ba8bbc4SNikita Travkin }; 533ba8bbc4SNikita Travkin }; 546eb81528SNikita Travkin 556eb81528SNikita Travkin reg_ctp: regulator-ctp { 566eb81528SNikita Travkin compatible = "regulator-fixed"; 576eb81528SNikita Travkin regulator-name = "ctp"; 586eb81528SNikita Travkin 596eb81528SNikita Travkin regulator-min-microvolt = <2800000>; 606eb81528SNikita Travkin regulator-max-microvolt = <2800000>; 616eb81528SNikita Travkin 626eb81528SNikita Travkin gpio = <&msmgpio 17 GPIO_ACTIVE_HIGH>; 636eb81528SNikita Travkin enable-active-high; 646eb81528SNikita Travkin 656eb81528SNikita Travkin pinctrl-names = "default"; 666eb81528SNikita Travkin pinctrl-0 = <&ctp_pwr_en_default>; 676eb81528SNikita Travkin }; 686eb81528SNikita Travkin}; 696eb81528SNikita Travkin 70*6bd2cae7SNikita Travkin&blsp_i2c2 { 71*6bd2cae7SNikita Travkin status = "okay"; 72*6bd2cae7SNikita Travkin 73*6bd2cae7SNikita Travkin accelerometer@10 { 74*6bd2cae7SNikita Travkin compatible = "bosch,bmc150_accel"; 75*6bd2cae7SNikita Travkin reg = <0x10>; 76*6bd2cae7SNikita Travkin 77*6bd2cae7SNikita Travkin vdd-supply = <&pm8916_l17>; 78*6bd2cae7SNikita Travkin vddio-supply = <&pm8916_l6>; 79*6bd2cae7SNikita Travkin 80*6bd2cae7SNikita Travkin mount-matrix = "0", "1", "0", 81*6bd2cae7SNikita Travkin "-1", "0", "0", 82*6bd2cae7SNikita Travkin "0", "0", "1"; 83*6bd2cae7SNikita Travkin }; 84*6bd2cae7SNikita Travkin 85*6bd2cae7SNikita Travkin magnetometer@12 { 86*6bd2cae7SNikita Travkin compatible = "bosch,bmc150_magn"; 87*6bd2cae7SNikita Travkin reg = <0x12>; 88*6bd2cae7SNikita Travkin 89*6bd2cae7SNikita Travkin vdd-supply = <&pm8916_l17>; 90*6bd2cae7SNikita Travkin vddio-supply = <&pm8916_l6>; 91*6bd2cae7SNikita Travkin }; 92*6bd2cae7SNikita Travkin 93*6bd2cae7SNikita Travkin gyroscope@68 { 94*6bd2cae7SNikita Travkin compatible = "bosch,bmg160"; 95*6bd2cae7SNikita Travkin reg = <0x68>; 96*6bd2cae7SNikita Travkin 97*6bd2cae7SNikita Travkin interrupt-parent = <&msmgpio>; 98*6bd2cae7SNikita Travkin interrupts = <23 IRQ_TYPE_EDGE_RISING>; 99*6bd2cae7SNikita Travkin 100*6bd2cae7SNikita Travkin pinctrl-names = "default"; 101*6bd2cae7SNikita Travkin pinctrl-0 = <&gyro_int_default>; 102*6bd2cae7SNikita Travkin 103*6bd2cae7SNikita Travkin vdd-supply = <&pm8916_l17>; 104*6bd2cae7SNikita Travkin vddio-supply = <&pm8916_l6>; 105*6bd2cae7SNikita Travkin }; 106*6bd2cae7SNikita Travkin}; 107*6bd2cae7SNikita Travkin 1086eb81528SNikita Travkin&blsp_i2c5 { 1096eb81528SNikita Travkin status = "okay"; 1106eb81528SNikita Travkin 1116eb81528SNikita Travkin rmi4@20 { 1126eb81528SNikita Travkin compatible = "syna,rmi4-i2c"; 1136eb81528SNikita Travkin reg = <0x20>; 1146eb81528SNikita Travkin #address-cells = <1>; 1156eb81528SNikita Travkin #size-cells = <0>; 1166eb81528SNikita Travkin 1176eb81528SNikita Travkin interrupt-parent = <&msmgpio>; 1186eb81528SNikita Travkin interrupts = <13 IRQ_TYPE_EDGE_FALLING>; 1196eb81528SNikita Travkin 1206eb81528SNikita Travkin vdd-supply = <®_ctp>; 1216eb81528SNikita Travkin vio-supply = <&pm8916_l6>; 1226eb81528SNikita Travkin 1236eb81528SNikita Travkin pinctrl-names = "default"; 1246eb81528SNikita Travkin pinctrl-0 = <&tp_int_default>; 1256eb81528SNikita Travkin 1266eb81528SNikita Travkin syna,startup-delay-ms = <10>; 1276eb81528SNikita Travkin 1286eb81528SNikita Travkin rmi4-f01@1 { 1296eb81528SNikita Travkin reg = <0x1>; 1306eb81528SNikita Travkin syna,nosleep-mode = <1>; // Allow sleeping 1316eb81528SNikita Travkin }; 1326eb81528SNikita Travkin 1336eb81528SNikita Travkin rmi4-f12@12 { 1346eb81528SNikita Travkin reg = <0x12>; 1356eb81528SNikita Travkin syna,sensor-type = <1>; // Touchscreen 1366eb81528SNikita Travkin }; 1376eb81528SNikita Travkin }; 13816e8e807SStephan Gerhold}; 13916e8e807SStephan Gerhold 140e2f6482aSStephan Gerhold&blsp1_uart2 { 141e2f6482aSStephan Gerhold status = "okay"; 142e2f6482aSStephan Gerhold}; 143e2f6482aSStephan Gerhold 1444eb7b63dSStephan Gerhold&pm8916_resin { 1454eb7b63dSStephan Gerhold status = "okay"; 1464eb7b63dSStephan Gerhold linux,code = <KEY_VOLUMEDOWN>; 1474eb7b63dSStephan Gerhold}; 1484eb7b63dSStephan Gerhold 1490af8bbdbSNikita Travkin&pm8916_vib { 1500af8bbdbSNikita Travkin status = "okay"; 1510af8bbdbSNikita Travkin}; 1520af8bbdbSNikita Travkin 153e2f6482aSStephan Gerhold&pronto { 154e2f6482aSStephan Gerhold status = "okay"; 155e2f6482aSStephan Gerhold}; 156e2f6482aSStephan Gerhold 157e2f6482aSStephan Gerhold&sdhc_1 { 158e2f6482aSStephan Gerhold status = "okay"; 159e2f6482aSStephan Gerhold 160e2f6482aSStephan Gerhold pinctrl-names = "default", "sleep"; 161e2f6482aSStephan Gerhold pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>; 162e2f6482aSStephan Gerhold pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>; 163e2f6482aSStephan Gerhold}; 164e2f6482aSStephan Gerhold 165e2f6482aSStephan Gerhold&sdhc_2 { 166e2f6482aSStephan Gerhold status = "okay"; 167e2f6482aSStephan Gerhold 168e2f6482aSStephan Gerhold pinctrl-names = "default", "sleep"; 169e2f6482aSStephan Gerhold pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on>; 170e2f6482aSStephan Gerhold pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off>; 171e2f6482aSStephan Gerhold 172e2f6482aSStephan Gerhold non-removable; 173e2f6482aSStephan Gerhold}; 174e2f6482aSStephan Gerhold 175e2f6482aSStephan Gerhold&usb { 176e2f6482aSStephan Gerhold status = "okay"; 177e2f6482aSStephan Gerhold dr_mode = "peripheral"; 178e2f6482aSStephan Gerhold extcon = <&usb_vbus>; 179e2f6482aSStephan Gerhold}; 180e2f6482aSStephan Gerhold 181e2f6482aSStephan Gerhold&usb_hs_phy { 182e2f6482aSStephan Gerhold extcon = <&usb_vbus>; 183e2f6482aSStephan Gerhold}; 184e2f6482aSStephan Gerhold 18516e8e807SStephan Gerhold&smd_rpm_regulators { 18616e8e807SStephan Gerhold vdd_l1_l2_l3-supply = <&pm8916_s3>; 18716e8e807SStephan Gerhold vdd_l4_l5_l6-supply = <&pm8916_s4>; 18816e8e807SStephan Gerhold vdd_l7-supply = <&pm8916_s4>; 18916e8e807SStephan Gerhold 19016e8e807SStephan Gerhold s3 { 19116e8e807SStephan Gerhold regulator-min-microvolt = <1200000>; 19216e8e807SStephan Gerhold regulator-max-microvolt = <1300000>; 19316e8e807SStephan Gerhold }; 19416e8e807SStephan Gerhold 19516e8e807SStephan Gerhold s4 { 19616e8e807SStephan Gerhold regulator-min-microvolt = <1800000>; 19716e8e807SStephan Gerhold regulator-max-microvolt = <2100000>; 19816e8e807SStephan Gerhold }; 19916e8e807SStephan Gerhold 20016e8e807SStephan Gerhold l1 { 20116e8e807SStephan Gerhold regulator-min-microvolt = <1225000>; 20216e8e807SStephan Gerhold regulator-max-microvolt = <1225000>; 20316e8e807SStephan Gerhold }; 20416e8e807SStephan Gerhold 20516e8e807SStephan Gerhold l2 { 20616e8e807SStephan Gerhold regulator-min-microvolt = <1200000>; 20716e8e807SStephan Gerhold regulator-max-microvolt = <1200000>; 20816e8e807SStephan Gerhold }; 20916e8e807SStephan Gerhold 21016e8e807SStephan Gerhold l4 { 21116e8e807SStephan Gerhold regulator-min-microvolt = <2050000>; 21216e8e807SStephan Gerhold regulator-max-microvolt = <2050000>; 21316e8e807SStephan Gerhold }; 21416e8e807SStephan Gerhold 21516e8e807SStephan Gerhold l5 { 21616e8e807SStephan Gerhold regulator-min-microvolt = <1800000>; 21716e8e807SStephan Gerhold regulator-max-microvolt = <1800000>; 21816e8e807SStephan Gerhold }; 21916e8e807SStephan Gerhold 22016e8e807SStephan Gerhold l6 { 22116e8e807SStephan Gerhold regulator-min-microvolt = <1800000>; 22216e8e807SStephan Gerhold regulator-max-microvolt = <1800000>; 22316e8e807SStephan Gerhold }; 22416e8e807SStephan Gerhold 22516e8e807SStephan Gerhold l7 { 22616e8e807SStephan Gerhold regulator-min-microvolt = <1800000>; 22716e8e807SStephan Gerhold regulator-max-microvolt = <1800000>; 22816e8e807SStephan Gerhold }; 22916e8e807SStephan Gerhold 23016e8e807SStephan Gerhold l8 { 23116e8e807SStephan Gerhold regulator-min-microvolt = <2850000>; 23216e8e807SStephan Gerhold regulator-max-microvolt = <2900000>; 23316e8e807SStephan Gerhold }; 23416e8e807SStephan Gerhold 23516e8e807SStephan Gerhold l9 { 23616e8e807SStephan Gerhold regulator-min-microvolt = <3300000>; 23716e8e807SStephan Gerhold regulator-max-microvolt = <3300000>; 23816e8e807SStephan Gerhold }; 23916e8e807SStephan Gerhold 24016e8e807SStephan Gerhold l10 { 24116e8e807SStephan Gerhold regulator-min-microvolt = <2700000>; 24216e8e807SStephan Gerhold regulator-max-microvolt = <2800000>; 24316e8e807SStephan Gerhold }; 24416e8e807SStephan Gerhold 24516e8e807SStephan Gerhold l11 { 24616e8e807SStephan Gerhold regulator-min-microvolt = <1800000>; 24716e8e807SStephan Gerhold regulator-max-microvolt = <2950000>; 24816e8e807SStephan Gerhold regulator-allow-set-load; 24916e8e807SStephan Gerhold regulator-system-load = <200000>; 25016e8e807SStephan Gerhold }; 25116e8e807SStephan Gerhold 25216e8e807SStephan Gerhold l12 { 25316e8e807SStephan Gerhold regulator-min-microvolt = <1800000>; 25416e8e807SStephan Gerhold regulator-max-microvolt = <2950000>; 25516e8e807SStephan Gerhold }; 25616e8e807SStephan Gerhold 25716e8e807SStephan Gerhold l13 { 25816e8e807SStephan Gerhold regulator-min-microvolt = <3075000>; 25916e8e807SStephan Gerhold regulator-max-microvolt = <3075000>; 26016e8e807SStephan Gerhold }; 26116e8e807SStephan Gerhold 26216e8e807SStephan Gerhold l14 { 26316e8e807SStephan Gerhold regulator-min-microvolt = <1800000>; 26416e8e807SStephan Gerhold regulator-max-microvolt = <3300000>; 26516e8e807SStephan Gerhold }; 26616e8e807SStephan Gerhold 26716e8e807SStephan Gerhold l15 { 26816e8e807SStephan Gerhold regulator-min-microvolt = <1800000>; 26916e8e807SStephan Gerhold regulator-max-microvolt = <3300000>; 27016e8e807SStephan Gerhold }; 27116e8e807SStephan Gerhold 27216e8e807SStephan Gerhold l16 { 27316e8e807SStephan Gerhold regulator-min-microvolt = <1800000>; 27416e8e807SStephan Gerhold regulator-max-microvolt = <3300000>; 27516e8e807SStephan Gerhold }; 27616e8e807SStephan Gerhold 27716e8e807SStephan Gerhold l17 { 27816e8e807SStephan Gerhold regulator-min-microvolt = <2850000>; 27916e8e807SStephan Gerhold regulator-max-microvolt = <2850000>; 28016e8e807SStephan Gerhold }; 28116e8e807SStephan Gerhold 28216e8e807SStephan Gerhold l18 { 28316e8e807SStephan Gerhold regulator-min-microvolt = <2700000>; 28416e8e807SStephan Gerhold regulator-max-microvolt = <2700000>; 28516e8e807SStephan Gerhold }; 28616e8e807SStephan Gerhold}; 287f7f394f0SStephan Gerhold 288f7f394f0SStephan Gerhold&msmgpio { 2896eb81528SNikita Travkin ctp_pwr_en_default: ctp-pwr-en-default { 2906eb81528SNikita Travkin pins = "gpio17"; 2916eb81528SNikita Travkin function = "gpio"; 2926eb81528SNikita Travkin 2936eb81528SNikita Travkin drive-strength = <2>; 2946eb81528SNikita Travkin bias-disable; 2956eb81528SNikita Travkin }; 2966eb81528SNikita Travkin 297f7f394f0SStephan Gerhold gpio_keys_default: gpio-keys-default { 2986554a295SStephan Gerhold pins = "gpio107"; 299f7f394f0SStephan Gerhold function = "gpio"; 3006554a295SStephan Gerhold 301f7f394f0SStephan Gerhold drive-strength = <2>; 302f7f394f0SStephan Gerhold bias-pull-up; 303f7f394f0SStephan Gerhold }; 304f7f394f0SStephan Gerhold 305*6bd2cae7SNikita Travkin gyro_int_default: gyro-int-default { 306*6bd2cae7SNikita Travkin pins = "gpio23"; 307*6bd2cae7SNikita Travkin function = "gpio"; 308*6bd2cae7SNikita Travkin 309*6bd2cae7SNikita Travkin drive-strength = <2>; 310*6bd2cae7SNikita Travkin bias-disable; 311*6bd2cae7SNikita Travkin }; 312*6bd2cae7SNikita Travkin 3136eb81528SNikita Travkin tp_int_default: tp-int-default { 3146eb81528SNikita Travkin pins = "gpio13"; 3156eb81528SNikita Travkin function = "gpio"; 3166eb81528SNikita Travkin 3176eb81528SNikita Travkin drive-strength = <2>; 3186eb81528SNikita Travkin bias-disable; 3196eb81528SNikita Travkin }; 3206eb81528SNikita Travkin 321f7f394f0SStephan Gerhold usb_vbus_default: usb-vbus-default { 3226554a295SStephan Gerhold pins = "gpio62"; 323f7f394f0SStephan Gerhold function = "gpio"; 3246554a295SStephan Gerhold 325f7f394f0SStephan Gerhold bias-pull-up; 326f7f394f0SStephan Gerhold }; 327f7f394f0SStephan Gerhold}; 328