116e8e807SStephan Gerhold// SPDX-License-Identifier: GPL-2.0-only 216e8e807SStephan Gerhold 316e8e807SStephan Gerhold/dts-v1/; 416e8e807SStephan Gerhold 516e8e807SStephan Gerhold#include "msm8916.dtsi" 616e8e807SStephan Gerhold#include "pm8916.dtsi" 716e8e807SStephan Gerhold#include <dt-bindings/gpio/gpio.h> 83ba8bbc4SNikita Travkin#include <dt-bindings/input/input.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 soc { 3316e8e807SStephan Gerhold sdhci@7824000 { 3416e8e807SStephan Gerhold status = "okay"; 3516e8e807SStephan Gerhold 3616e8e807SStephan Gerhold vmmc-supply = <&pm8916_l8>; 3716e8e807SStephan Gerhold vqmmc-supply = <&pm8916_l5>; 3816e8e807SStephan Gerhold 3916e8e807SStephan Gerhold pinctrl-names = "default", "sleep"; 4016e8e807SStephan Gerhold pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>; 4116e8e807SStephan Gerhold pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>; 4216e8e807SStephan Gerhold }; 4316e8e807SStephan Gerhold 4416e8e807SStephan Gerhold sdhci@7864000 { 4516e8e807SStephan Gerhold status = "okay"; 4616e8e807SStephan Gerhold 4716e8e807SStephan Gerhold vmmc-supply = <&pm8916_l11>; 4816e8e807SStephan Gerhold vqmmc-supply = <&pm8916_l12>; 4916e8e807SStephan Gerhold 5016e8e807SStephan Gerhold pinctrl-names = "default", "sleep"; 5116e8e807SStephan Gerhold pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on>; 5216e8e807SStephan Gerhold pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off>; 5316e8e807SStephan Gerhold 5416e8e807SStephan Gerhold non-removable; 5516e8e807SStephan Gerhold }; 5616e8e807SStephan Gerhold 5716e8e807SStephan Gerhold serial@78b0000 { 5816e8e807SStephan Gerhold status = "okay"; 5916e8e807SStephan Gerhold pinctrl-names = "default", "sleep"; 6016e8e807SStephan Gerhold pinctrl-0 = <&blsp1_uart2_default>; 6116e8e807SStephan Gerhold pinctrl-1 = <&blsp1_uart2_sleep>; 6216e8e807SStephan Gerhold }; 6316e8e807SStephan Gerhold 6416e8e807SStephan Gerhold usb@78d9000 { 6516e8e807SStephan Gerhold status = "okay"; 6616e8e807SStephan Gerhold dr_mode = "peripheral"; 6716e8e807SStephan Gerhold extcon = <&usb_vbus>; 6816e8e807SStephan Gerhold 6916e8e807SStephan Gerhold hnp-disable; 7016e8e807SStephan Gerhold srp-disable; 7116e8e807SStephan Gerhold adp-disable; 7216e8e807SStephan Gerhold 7316e8e807SStephan Gerhold ulpi { 7416e8e807SStephan Gerhold phy { 7516e8e807SStephan Gerhold extcon = <&usb_vbus>; 7616e8e807SStephan Gerhold v1p8-supply = <&pm8916_l7>; 7716e8e807SStephan Gerhold v3p3-supply = <&pm8916_l13>; 7816e8e807SStephan Gerhold }; 7916e8e807SStephan Gerhold }; 8016e8e807SStephan Gerhold }; 8116e8e807SStephan Gerhold 82b0e1600dSNikita Travkin wcnss@a21b000 { 83b0e1600dSNikita Travkin status = "okay"; 84b0e1600dSNikita Travkin }; 85b0e1600dSNikita Travkin 8616e8e807SStephan Gerhold /* 8716e8e807SStephan Gerhold * Attempting to enable these devices causes a "synchronous 8816e8e807SStephan Gerhold * external abort". Suspected cause is that the debug power 8916e8e807SStephan Gerhold * domain is not enabled by default on this device. 9016e8e807SStephan Gerhold * Disable these devices for now to avoid the crash. 9116e8e807SStephan Gerhold * 9216e8e807SStephan Gerhold * See: https://lore.kernel.org/linux-arm-msm/20190618202623.GA53651@gerhold.net/ 9316e8e807SStephan Gerhold */ 9416e8e807SStephan Gerhold tpiu@820000 { status = "disabled"; }; 9516e8e807SStephan Gerhold funnel@821000 { status = "disabled"; }; 9616e8e807SStephan Gerhold replicator@824000 { status = "disabled"; }; 9716e8e807SStephan Gerhold etf@825000 { status = "disabled"; }; 9816e8e807SStephan Gerhold etr@826000 { status = "disabled"; }; 9916e8e807SStephan Gerhold funnel@841000 { status = "disabled"; }; 10016e8e807SStephan Gerhold debug@850000 { status = "disabled"; }; 10116e8e807SStephan Gerhold debug@852000 { status = "disabled"; }; 10216e8e807SStephan Gerhold debug@854000 { status = "disabled"; }; 10316e8e807SStephan Gerhold debug@856000 { status = "disabled"; }; 10416e8e807SStephan Gerhold etm@85c000 { status = "disabled"; }; 10516e8e807SStephan Gerhold etm@85d000 { status = "disabled"; }; 10616e8e807SStephan Gerhold etm@85e000 { status = "disabled"; }; 10716e8e807SStephan Gerhold etm@85f000 { status = "disabled"; }; 10816e8e807SStephan Gerhold }; 10916e8e807SStephan Gerhold 11016e8e807SStephan Gerhold // FIXME: Use extcon device provided by charger driver when available 11116e8e807SStephan Gerhold usb_vbus: usb-vbus { 11216e8e807SStephan Gerhold compatible = "linux,extcon-usb-gpio"; 11316e8e807SStephan Gerhold vbus-gpio = <&msmgpio 62 GPIO_ACTIVE_HIGH>; 11416e8e807SStephan Gerhold pinctrl-names = "default"; 11516e8e807SStephan Gerhold pinctrl-0 = <&usb_vbus_default>; 11616e8e807SStephan Gerhold }; 1173ba8bbc4SNikita Travkin 1183ba8bbc4SNikita Travkin gpio-keys { 1193ba8bbc4SNikita Travkin compatible = "gpio-keys"; 1203ba8bbc4SNikita Travkin 1213ba8bbc4SNikita Travkin pinctrl-names = "default"; 1223ba8bbc4SNikita Travkin pinctrl-0 = <&gpio_keys_default>; 1233ba8bbc4SNikita Travkin 1243ba8bbc4SNikita Travkin label = "GPIO Buttons"; 1253ba8bbc4SNikita Travkin 1263ba8bbc4SNikita Travkin volume-up { 1273ba8bbc4SNikita Travkin label = "Volume Up"; 1283ba8bbc4SNikita Travkin gpios = <&msmgpio 107 GPIO_ACTIVE_LOW>; 1293ba8bbc4SNikita Travkin linux,code = <KEY_VOLUMEUP>; 1303ba8bbc4SNikita Travkin }; 1313ba8bbc4SNikita Travkin }; 13216e8e807SStephan Gerhold}; 13316e8e807SStephan Gerhold 13416e8e807SStephan Gerhold&msmgpio { 1353ba8bbc4SNikita Travkin gpio_keys_default: gpio_keys_default { 1363ba8bbc4SNikita Travkin pinmux { 1373ba8bbc4SNikita Travkin function = "gpio"; 1383ba8bbc4SNikita Travkin pins = "gpio107"; 1393ba8bbc4SNikita Travkin }; 1403ba8bbc4SNikita Travkin pinconf { 1413ba8bbc4SNikita Travkin pins = "gpio107"; 1423ba8bbc4SNikita Travkin drive-strength = <2>; 1433ba8bbc4SNikita Travkin bias-pull-up; 1443ba8bbc4SNikita Travkin }; 1453ba8bbc4SNikita Travkin }; 1463ba8bbc4SNikita Travkin 14716e8e807SStephan Gerhold usb_vbus_default: usb-vbus-default { 14816e8e807SStephan Gerhold pinmux { 14916e8e807SStephan Gerhold function = "gpio"; 15016e8e807SStephan Gerhold pins = "gpio62"; 15116e8e807SStephan Gerhold }; 15216e8e807SStephan Gerhold pinconf { 15316e8e807SStephan Gerhold pins = "gpio62"; 15416e8e807SStephan Gerhold bias-pull-up; 15516e8e807SStephan Gerhold }; 15616e8e807SStephan Gerhold }; 15716e8e807SStephan Gerhold}; 15816e8e807SStephan Gerhold 1593ba8bbc4SNikita Travkin&spmi_bus { 1603ba8bbc4SNikita Travkin pm8916@0 { 1613ba8bbc4SNikita Travkin pon@800 { 1623ba8bbc4SNikita Travkin volume-down { 1633ba8bbc4SNikita Travkin compatible = "qcom,pm8941-resin"; 1643ba8bbc4SNikita Travkin interrupts = <0x0 0x8 1 IRQ_TYPE_EDGE_BOTH>; 1653ba8bbc4SNikita Travkin bias-pull-up; 1663ba8bbc4SNikita Travkin linux,code = <KEY_VOLUMEDOWN>; 1673ba8bbc4SNikita Travkin }; 1683ba8bbc4SNikita Travkin }; 1693ba8bbc4SNikita Travkin }; 1703ba8bbc4SNikita Travkin}; 1713ba8bbc4SNikita Travkin 17216e8e807SStephan Gerhold&smd_rpm_regulators { 17316e8e807SStephan Gerhold vdd_l1_l2_l3-supply = <&pm8916_s3>; 17416e8e807SStephan Gerhold vdd_l4_l5_l6-supply = <&pm8916_s4>; 17516e8e807SStephan Gerhold vdd_l7-supply = <&pm8916_s4>; 17616e8e807SStephan Gerhold 17716e8e807SStephan Gerhold s1 { 17816e8e807SStephan Gerhold regulator-min-microvolt = <500000>; 17916e8e807SStephan Gerhold regulator-max-microvolt = <1300000>; 18016e8e807SStephan Gerhold }; 18116e8e807SStephan Gerhold 18216e8e807SStephan Gerhold s3 { 18316e8e807SStephan Gerhold regulator-min-microvolt = <1200000>; 18416e8e807SStephan Gerhold regulator-max-microvolt = <1300000>; 18516e8e807SStephan Gerhold }; 18616e8e807SStephan Gerhold 18716e8e807SStephan Gerhold s4 { 18816e8e807SStephan Gerhold regulator-min-microvolt = <1800000>; 18916e8e807SStephan Gerhold regulator-max-microvolt = <2100000>; 19016e8e807SStephan Gerhold }; 19116e8e807SStephan Gerhold 19216e8e807SStephan Gerhold l1 { 19316e8e807SStephan Gerhold regulator-min-microvolt = <1225000>; 19416e8e807SStephan Gerhold regulator-max-microvolt = <1225000>; 19516e8e807SStephan Gerhold }; 19616e8e807SStephan Gerhold 19716e8e807SStephan Gerhold l2 { 19816e8e807SStephan Gerhold regulator-min-microvolt = <1200000>; 19916e8e807SStephan Gerhold regulator-max-microvolt = <1200000>; 20016e8e807SStephan Gerhold }; 20116e8e807SStephan Gerhold 20216e8e807SStephan Gerhold l3 { 20316e8e807SStephan Gerhold regulator-min-microvolt = <500000>; 20416e8e807SStephan Gerhold regulator-max-microvolt = <1287500>; 20516e8e807SStephan Gerhold }; 20616e8e807SStephan Gerhold 20716e8e807SStephan Gerhold l4 { 20816e8e807SStephan Gerhold regulator-min-microvolt = <2050000>; 20916e8e807SStephan Gerhold regulator-max-microvolt = <2050000>; 21016e8e807SStephan Gerhold }; 21116e8e807SStephan Gerhold 21216e8e807SStephan Gerhold l5 { 21316e8e807SStephan Gerhold regulator-min-microvolt = <1800000>; 21416e8e807SStephan Gerhold regulator-max-microvolt = <1800000>; 21516e8e807SStephan Gerhold }; 21616e8e807SStephan Gerhold 21716e8e807SStephan Gerhold l6 { 21816e8e807SStephan Gerhold regulator-min-microvolt = <1800000>; 21916e8e807SStephan Gerhold regulator-max-microvolt = <1800000>; 22016e8e807SStephan Gerhold }; 22116e8e807SStephan Gerhold 22216e8e807SStephan Gerhold l7 { 22316e8e807SStephan Gerhold regulator-min-microvolt = <1800000>; 22416e8e807SStephan Gerhold regulator-max-microvolt = <1800000>; 22516e8e807SStephan Gerhold }; 22616e8e807SStephan Gerhold 22716e8e807SStephan Gerhold l8 { 22816e8e807SStephan Gerhold regulator-min-microvolt = <2850000>; 22916e8e807SStephan Gerhold regulator-max-microvolt = <2900000>; 23016e8e807SStephan Gerhold }; 23116e8e807SStephan Gerhold 23216e8e807SStephan Gerhold l9 { 23316e8e807SStephan Gerhold regulator-min-microvolt = <3300000>; 23416e8e807SStephan Gerhold regulator-max-microvolt = <3300000>; 23516e8e807SStephan Gerhold }; 23616e8e807SStephan Gerhold 23716e8e807SStephan Gerhold l10 { 23816e8e807SStephan Gerhold regulator-min-microvolt = <2700000>; 23916e8e807SStephan Gerhold regulator-max-microvolt = <2800000>; 24016e8e807SStephan Gerhold }; 24116e8e807SStephan Gerhold 24216e8e807SStephan Gerhold l11 { 24316e8e807SStephan Gerhold regulator-min-microvolt = <1800000>; 24416e8e807SStephan Gerhold regulator-max-microvolt = <2950000>; 24516e8e807SStephan Gerhold regulator-allow-set-load; 24616e8e807SStephan Gerhold regulator-system-load = <200000>; 24716e8e807SStephan Gerhold }; 24816e8e807SStephan Gerhold 24916e8e807SStephan Gerhold l12 { 25016e8e807SStephan Gerhold regulator-min-microvolt = <1800000>; 25116e8e807SStephan Gerhold regulator-max-microvolt = <2950000>; 25216e8e807SStephan Gerhold }; 25316e8e807SStephan Gerhold 25416e8e807SStephan Gerhold l13 { 25516e8e807SStephan Gerhold regulator-min-microvolt = <3075000>; 25616e8e807SStephan Gerhold regulator-max-microvolt = <3075000>; 25716e8e807SStephan Gerhold }; 25816e8e807SStephan Gerhold 25916e8e807SStephan Gerhold l14 { 26016e8e807SStephan Gerhold regulator-min-microvolt = <1800000>; 26116e8e807SStephan Gerhold regulator-max-microvolt = <3300000>; 26216e8e807SStephan Gerhold }; 26316e8e807SStephan Gerhold 26416e8e807SStephan Gerhold l15 { 26516e8e807SStephan Gerhold regulator-min-microvolt = <1800000>; 26616e8e807SStephan Gerhold regulator-max-microvolt = <3300000>; 26716e8e807SStephan Gerhold }; 26816e8e807SStephan Gerhold 26916e8e807SStephan Gerhold l16 { 27016e8e807SStephan Gerhold regulator-min-microvolt = <1800000>; 27116e8e807SStephan Gerhold regulator-max-microvolt = <3300000>; 27216e8e807SStephan Gerhold }; 27316e8e807SStephan Gerhold 27416e8e807SStephan Gerhold l17 { 27516e8e807SStephan Gerhold regulator-min-microvolt = <2850000>; 27616e8e807SStephan Gerhold regulator-max-microvolt = <2850000>; 27716e8e807SStephan Gerhold }; 27816e8e807SStephan Gerhold 27916e8e807SStephan Gerhold l18 { 28016e8e807SStephan Gerhold regulator-min-microvolt = <2700000>; 28116e8e807SStephan Gerhold regulator-max-microvolt = <2700000>; 28216e8e807SStephan Gerhold }; 28316e8e807SStephan Gerhold}; 284