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> 96b4ad4beSNikita Travkin#include <dt-bindings/leds/common.h> 1016e8e807SStephan Gerhold 1116e8e807SStephan Gerhold/ { 1216e8e807SStephan Gerhold model = "Longcheer L8150"; 1316e8e807SStephan Gerhold compatible = "longcheer,l8150", "qcom,msm8916-v1-qrd/9-v1", "qcom,msm8916"; 14eaa744b1SArnaud Ferraris chassis-type = "handset"; 1516e8e807SStephan Gerhold 1616e8e807SStephan Gerhold aliases { 17154f23a8SStephan Gerhold mmc0 = &sdhc_1; /* eMMC */ 18154f23a8SStephan Gerhold mmc1 = &sdhc_2; /* SD card */ 19c310ca82SStephan Gerhold serial0 = &blsp_uart2; 2016e8e807SStephan Gerhold }; 2116e8e807SStephan Gerhold 2216e8e807SStephan Gerhold chosen { 2316e8e807SStephan Gerhold stdout-path = "serial0"; 2416e8e807SStephan Gerhold }; 2516e8e807SStephan Gerhold 26b0e1600dSNikita Travkin reserved-memory { 274bb376f6SKonrad Dybcio /* wcnss.mdt is not relocatable, so it must be loaded at 0x8b600000 */ 28b0e1600dSNikita Travkin /delete-node/ wcnss@89300000; 29b0e1600dSNikita Travkin 30b0e1600dSNikita Travkin wcnss_mem: wcnss@8b600000 { 31b0e1600dSNikita Travkin reg = <0x0 0x8b600000 0x0 0x600000>; 32b0e1600dSNikita Travkin no-map; 33b0e1600dSNikita Travkin }; 34b0e1600dSNikita Travkin }; 35b0e1600dSNikita Travkin 363ba8bbc4SNikita Travkin gpio-keys { 373ba8bbc4SNikita Travkin compatible = "gpio-keys"; 383ba8bbc4SNikita Travkin 393ba8bbc4SNikita Travkin pinctrl-names = "default"; 403ba8bbc4SNikita Travkin pinctrl-0 = <&gpio_keys_default>; 413ba8bbc4SNikita Travkin 423ba8bbc4SNikita Travkin label = "GPIO Buttons"; 433ba8bbc4SNikita Travkin 44b08f5cbdSKrzysztof Kozlowski button-volume-up { 453ba8bbc4SNikita Travkin label = "Volume Up"; 4641e22c2fSStephan Gerhold gpios = <&tlmm 107 GPIO_ACTIVE_LOW>; 473ba8bbc4SNikita Travkin linux,code = <KEY_VOLUMEUP>; 483ba8bbc4SNikita Travkin }; 493ba8bbc4SNikita Travkin }; 506eb81528SNikita Travkin 516eb81528SNikita Travkin reg_ctp: regulator-ctp { 526eb81528SNikita Travkin compatible = "regulator-fixed"; 536eb81528SNikita Travkin regulator-name = "ctp"; 546eb81528SNikita Travkin 556eb81528SNikita Travkin regulator-min-microvolt = <2800000>; 566eb81528SNikita Travkin regulator-max-microvolt = <2800000>; 576eb81528SNikita Travkin 5841e22c2fSStephan Gerhold gpio = <&tlmm 17 GPIO_ACTIVE_HIGH>; 596eb81528SNikita Travkin enable-active-high; 606eb81528SNikita Travkin 616eb81528SNikita Travkin pinctrl-names = "default"; 626eb81528SNikita Travkin pinctrl-0 = <&ctp_pwr_en_default>; 636eb81528SNikita Travkin }; 646b4ad4beSNikita Travkin 656b4ad4beSNikita Travkin flash-led-controller { 666b4ad4beSNikita Travkin compatible = "sgmicro,sgm3140"; 6741e22c2fSStephan Gerhold flash-gpios = <&tlmm 31 GPIO_ACTIVE_HIGH>; 6841e22c2fSStephan Gerhold enable-gpios = <&tlmm 32 GPIO_ACTIVE_HIGH>; 696b4ad4beSNikita Travkin 706b4ad4beSNikita Travkin pinctrl-names = "default"; 716b4ad4beSNikita Travkin pinctrl-0 = <&camera_flash_default>; 726b4ad4beSNikita Travkin 736b4ad4beSNikita Travkin flash_led: led { 746b4ad4beSNikita Travkin function = LED_FUNCTION_FLASH; 756b4ad4beSNikita Travkin color = <LED_COLOR_ID_WHITE>; 766b4ad4beSNikita Travkin flash-max-timeout-us = <250000>; 776b4ad4beSNikita Travkin }; 786b4ad4beSNikita Travkin }; 796eb81528SNikita Travkin}; 806eb81528SNikita Travkin 8138260b9eSNikita Travkin&blsp_i2c1 { 8238260b9eSNikita Travkin status = "okay"; 8338260b9eSNikita Travkin 8438260b9eSNikita Travkin led-controller@45 { 8538260b9eSNikita Travkin compatible = "awinic,aw2013"; 8638260b9eSNikita Travkin reg = <0x45>; 8738260b9eSNikita Travkin #address-cells = <1>; 8838260b9eSNikita Travkin #size-cells = <0>; 8938260b9eSNikita Travkin 9038260b9eSNikita Travkin vcc-supply = <&pm8916_l17>; 91*8c80b6c3SStephan Gerhold vio-supply = <&pm8916_l6>; 9238260b9eSNikita Travkin 9338260b9eSNikita Travkin led@0 { 9438260b9eSNikita Travkin reg = <0>; 9538260b9eSNikita Travkin led-max-microamp = <5000>; 9638260b9eSNikita Travkin function = LED_FUNCTION_INDICATOR; 9738260b9eSNikita Travkin color = <LED_COLOR_ID_RED>; 9838260b9eSNikita Travkin }; 9938260b9eSNikita Travkin 10038260b9eSNikita Travkin led@1 { 10138260b9eSNikita Travkin reg = <1>; 10238260b9eSNikita Travkin led-max-microamp = <5000>; 10338260b9eSNikita Travkin function = LED_FUNCTION_INDICATOR; 10438260b9eSNikita Travkin color = <LED_COLOR_ID_GREEN>; 10538260b9eSNikita Travkin }; 10638260b9eSNikita Travkin 10738260b9eSNikita Travkin led@2 { 10838260b9eSNikita Travkin reg = <2>; 10938260b9eSNikita Travkin led-max-microamp = <5000>; 11038260b9eSNikita Travkin function = LED_FUNCTION_INDICATOR; 11138260b9eSNikita Travkin color = <LED_COLOR_ID_BLUE>; 11238260b9eSNikita Travkin }; 11338260b9eSNikita Travkin }; 11438260b9eSNikita Travkin}; 11538260b9eSNikita Travkin 1166bd2cae7SNikita Travkin&blsp_i2c2 { 1176bd2cae7SNikita Travkin status = "okay"; 1186bd2cae7SNikita Travkin 1196bd2cae7SNikita Travkin accelerometer@10 { 12051c7786fSStephan Gerhold compatible = "bosch,bmc156_accel"; 1216bd2cae7SNikita Travkin reg = <0x10>; 1226bd2cae7SNikita Travkin 12351c7786fSStephan Gerhold /* 12451c7786fSStephan Gerhold * For some reason the interrupt line is usually not connected 12551c7786fSStephan Gerhold * to the BMC156. However, there are two pads next to the chip 12651c7786fSStephan Gerhold * that can be shorted to make it work if needed. 12751c7786fSStephan Gerhold * 12841e22c2fSStephan Gerhold * interrupt-parent = <&tlmm>; 12951c7786fSStephan Gerhold * interrupts = <116 IRQ_TYPE_EDGE_RISING>; 13051c7786fSStephan Gerhold */ 13151c7786fSStephan Gerhold 13251c7786fSStephan Gerhold pinctrl-names = "default"; 13351c7786fSStephan Gerhold pinctrl-0 = <&accel_int_default>; 13451c7786fSStephan Gerhold 1356bd2cae7SNikita Travkin vdd-supply = <&pm8916_l17>; 1366bd2cae7SNikita Travkin vddio-supply = <&pm8916_l6>; 1376bd2cae7SNikita Travkin 1386bd2cae7SNikita Travkin mount-matrix = "0", "1", "0", 1396bd2cae7SNikita Travkin "-1", "0", "0", 1406bd2cae7SNikita Travkin "0", "0", "1"; 1416bd2cae7SNikita Travkin }; 1426bd2cae7SNikita Travkin 1436bd2cae7SNikita Travkin magnetometer@12 { 14451c7786fSStephan Gerhold compatible = "bosch,bmc156_magn"; 1456bd2cae7SNikita Travkin reg = <0x12>; 1466bd2cae7SNikita Travkin 14741e22c2fSStephan Gerhold interrupt-parent = <&tlmm>; 14851c7786fSStephan Gerhold interrupts = <113 IRQ_TYPE_EDGE_RISING>; 14951c7786fSStephan Gerhold 15051c7786fSStephan Gerhold pinctrl-names = "default"; 15151c7786fSStephan Gerhold pinctrl-0 = <&magn_int_default>; 15251c7786fSStephan Gerhold 1536bd2cae7SNikita Travkin vdd-supply = <&pm8916_l17>; 1546bd2cae7SNikita Travkin vddio-supply = <&pm8916_l6>; 1556bd2cae7SNikita Travkin }; 1566bd2cae7SNikita Travkin 1573016af34SNikita Travkin light-sensor@23 { 1583016af34SNikita Travkin compatible = "liteon,ltr559"; 1593016af34SNikita Travkin reg = <0x23>; 1603016af34SNikita Travkin proximity-near-level = <75>; 1613016af34SNikita Travkin 16241e22c2fSStephan Gerhold interrupt-parent = <&tlmm>; 1633016af34SNikita Travkin interrupts = <115 IRQ_TYPE_EDGE_FALLING>; 1643016af34SNikita Travkin 1653016af34SNikita Travkin pinctrl-names = "default"; 1663016af34SNikita Travkin pinctrl-0 = <&light_int_default>; 1673016af34SNikita Travkin 1683016af34SNikita Travkin vdd-supply = <&pm8916_l17>; 1696a541eaaSKrzysztof Kozlowski vddio-supply = <&pm8916_l6>; 1703016af34SNikita Travkin }; 1713016af34SNikita Travkin 1726bd2cae7SNikita Travkin gyroscope@68 { 1736bd2cae7SNikita Travkin compatible = "bosch,bmg160"; 1746bd2cae7SNikita Travkin reg = <0x68>; 1756bd2cae7SNikita Travkin 17641e22c2fSStephan Gerhold interrupt-parent = <&tlmm>; 17751c7786fSStephan Gerhold interrupts = <23 IRQ_TYPE_EDGE_RISING>, 17851c7786fSStephan Gerhold <22 IRQ_TYPE_EDGE_RISING>; 1796bd2cae7SNikita Travkin 1806bd2cae7SNikita Travkin pinctrl-names = "default"; 1816bd2cae7SNikita Travkin pinctrl-0 = <&gyro_int_default>; 1826bd2cae7SNikita Travkin 1836bd2cae7SNikita Travkin vdd-supply = <&pm8916_l17>; 1846bd2cae7SNikita Travkin vddio-supply = <&pm8916_l6>; 1856bd2cae7SNikita Travkin }; 1866bd2cae7SNikita Travkin}; 1876bd2cae7SNikita Travkin 1886eb81528SNikita Travkin&blsp_i2c5 { 1896eb81528SNikita Travkin status = "okay"; 1906eb81528SNikita Travkin 1916eb81528SNikita Travkin rmi4@20 { 1926eb81528SNikita Travkin compatible = "syna,rmi4-i2c"; 1936eb81528SNikita Travkin reg = <0x20>; 1946eb81528SNikita Travkin #address-cells = <1>; 1956eb81528SNikita Travkin #size-cells = <0>; 1966eb81528SNikita Travkin 19741e22c2fSStephan Gerhold interrupt-parent = <&tlmm>; 1986eb81528SNikita Travkin interrupts = <13 IRQ_TYPE_EDGE_FALLING>; 1996eb81528SNikita Travkin 2006eb81528SNikita Travkin vdd-supply = <®_ctp>; 2016eb81528SNikita Travkin vio-supply = <&pm8916_l6>; 2026eb81528SNikita Travkin 2036eb81528SNikita Travkin pinctrl-names = "default"; 2046eb81528SNikita Travkin pinctrl-0 = <&tp_int_default>; 2056eb81528SNikita Travkin 2066eb81528SNikita Travkin syna,startup-delay-ms = <10>; 2076eb81528SNikita Travkin 2086eb81528SNikita Travkin rmi4-f01@1 { 2096eb81528SNikita Travkin reg = <0x1>; 2104bb376f6SKonrad Dybcio syna,nosleep-mode = <1>; /* Allow sleeping */ 2116eb81528SNikita Travkin }; 2126eb81528SNikita Travkin 2136eb81528SNikita Travkin rmi4-f12@12 { 2146eb81528SNikita Travkin reg = <0x12>; 2154bb376f6SKonrad Dybcio syna,sensor-type = <1>; /* Touchscreen */ 2166eb81528SNikita Travkin }; 2176eb81528SNikita Travkin }; 21816e8e807SStephan Gerhold}; 21916e8e807SStephan Gerhold 220c310ca82SStephan Gerhold&blsp_uart2 { 221e2f6482aSStephan Gerhold status = "okay"; 222e2f6482aSStephan Gerhold}; 223e2f6482aSStephan Gerhold 2244eb7b63dSStephan Gerhold&pm8916_resin { 2254eb7b63dSStephan Gerhold status = "okay"; 2264eb7b63dSStephan Gerhold linux,code = <KEY_VOLUMEDOWN>; 2274eb7b63dSStephan Gerhold}; 2284eb7b63dSStephan Gerhold 229b0a8f16aSStephan Gerhold&pm8916_rpm_regulators { 230b0a8f16aSStephan Gerhold pm8916_l17: l17 { 231b0a8f16aSStephan Gerhold regulator-min-microvolt = <2850000>; 232b0a8f16aSStephan Gerhold regulator-max-microvolt = <2850000>; 233b0a8f16aSStephan Gerhold }; 234b0a8f16aSStephan Gerhold}; 235b0a8f16aSStephan Gerhold 236b30cad26SStephan Gerhold&pm8916_usbin { 237b30cad26SStephan Gerhold status = "okay"; 238b30cad26SStephan Gerhold}; 239b30cad26SStephan Gerhold 2400af8bbdbSNikita Travkin&pm8916_vib { 2410af8bbdbSNikita Travkin status = "okay"; 2420af8bbdbSNikita Travkin}; 2430af8bbdbSNikita Travkin 244e2f6482aSStephan Gerhold&sdhc_1 { 245e2f6482aSStephan Gerhold status = "okay"; 246e2f6482aSStephan Gerhold}; 247e2f6482aSStephan Gerhold 248e2f6482aSStephan Gerhold&sdhc_2 { 249e2f6482aSStephan Gerhold status = "okay"; 250e2f6482aSStephan Gerhold non-removable; 251e2f6482aSStephan Gerhold}; 252e2f6482aSStephan Gerhold 253e2f6482aSStephan Gerhold&usb { 254e2f6482aSStephan Gerhold status = "okay"; 255e2f6482aSStephan Gerhold dr_mode = "peripheral"; 256b30cad26SStephan Gerhold extcon = <&pm8916_usbin>; 257e2f6482aSStephan Gerhold}; 258e2f6482aSStephan Gerhold 259e2f6482aSStephan Gerhold&usb_hs_phy { 260b30cad26SStephan Gerhold extcon = <&pm8916_usbin>; 261e2f6482aSStephan Gerhold}; 262e2f6482aSStephan Gerhold 26332444424SStephan Gerhold&wcnss { 26432444424SStephan Gerhold status = "okay"; 26532444424SStephan Gerhold}; 26632444424SStephan Gerhold 26732444424SStephan Gerhold&wcnss_iris { 26832444424SStephan Gerhold compatible = "qcom,wcn3620"; 26932444424SStephan Gerhold}; 27032444424SStephan Gerhold 27141e22c2fSStephan Gerhold&tlmm { 2728b276ca0SKrzysztof Kozlowski accel_int_default: accel-int-default-state { 27351c7786fSStephan Gerhold pins = "gpio116"; 27451c7786fSStephan Gerhold function = "gpio"; 27551c7786fSStephan Gerhold 27651c7786fSStephan Gerhold drive-strength = <2>; 27751c7786fSStephan Gerhold bias-disable; 27851c7786fSStephan Gerhold }; 27951c7786fSStephan Gerhold 2808b276ca0SKrzysztof Kozlowski camera_flash_default: camera-flash-default-state { 2816b4ad4beSNikita Travkin pins = "gpio31", "gpio32"; 2826b4ad4beSNikita Travkin function = "gpio"; 2836b4ad4beSNikita Travkin 2846b4ad4beSNikita Travkin drive-strength = <2>; 2856b4ad4beSNikita Travkin bias-disable; 2866b4ad4beSNikita Travkin }; 2876b4ad4beSNikita Travkin 2888b276ca0SKrzysztof Kozlowski ctp_pwr_en_default: ctp-pwr-en-default-state { 2896eb81528SNikita Travkin pins = "gpio17"; 2906eb81528SNikita Travkin function = "gpio"; 2916eb81528SNikita Travkin 2926eb81528SNikita Travkin drive-strength = <2>; 2936eb81528SNikita Travkin bias-disable; 2946eb81528SNikita Travkin }; 2956eb81528SNikita Travkin 2968b276ca0SKrzysztof Kozlowski gpio_keys_default: gpio-keys-default-state { 2976554a295SStephan Gerhold pins = "gpio107"; 298f7f394f0SStephan Gerhold function = "gpio"; 2996554a295SStephan Gerhold 300f7f394f0SStephan Gerhold drive-strength = <2>; 301f7f394f0SStephan Gerhold bias-pull-up; 302f7f394f0SStephan Gerhold }; 303f7f394f0SStephan Gerhold 3048b276ca0SKrzysztof Kozlowski gyro_int_default: gyro-int-default-state { 30551c7786fSStephan Gerhold pins = "gpio22", "gpio23"; 30651c7786fSStephan Gerhold function = "gpio"; 30751c7786fSStephan Gerhold 30851c7786fSStephan Gerhold drive-strength = <2>; 30951c7786fSStephan Gerhold bias-disable; 31051c7786fSStephan Gerhold }; 31151c7786fSStephan Gerhold 3128b276ca0SKrzysztof Kozlowski light_int_default: light-int-default-state { 3133016af34SNikita Travkin pins = "gpio115"; 3143016af34SNikita Travkin function = "gpio"; 3153016af34SNikita Travkin 3163016af34SNikita Travkin drive-strength = <2>; 3173016af34SNikita Travkin bias-disable; 3183016af34SNikita Travkin }; 3193016af34SNikita Travkin 3208b276ca0SKrzysztof Kozlowski magn_int_default: magn-int-default-state { 32151c7786fSStephan Gerhold pins = "gpio113"; 3226bd2cae7SNikita Travkin function = "gpio"; 3236bd2cae7SNikita Travkin 3246bd2cae7SNikita Travkin drive-strength = <2>; 3256bd2cae7SNikita Travkin bias-disable; 3266bd2cae7SNikita Travkin }; 3276bd2cae7SNikita Travkin 3288b276ca0SKrzysztof Kozlowski tp_int_default: tp-int-default-state { 3296eb81528SNikita Travkin pins = "gpio13"; 3306eb81528SNikita Travkin function = "gpio"; 3316eb81528SNikita Travkin 3326eb81528SNikita Travkin drive-strength = <2>; 3336eb81528SNikita Travkin bias-disable; 3346eb81528SNikita Travkin }; 335f7f394f0SStephan Gerhold}; 336