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>; 9138260b9eSNikita Travkin 9238260b9eSNikita Travkin led@0 { 9338260b9eSNikita Travkin reg = <0>; 9438260b9eSNikita Travkin led-max-microamp = <5000>; 9538260b9eSNikita Travkin function = LED_FUNCTION_INDICATOR; 9638260b9eSNikita Travkin color = <LED_COLOR_ID_RED>; 9738260b9eSNikita Travkin }; 9838260b9eSNikita Travkin 9938260b9eSNikita Travkin led@1 { 10038260b9eSNikita Travkin reg = <1>; 10138260b9eSNikita Travkin led-max-microamp = <5000>; 10238260b9eSNikita Travkin function = LED_FUNCTION_INDICATOR; 10338260b9eSNikita Travkin color = <LED_COLOR_ID_GREEN>; 10438260b9eSNikita Travkin }; 10538260b9eSNikita Travkin 10638260b9eSNikita Travkin led@2 { 10738260b9eSNikita Travkin reg = <2>; 10838260b9eSNikita Travkin led-max-microamp = <5000>; 10938260b9eSNikita Travkin function = LED_FUNCTION_INDICATOR; 11038260b9eSNikita Travkin color = <LED_COLOR_ID_BLUE>; 11138260b9eSNikita Travkin }; 11238260b9eSNikita Travkin }; 11338260b9eSNikita Travkin}; 11438260b9eSNikita Travkin 1156bd2cae7SNikita Travkin&blsp_i2c2 { 1166bd2cae7SNikita Travkin status = "okay"; 1176bd2cae7SNikita Travkin 1186bd2cae7SNikita Travkin accelerometer@10 { 11951c7786fSStephan Gerhold compatible = "bosch,bmc156_accel"; 1206bd2cae7SNikita Travkin reg = <0x10>; 1216bd2cae7SNikita Travkin 12251c7786fSStephan Gerhold /* 12351c7786fSStephan Gerhold * For some reason the interrupt line is usually not connected 12451c7786fSStephan Gerhold * to the BMC156. However, there are two pads next to the chip 12551c7786fSStephan Gerhold * that can be shorted to make it work if needed. 12651c7786fSStephan Gerhold * 12741e22c2fSStephan Gerhold * interrupt-parent = <&tlmm>; 12851c7786fSStephan Gerhold * interrupts = <116 IRQ_TYPE_EDGE_RISING>; 12951c7786fSStephan Gerhold */ 13051c7786fSStephan Gerhold 13151c7786fSStephan Gerhold pinctrl-names = "default"; 13251c7786fSStephan Gerhold pinctrl-0 = <&accel_int_default>; 13351c7786fSStephan Gerhold 1346bd2cae7SNikita Travkin vdd-supply = <&pm8916_l17>; 1356bd2cae7SNikita Travkin vddio-supply = <&pm8916_l6>; 1366bd2cae7SNikita Travkin 1376bd2cae7SNikita Travkin mount-matrix = "0", "1", "0", 1386bd2cae7SNikita Travkin "-1", "0", "0", 1396bd2cae7SNikita Travkin "0", "0", "1"; 1406bd2cae7SNikita Travkin }; 1416bd2cae7SNikita Travkin 1426bd2cae7SNikita Travkin magnetometer@12 { 14351c7786fSStephan Gerhold compatible = "bosch,bmc156_magn"; 1446bd2cae7SNikita Travkin reg = <0x12>; 1456bd2cae7SNikita Travkin 14641e22c2fSStephan Gerhold interrupt-parent = <&tlmm>; 14751c7786fSStephan Gerhold interrupts = <113 IRQ_TYPE_EDGE_RISING>; 14851c7786fSStephan Gerhold 14951c7786fSStephan Gerhold pinctrl-names = "default"; 15051c7786fSStephan Gerhold pinctrl-0 = <&magn_int_default>; 15151c7786fSStephan Gerhold 1526bd2cae7SNikita Travkin vdd-supply = <&pm8916_l17>; 1536bd2cae7SNikita Travkin vddio-supply = <&pm8916_l6>; 1546bd2cae7SNikita Travkin }; 1556bd2cae7SNikita Travkin 1563016af34SNikita Travkin light-sensor@23 { 1573016af34SNikita Travkin compatible = "liteon,ltr559"; 1583016af34SNikita Travkin reg = <0x23>; 1593016af34SNikita Travkin proximity-near-level = <75>; 1603016af34SNikita Travkin 16141e22c2fSStephan Gerhold interrupt-parent = <&tlmm>; 1623016af34SNikita Travkin interrupts = <115 IRQ_TYPE_EDGE_FALLING>; 1633016af34SNikita Travkin 1643016af34SNikita Travkin pinctrl-names = "default"; 1653016af34SNikita Travkin pinctrl-0 = <&light_int_default>; 1663016af34SNikita Travkin 1673016af34SNikita Travkin vdd-supply = <&pm8916_l17>; 168*6a541eaaSKrzysztof Kozlowski vddio-supply = <&pm8916_l6>; 1693016af34SNikita Travkin }; 1703016af34SNikita Travkin 1716bd2cae7SNikita Travkin gyroscope@68 { 1726bd2cae7SNikita Travkin compatible = "bosch,bmg160"; 1736bd2cae7SNikita Travkin reg = <0x68>; 1746bd2cae7SNikita Travkin 17541e22c2fSStephan Gerhold interrupt-parent = <&tlmm>; 17651c7786fSStephan Gerhold interrupts = <23 IRQ_TYPE_EDGE_RISING>, 17751c7786fSStephan Gerhold <22 IRQ_TYPE_EDGE_RISING>; 1786bd2cae7SNikita Travkin 1796bd2cae7SNikita Travkin pinctrl-names = "default"; 1806bd2cae7SNikita Travkin pinctrl-0 = <&gyro_int_default>; 1816bd2cae7SNikita Travkin 1826bd2cae7SNikita Travkin vdd-supply = <&pm8916_l17>; 1836bd2cae7SNikita Travkin vddio-supply = <&pm8916_l6>; 1846bd2cae7SNikita Travkin }; 1856bd2cae7SNikita Travkin}; 1866bd2cae7SNikita Travkin 1876eb81528SNikita Travkin&blsp_i2c5 { 1886eb81528SNikita Travkin status = "okay"; 1896eb81528SNikita Travkin 1906eb81528SNikita Travkin rmi4@20 { 1916eb81528SNikita Travkin compatible = "syna,rmi4-i2c"; 1926eb81528SNikita Travkin reg = <0x20>; 1936eb81528SNikita Travkin #address-cells = <1>; 1946eb81528SNikita Travkin #size-cells = <0>; 1956eb81528SNikita Travkin 19641e22c2fSStephan Gerhold interrupt-parent = <&tlmm>; 1976eb81528SNikita Travkin interrupts = <13 IRQ_TYPE_EDGE_FALLING>; 1986eb81528SNikita Travkin 1996eb81528SNikita Travkin vdd-supply = <®_ctp>; 2006eb81528SNikita Travkin vio-supply = <&pm8916_l6>; 2016eb81528SNikita Travkin 2026eb81528SNikita Travkin pinctrl-names = "default"; 2036eb81528SNikita Travkin pinctrl-0 = <&tp_int_default>; 2046eb81528SNikita Travkin 2056eb81528SNikita Travkin syna,startup-delay-ms = <10>; 2066eb81528SNikita Travkin 2076eb81528SNikita Travkin rmi4-f01@1 { 2086eb81528SNikita Travkin reg = <0x1>; 2094bb376f6SKonrad Dybcio syna,nosleep-mode = <1>; /* Allow sleeping */ 2106eb81528SNikita Travkin }; 2116eb81528SNikita Travkin 2126eb81528SNikita Travkin rmi4-f12@12 { 2136eb81528SNikita Travkin reg = <0x12>; 2144bb376f6SKonrad Dybcio syna,sensor-type = <1>; /* Touchscreen */ 2156eb81528SNikita Travkin }; 2166eb81528SNikita Travkin }; 21716e8e807SStephan Gerhold}; 21816e8e807SStephan Gerhold 219c310ca82SStephan Gerhold&blsp_uart2 { 220e2f6482aSStephan Gerhold status = "okay"; 221e2f6482aSStephan Gerhold}; 222e2f6482aSStephan Gerhold 2234eb7b63dSStephan Gerhold&pm8916_resin { 2244eb7b63dSStephan Gerhold status = "okay"; 2254eb7b63dSStephan Gerhold linux,code = <KEY_VOLUMEDOWN>; 2264eb7b63dSStephan Gerhold}; 2274eb7b63dSStephan Gerhold 228b0a8f16aSStephan Gerhold&pm8916_rpm_regulators { 229b0a8f16aSStephan Gerhold pm8916_l17: l17 { 230b0a8f16aSStephan Gerhold regulator-min-microvolt = <2850000>; 231b0a8f16aSStephan Gerhold regulator-max-microvolt = <2850000>; 232b0a8f16aSStephan Gerhold }; 233b0a8f16aSStephan Gerhold}; 234b0a8f16aSStephan Gerhold 235b30cad26SStephan Gerhold&pm8916_usbin { 236b30cad26SStephan Gerhold status = "okay"; 237b30cad26SStephan Gerhold}; 238b30cad26SStephan Gerhold 2390af8bbdbSNikita Travkin&pm8916_vib { 2400af8bbdbSNikita Travkin status = "okay"; 2410af8bbdbSNikita Travkin}; 2420af8bbdbSNikita Travkin 243e2f6482aSStephan Gerhold&sdhc_1 { 244e2f6482aSStephan Gerhold status = "okay"; 245e2f6482aSStephan Gerhold}; 246e2f6482aSStephan Gerhold 247e2f6482aSStephan Gerhold&sdhc_2 { 248e2f6482aSStephan Gerhold status = "okay"; 249e2f6482aSStephan Gerhold non-removable; 250e2f6482aSStephan Gerhold}; 251e2f6482aSStephan Gerhold 252e2f6482aSStephan Gerhold&usb { 253e2f6482aSStephan Gerhold status = "okay"; 254e2f6482aSStephan Gerhold dr_mode = "peripheral"; 255b30cad26SStephan Gerhold extcon = <&pm8916_usbin>; 256e2f6482aSStephan Gerhold}; 257e2f6482aSStephan Gerhold 258e2f6482aSStephan Gerhold&usb_hs_phy { 259b30cad26SStephan Gerhold extcon = <&pm8916_usbin>; 260e2f6482aSStephan Gerhold}; 261e2f6482aSStephan Gerhold 26232444424SStephan Gerhold&wcnss { 26332444424SStephan Gerhold status = "okay"; 26432444424SStephan Gerhold}; 26532444424SStephan Gerhold 26632444424SStephan Gerhold&wcnss_iris { 26732444424SStephan Gerhold compatible = "qcom,wcn3620"; 26832444424SStephan Gerhold}; 26932444424SStephan Gerhold 27041e22c2fSStephan Gerhold&tlmm { 2718b276ca0SKrzysztof Kozlowski accel_int_default: accel-int-default-state { 27251c7786fSStephan Gerhold pins = "gpio116"; 27351c7786fSStephan Gerhold function = "gpio"; 27451c7786fSStephan Gerhold 27551c7786fSStephan Gerhold drive-strength = <2>; 27651c7786fSStephan Gerhold bias-disable; 27751c7786fSStephan Gerhold }; 27851c7786fSStephan Gerhold 2798b276ca0SKrzysztof Kozlowski camera_flash_default: camera-flash-default-state { 2806b4ad4beSNikita Travkin pins = "gpio31", "gpio32"; 2816b4ad4beSNikita Travkin function = "gpio"; 2826b4ad4beSNikita Travkin 2836b4ad4beSNikita Travkin drive-strength = <2>; 2846b4ad4beSNikita Travkin bias-disable; 2856b4ad4beSNikita Travkin }; 2866b4ad4beSNikita Travkin 2878b276ca0SKrzysztof Kozlowski ctp_pwr_en_default: ctp-pwr-en-default-state { 2886eb81528SNikita Travkin pins = "gpio17"; 2896eb81528SNikita Travkin function = "gpio"; 2906eb81528SNikita Travkin 2916eb81528SNikita Travkin drive-strength = <2>; 2926eb81528SNikita Travkin bias-disable; 2936eb81528SNikita Travkin }; 2946eb81528SNikita Travkin 2958b276ca0SKrzysztof Kozlowski gpio_keys_default: gpio-keys-default-state { 2966554a295SStephan Gerhold pins = "gpio107"; 297f7f394f0SStephan Gerhold function = "gpio"; 2986554a295SStephan Gerhold 299f7f394f0SStephan Gerhold drive-strength = <2>; 300f7f394f0SStephan Gerhold bias-pull-up; 301f7f394f0SStephan Gerhold }; 302f7f394f0SStephan Gerhold 3038b276ca0SKrzysztof Kozlowski gyro_int_default: gyro-int-default-state { 30451c7786fSStephan Gerhold pins = "gpio22", "gpio23"; 30551c7786fSStephan Gerhold function = "gpio"; 30651c7786fSStephan Gerhold 30751c7786fSStephan Gerhold drive-strength = <2>; 30851c7786fSStephan Gerhold bias-disable; 30951c7786fSStephan Gerhold }; 31051c7786fSStephan Gerhold 3118b276ca0SKrzysztof Kozlowski light_int_default: light-int-default-state { 3123016af34SNikita Travkin pins = "gpio115"; 3133016af34SNikita Travkin function = "gpio"; 3143016af34SNikita Travkin 3153016af34SNikita Travkin drive-strength = <2>; 3163016af34SNikita Travkin bias-disable; 3173016af34SNikita Travkin }; 3183016af34SNikita Travkin 3198b276ca0SKrzysztof Kozlowski magn_int_default: magn-int-default-state { 32051c7786fSStephan Gerhold pins = "gpio113"; 3216bd2cae7SNikita Travkin function = "gpio"; 3226bd2cae7SNikita Travkin 3236bd2cae7SNikita Travkin drive-strength = <2>; 3246bd2cae7SNikita Travkin bias-disable; 3256bd2cae7SNikita Travkin }; 3266bd2cae7SNikita Travkin 3278b276ca0SKrzysztof Kozlowski tp_int_default: tp-int-default-state { 3286eb81528SNikita Travkin pins = "gpio13"; 3296eb81528SNikita Travkin function = "gpio"; 3306eb81528SNikita Travkin 3316eb81528SNikita Travkin drive-strength = <2>; 3326eb81528SNikita Travkin bias-disable; 3336eb81528SNikita Travkin }; 334f7f394f0SStephan Gerhold}; 335