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 }; 8516e8e807SStephan Gerhold }; 8616e8e807SStephan Gerhold 8716e8e807SStephan Gerhold // FIXME: Use extcon device provided by charger driver when available 8816e8e807SStephan Gerhold usb_vbus: usb-vbus { 8916e8e807SStephan Gerhold compatible = "linux,extcon-usb-gpio"; 9016e8e807SStephan Gerhold vbus-gpio = <&msmgpio 62 GPIO_ACTIVE_HIGH>; 9116e8e807SStephan Gerhold pinctrl-names = "default"; 9216e8e807SStephan Gerhold pinctrl-0 = <&usb_vbus_default>; 9316e8e807SStephan Gerhold }; 943ba8bbc4SNikita Travkin 953ba8bbc4SNikita Travkin gpio-keys { 963ba8bbc4SNikita Travkin compatible = "gpio-keys"; 973ba8bbc4SNikita Travkin 983ba8bbc4SNikita Travkin pinctrl-names = "default"; 993ba8bbc4SNikita Travkin pinctrl-0 = <&gpio_keys_default>; 1003ba8bbc4SNikita Travkin 1013ba8bbc4SNikita Travkin label = "GPIO Buttons"; 1023ba8bbc4SNikita Travkin 1033ba8bbc4SNikita Travkin volume-up { 1043ba8bbc4SNikita Travkin label = "Volume Up"; 1053ba8bbc4SNikita Travkin gpios = <&msmgpio 107 GPIO_ACTIVE_LOW>; 1063ba8bbc4SNikita Travkin linux,code = <KEY_VOLUMEUP>; 1073ba8bbc4SNikita Travkin }; 1083ba8bbc4SNikita Travkin }; 10916e8e807SStephan Gerhold}; 11016e8e807SStephan Gerhold 1113ba8bbc4SNikita Travkin&spmi_bus { 1123ba8bbc4SNikita Travkin pm8916@0 { 1133ba8bbc4SNikita Travkin pon@800 { 1143ba8bbc4SNikita Travkin volume-down { 1153ba8bbc4SNikita Travkin compatible = "qcom,pm8941-resin"; 1163ba8bbc4SNikita Travkin interrupts = <0x0 0x8 1 IRQ_TYPE_EDGE_BOTH>; 1173ba8bbc4SNikita Travkin bias-pull-up; 1183ba8bbc4SNikita Travkin linux,code = <KEY_VOLUMEDOWN>; 1193ba8bbc4SNikita Travkin }; 1203ba8bbc4SNikita Travkin }; 1213ba8bbc4SNikita Travkin }; 1223ba8bbc4SNikita Travkin}; 1233ba8bbc4SNikita Travkin 12416e8e807SStephan Gerhold&smd_rpm_regulators { 12516e8e807SStephan Gerhold vdd_l1_l2_l3-supply = <&pm8916_s3>; 12616e8e807SStephan Gerhold vdd_l4_l5_l6-supply = <&pm8916_s4>; 12716e8e807SStephan Gerhold vdd_l7-supply = <&pm8916_s4>; 12816e8e807SStephan Gerhold 12916e8e807SStephan Gerhold s1 { 13016e8e807SStephan Gerhold regulator-min-microvolt = <500000>; 13116e8e807SStephan Gerhold regulator-max-microvolt = <1300000>; 13216e8e807SStephan Gerhold }; 13316e8e807SStephan Gerhold 13416e8e807SStephan Gerhold s3 { 13516e8e807SStephan Gerhold regulator-min-microvolt = <1200000>; 13616e8e807SStephan Gerhold regulator-max-microvolt = <1300000>; 13716e8e807SStephan Gerhold }; 13816e8e807SStephan Gerhold 13916e8e807SStephan Gerhold s4 { 14016e8e807SStephan Gerhold regulator-min-microvolt = <1800000>; 14116e8e807SStephan Gerhold regulator-max-microvolt = <2100000>; 14216e8e807SStephan Gerhold }; 14316e8e807SStephan Gerhold 14416e8e807SStephan Gerhold l1 { 14516e8e807SStephan Gerhold regulator-min-microvolt = <1225000>; 14616e8e807SStephan Gerhold regulator-max-microvolt = <1225000>; 14716e8e807SStephan Gerhold }; 14816e8e807SStephan Gerhold 14916e8e807SStephan Gerhold l2 { 15016e8e807SStephan Gerhold regulator-min-microvolt = <1200000>; 15116e8e807SStephan Gerhold regulator-max-microvolt = <1200000>; 15216e8e807SStephan Gerhold }; 15316e8e807SStephan Gerhold 15416e8e807SStephan Gerhold l3 { 15516e8e807SStephan Gerhold regulator-min-microvolt = <500000>; 15616e8e807SStephan Gerhold regulator-max-microvolt = <1287500>; 15716e8e807SStephan Gerhold }; 15816e8e807SStephan Gerhold 15916e8e807SStephan Gerhold l4 { 16016e8e807SStephan Gerhold regulator-min-microvolt = <2050000>; 16116e8e807SStephan Gerhold regulator-max-microvolt = <2050000>; 16216e8e807SStephan Gerhold }; 16316e8e807SStephan Gerhold 16416e8e807SStephan Gerhold l5 { 16516e8e807SStephan Gerhold regulator-min-microvolt = <1800000>; 16616e8e807SStephan Gerhold regulator-max-microvolt = <1800000>; 16716e8e807SStephan Gerhold }; 16816e8e807SStephan Gerhold 16916e8e807SStephan Gerhold l6 { 17016e8e807SStephan Gerhold regulator-min-microvolt = <1800000>; 17116e8e807SStephan Gerhold regulator-max-microvolt = <1800000>; 17216e8e807SStephan Gerhold }; 17316e8e807SStephan Gerhold 17416e8e807SStephan Gerhold l7 { 17516e8e807SStephan Gerhold regulator-min-microvolt = <1800000>; 17616e8e807SStephan Gerhold regulator-max-microvolt = <1800000>; 17716e8e807SStephan Gerhold }; 17816e8e807SStephan Gerhold 17916e8e807SStephan Gerhold l8 { 18016e8e807SStephan Gerhold regulator-min-microvolt = <2850000>; 18116e8e807SStephan Gerhold regulator-max-microvolt = <2900000>; 18216e8e807SStephan Gerhold }; 18316e8e807SStephan Gerhold 18416e8e807SStephan Gerhold l9 { 18516e8e807SStephan Gerhold regulator-min-microvolt = <3300000>; 18616e8e807SStephan Gerhold regulator-max-microvolt = <3300000>; 18716e8e807SStephan Gerhold }; 18816e8e807SStephan Gerhold 18916e8e807SStephan Gerhold l10 { 19016e8e807SStephan Gerhold regulator-min-microvolt = <2700000>; 19116e8e807SStephan Gerhold regulator-max-microvolt = <2800000>; 19216e8e807SStephan Gerhold }; 19316e8e807SStephan Gerhold 19416e8e807SStephan Gerhold l11 { 19516e8e807SStephan Gerhold regulator-min-microvolt = <1800000>; 19616e8e807SStephan Gerhold regulator-max-microvolt = <2950000>; 19716e8e807SStephan Gerhold regulator-allow-set-load; 19816e8e807SStephan Gerhold regulator-system-load = <200000>; 19916e8e807SStephan Gerhold }; 20016e8e807SStephan Gerhold 20116e8e807SStephan Gerhold l12 { 20216e8e807SStephan Gerhold regulator-min-microvolt = <1800000>; 20316e8e807SStephan Gerhold regulator-max-microvolt = <2950000>; 20416e8e807SStephan Gerhold }; 20516e8e807SStephan Gerhold 20616e8e807SStephan Gerhold l13 { 20716e8e807SStephan Gerhold regulator-min-microvolt = <3075000>; 20816e8e807SStephan Gerhold regulator-max-microvolt = <3075000>; 20916e8e807SStephan Gerhold }; 21016e8e807SStephan Gerhold 21116e8e807SStephan Gerhold l14 { 21216e8e807SStephan Gerhold regulator-min-microvolt = <1800000>; 21316e8e807SStephan Gerhold regulator-max-microvolt = <3300000>; 21416e8e807SStephan Gerhold }; 21516e8e807SStephan Gerhold 21616e8e807SStephan Gerhold l15 { 21716e8e807SStephan Gerhold regulator-min-microvolt = <1800000>; 21816e8e807SStephan Gerhold regulator-max-microvolt = <3300000>; 21916e8e807SStephan Gerhold }; 22016e8e807SStephan Gerhold 22116e8e807SStephan Gerhold l16 { 22216e8e807SStephan Gerhold regulator-min-microvolt = <1800000>; 22316e8e807SStephan Gerhold regulator-max-microvolt = <3300000>; 22416e8e807SStephan Gerhold }; 22516e8e807SStephan Gerhold 22616e8e807SStephan Gerhold l17 { 22716e8e807SStephan Gerhold regulator-min-microvolt = <2850000>; 22816e8e807SStephan Gerhold regulator-max-microvolt = <2850000>; 22916e8e807SStephan Gerhold }; 23016e8e807SStephan Gerhold 23116e8e807SStephan Gerhold l18 { 23216e8e807SStephan Gerhold regulator-min-microvolt = <2700000>; 23316e8e807SStephan Gerhold regulator-max-microvolt = <2700000>; 23416e8e807SStephan Gerhold }; 23516e8e807SStephan Gerhold}; 236f7f394f0SStephan Gerhold 237f7f394f0SStephan Gerhold&msmgpio { 238f7f394f0SStephan Gerhold gpio_keys_default: gpio-keys-default { 239f7f394f0SStephan Gerhold pinmux { 240f7f394f0SStephan Gerhold function = "gpio"; 241f7f394f0SStephan Gerhold pins = "gpio107"; 242f7f394f0SStephan Gerhold }; 243f7f394f0SStephan Gerhold pinconf { 244f7f394f0SStephan Gerhold pins = "gpio107"; 245f7f394f0SStephan Gerhold drive-strength = <2>; 246f7f394f0SStephan Gerhold bias-pull-up; 247f7f394f0SStephan Gerhold }; 248f7f394f0SStephan Gerhold }; 249f7f394f0SStephan Gerhold 250f7f394f0SStephan Gerhold usb_vbus_default: usb-vbus-default { 251f7f394f0SStephan Gerhold pinmux { 252f7f394f0SStephan Gerhold function = "gpio"; 253f7f394f0SStephan Gerhold pins = "gpio62"; 254f7f394f0SStephan Gerhold }; 255f7f394f0SStephan Gerhold pinconf { 256f7f394f0SStephan Gerhold pins = "gpio62"; 257f7f394f0SStephan Gerhold bias-pull-up; 258f7f394f0SStephan Gerhold }; 259f7f394f0SStephan Gerhold }; 260f7f394f0SStephan Gerhold}; 261