18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ci/dts-v1/;
48c2ecf20Sopenharmony_ci
58c2ecf20Sopenharmony_ci#include "msm8916-pm8916.dtsi"
68c2ecf20Sopenharmony_ci#include <dt-bindings/gpio/gpio.h>
78c2ecf20Sopenharmony_ci#include <dt-bindings/input/input.h>
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ci/ {
108c2ecf20Sopenharmony_ci	model = "Longcheer L8150";
118c2ecf20Sopenharmony_ci	compatible = "longcheer,l8150", "qcom,msm8916-v1-qrd/9-v1", "qcom,msm8916";
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ci	aliases {
148c2ecf20Sopenharmony_ci		serial0 = &blsp1_uart2;
158c2ecf20Sopenharmony_ci	};
168c2ecf20Sopenharmony_ci
178c2ecf20Sopenharmony_ci	chosen {
188c2ecf20Sopenharmony_ci		stdout-path = "serial0";
198c2ecf20Sopenharmony_ci	};
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ci	reserved-memory {
228c2ecf20Sopenharmony_ci		// wcnss.mdt is not relocatable, so it must be loaded at 0x8b600000
238c2ecf20Sopenharmony_ci		/delete-node/ wcnss@89300000;
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ci		wcnss_mem: wcnss@8b600000 {
268c2ecf20Sopenharmony_ci			reg = <0x0 0x8b600000 0x0 0x600000>;
278c2ecf20Sopenharmony_ci			no-map;
288c2ecf20Sopenharmony_ci		};
298c2ecf20Sopenharmony_ci	};
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ci	// FIXME: Use extcon device provided by charger driver when available
328c2ecf20Sopenharmony_ci	usb_vbus: usb-vbus {
338c2ecf20Sopenharmony_ci		compatible = "linux,extcon-usb-gpio";
348c2ecf20Sopenharmony_ci		vbus-gpio = <&msmgpio 62 GPIO_ACTIVE_HIGH>;
358c2ecf20Sopenharmony_ci		pinctrl-names = "default";
368c2ecf20Sopenharmony_ci		pinctrl-0 = <&usb_vbus_default>;
378c2ecf20Sopenharmony_ci	};
388c2ecf20Sopenharmony_ci
398c2ecf20Sopenharmony_ci	gpio-keys {
408c2ecf20Sopenharmony_ci		compatible = "gpio-keys";
418c2ecf20Sopenharmony_ci
428c2ecf20Sopenharmony_ci		pinctrl-names = "default";
438c2ecf20Sopenharmony_ci		pinctrl-0 = <&gpio_keys_default>;
448c2ecf20Sopenharmony_ci
458c2ecf20Sopenharmony_ci		label = "GPIO Buttons";
468c2ecf20Sopenharmony_ci
478c2ecf20Sopenharmony_ci		volume-up {
488c2ecf20Sopenharmony_ci			label = "Volume Up";
498c2ecf20Sopenharmony_ci			gpios = <&msmgpio 107 GPIO_ACTIVE_LOW>;
508c2ecf20Sopenharmony_ci			linux,code = <KEY_VOLUMEUP>;
518c2ecf20Sopenharmony_ci		};
528c2ecf20Sopenharmony_ci	};
538c2ecf20Sopenharmony_ci};
548c2ecf20Sopenharmony_ci
558c2ecf20Sopenharmony_ci&blsp1_uart2 {
568c2ecf20Sopenharmony_ci	status = "okay";
578c2ecf20Sopenharmony_ci};
588c2ecf20Sopenharmony_ci
598c2ecf20Sopenharmony_ci&pm8916_resin {
608c2ecf20Sopenharmony_ci	status = "okay";
618c2ecf20Sopenharmony_ci	linux,code = <KEY_VOLUMEDOWN>;
628c2ecf20Sopenharmony_ci};
638c2ecf20Sopenharmony_ci
648c2ecf20Sopenharmony_ci&pronto {
658c2ecf20Sopenharmony_ci	status = "okay";
668c2ecf20Sopenharmony_ci};
678c2ecf20Sopenharmony_ci
688c2ecf20Sopenharmony_ci&sdhc_1 {
698c2ecf20Sopenharmony_ci	status = "okay";
708c2ecf20Sopenharmony_ci
718c2ecf20Sopenharmony_ci	pinctrl-names = "default", "sleep";
728c2ecf20Sopenharmony_ci	pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>;
738c2ecf20Sopenharmony_ci	pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>;
748c2ecf20Sopenharmony_ci};
758c2ecf20Sopenharmony_ci
768c2ecf20Sopenharmony_ci&sdhc_2 {
778c2ecf20Sopenharmony_ci	status = "okay";
788c2ecf20Sopenharmony_ci
798c2ecf20Sopenharmony_ci	pinctrl-names = "default", "sleep";
808c2ecf20Sopenharmony_ci	pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on>;
818c2ecf20Sopenharmony_ci	pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off>;
828c2ecf20Sopenharmony_ci
838c2ecf20Sopenharmony_ci	non-removable;
848c2ecf20Sopenharmony_ci};
858c2ecf20Sopenharmony_ci
868c2ecf20Sopenharmony_ci&usb {
878c2ecf20Sopenharmony_ci	status = "okay";
888c2ecf20Sopenharmony_ci	dr_mode = "peripheral";
898c2ecf20Sopenharmony_ci	extcon = <&usb_vbus>;
908c2ecf20Sopenharmony_ci};
918c2ecf20Sopenharmony_ci
928c2ecf20Sopenharmony_ci&usb_hs_phy {
938c2ecf20Sopenharmony_ci	extcon = <&usb_vbus>;
948c2ecf20Sopenharmony_ci};
958c2ecf20Sopenharmony_ci
968c2ecf20Sopenharmony_ci&smd_rpm_regulators {
978c2ecf20Sopenharmony_ci	vdd_l1_l2_l3-supply = <&pm8916_s3>;
988c2ecf20Sopenharmony_ci	vdd_l4_l5_l6-supply = <&pm8916_s4>;
998c2ecf20Sopenharmony_ci	vdd_l7-supply = <&pm8916_s4>;
1008c2ecf20Sopenharmony_ci
1018c2ecf20Sopenharmony_ci	s1 {
1028c2ecf20Sopenharmony_ci		regulator-min-microvolt = <500000>;
1038c2ecf20Sopenharmony_ci		regulator-max-microvolt = <1300000>;
1048c2ecf20Sopenharmony_ci	};
1058c2ecf20Sopenharmony_ci
1068c2ecf20Sopenharmony_ci	s3 {
1078c2ecf20Sopenharmony_ci		regulator-min-microvolt = <1200000>;
1088c2ecf20Sopenharmony_ci		regulator-max-microvolt = <1300000>;
1098c2ecf20Sopenharmony_ci	};
1108c2ecf20Sopenharmony_ci
1118c2ecf20Sopenharmony_ci	s4 {
1128c2ecf20Sopenharmony_ci		regulator-min-microvolt = <1800000>;
1138c2ecf20Sopenharmony_ci		regulator-max-microvolt = <2100000>;
1148c2ecf20Sopenharmony_ci	};
1158c2ecf20Sopenharmony_ci
1168c2ecf20Sopenharmony_ci	l1 {
1178c2ecf20Sopenharmony_ci		regulator-min-microvolt = <1225000>;
1188c2ecf20Sopenharmony_ci		regulator-max-microvolt = <1225000>;
1198c2ecf20Sopenharmony_ci	};
1208c2ecf20Sopenharmony_ci
1218c2ecf20Sopenharmony_ci	l2 {
1228c2ecf20Sopenharmony_ci		regulator-min-microvolt = <1200000>;
1238c2ecf20Sopenharmony_ci		regulator-max-microvolt = <1200000>;
1248c2ecf20Sopenharmony_ci	};
1258c2ecf20Sopenharmony_ci
1268c2ecf20Sopenharmony_ci	l3 {
1278c2ecf20Sopenharmony_ci		regulator-min-microvolt = <500000>;
1288c2ecf20Sopenharmony_ci		regulator-max-microvolt = <1287500>;
1298c2ecf20Sopenharmony_ci	};
1308c2ecf20Sopenharmony_ci
1318c2ecf20Sopenharmony_ci	l4 {
1328c2ecf20Sopenharmony_ci		regulator-min-microvolt = <2050000>;
1338c2ecf20Sopenharmony_ci		regulator-max-microvolt = <2050000>;
1348c2ecf20Sopenharmony_ci	};
1358c2ecf20Sopenharmony_ci
1368c2ecf20Sopenharmony_ci	l5 {
1378c2ecf20Sopenharmony_ci		regulator-min-microvolt = <1800000>;
1388c2ecf20Sopenharmony_ci		regulator-max-microvolt = <1800000>;
1398c2ecf20Sopenharmony_ci	};
1408c2ecf20Sopenharmony_ci
1418c2ecf20Sopenharmony_ci	l6 {
1428c2ecf20Sopenharmony_ci		regulator-min-microvolt = <1800000>;
1438c2ecf20Sopenharmony_ci		regulator-max-microvolt = <1800000>;
1448c2ecf20Sopenharmony_ci	};
1458c2ecf20Sopenharmony_ci
1468c2ecf20Sopenharmony_ci	l7 {
1478c2ecf20Sopenharmony_ci		regulator-min-microvolt = <1800000>;
1488c2ecf20Sopenharmony_ci		regulator-max-microvolt = <1800000>;
1498c2ecf20Sopenharmony_ci	};
1508c2ecf20Sopenharmony_ci
1518c2ecf20Sopenharmony_ci	l8 {
1528c2ecf20Sopenharmony_ci		regulator-min-microvolt = <2850000>;
1538c2ecf20Sopenharmony_ci		regulator-max-microvolt = <2900000>;
1548c2ecf20Sopenharmony_ci	};
1558c2ecf20Sopenharmony_ci
1568c2ecf20Sopenharmony_ci	l9 {
1578c2ecf20Sopenharmony_ci		regulator-min-microvolt = <3300000>;
1588c2ecf20Sopenharmony_ci		regulator-max-microvolt = <3300000>;
1598c2ecf20Sopenharmony_ci	};
1608c2ecf20Sopenharmony_ci
1618c2ecf20Sopenharmony_ci	l10 {
1628c2ecf20Sopenharmony_ci		regulator-min-microvolt = <2700000>;
1638c2ecf20Sopenharmony_ci		regulator-max-microvolt = <2800000>;
1648c2ecf20Sopenharmony_ci	};
1658c2ecf20Sopenharmony_ci
1668c2ecf20Sopenharmony_ci	l11 {
1678c2ecf20Sopenharmony_ci		regulator-min-microvolt = <1800000>;
1688c2ecf20Sopenharmony_ci		regulator-max-microvolt = <2950000>;
1698c2ecf20Sopenharmony_ci		regulator-allow-set-load;
1708c2ecf20Sopenharmony_ci		regulator-system-load = <200000>;
1718c2ecf20Sopenharmony_ci	};
1728c2ecf20Sopenharmony_ci
1738c2ecf20Sopenharmony_ci	l12 {
1748c2ecf20Sopenharmony_ci		regulator-min-microvolt = <1800000>;
1758c2ecf20Sopenharmony_ci		regulator-max-microvolt = <2950000>;
1768c2ecf20Sopenharmony_ci	};
1778c2ecf20Sopenharmony_ci
1788c2ecf20Sopenharmony_ci	l13 {
1798c2ecf20Sopenharmony_ci		regulator-min-microvolt = <3075000>;
1808c2ecf20Sopenharmony_ci		regulator-max-microvolt = <3075000>;
1818c2ecf20Sopenharmony_ci	};
1828c2ecf20Sopenharmony_ci
1838c2ecf20Sopenharmony_ci	l14 {
1848c2ecf20Sopenharmony_ci		regulator-min-microvolt = <1800000>;
1858c2ecf20Sopenharmony_ci		regulator-max-microvolt = <3300000>;
1868c2ecf20Sopenharmony_ci	};
1878c2ecf20Sopenharmony_ci
1888c2ecf20Sopenharmony_ci	l15 {
1898c2ecf20Sopenharmony_ci		regulator-min-microvolt = <1800000>;
1908c2ecf20Sopenharmony_ci		regulator-max-microvolt = <3300000>;
1918c2ecf20Sopenharmony_ci	};
1928c2ecf20Sopenharmony_ci
1938c2ecf20Sopenharmony_ci	l16 {
1948c2ecf20Sopenharmony_ci		regulator-min-microvolt = <1800000>;
1958c2ecf20Sopenharmony_ci		regulator-max-microvolt = <3300000>;
1968c2ecf20Sopenharmony_ci	};
1978c2ecf20Sopenharmony_ci
1988c2ecf20Sopenharmony_ci	l17 {
1998c2ecf20Sopenharmony_ci		regulator-min-microvolt = <2850000>;
2008c2ecf20Sopenharmony_ci		regulator-max-microvolt = <2850000>;
2018c2ecf20Sopenharmony_ci	};
2028c2ecf20Sopenharmony_ci
2038c2ecf20Sopenharmony_ci	l18 {
2048c2ecf20Sopenharmony_ci		regulator-min-microvolt = <2700000>;
2058c2ecf20Sopenharmony_ci		regulator-max-microvolt = <2700000>;
2068c2ecf20Sopenharmony_ci	};
2078c2ecf20Sopenharmony_ci};
2088c2ecf20Sopenharmony_ci
2098c2ecf20Sopenharmony_ci&msmgpio {
2108c2ecf20Sopenharmony_ci	gpio_keys_default: gpio-keys-default {
2118c2ecf20Sopenharmony_ci		pins = "gpio107";
2128c2ecf20Sopenharmony_ci		function = "gpio";
2138c2ecf20Sopenharmony_ci
2148c2ecf20Sopenharmony_ci		drive-strength = <2>;
2158c2ecf20Sopenharmony_ci		bias-pull-up;
2168c2ecf20Sopenharmony_ci	};
2178c2ecf20Sopenharmony_ci
2188c2ecf20Sopenharmony_ci	usb_vbus_default: usb-vbus-default {
2198c2ecf20Sopenharmony_ci		pins = "gpio62";
2208c2ecf20Sopenharmony_ci		function = "gpio";
2218c2ecf20Sopenharmony_ci
2228c2ecf20Sopenharmony_ci		bias-pull-up;
2238c2ecf20Sopenharmony_ci	};
2248c2ecf20Sopenharmony_ci};
225