]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/gnu/dts/arm64/qcom/msm8916-longcheer-l8150.dts
Import DTS files for arm, arm64, riscv from Linux 5.8
[FreeBSD/FreeBSD.git] / sys / gnu / dts / arm64 / qcom / msm8916-longcheer-l8150.dts
1 // SPDX-License-Identifier: GPL-2.0-only
2
3 /dts-v1/;
4
5 #include "msm8916.dtsi"
6 #include "pm8916.dtsi"
7 #include <dt-bindings/gpio/gpio.h>
8 #include <dt-bindings/input/input.h>
9
10 / {
11         model = "Longcheer L8150";
12         compatible = "longcheer,l8150", "qcom,msm8916-v1-qrd/9-v1", "qcom,msm8916";
13
14         aliases {
15                 serial0 = &blsp1_uart2;
16         };
17
18         chosen {
19                 stdout-path = "serial0";
20         };
21
22         reserved-memory {
23                 // wcnss.mdt is not relocatable, so it must be loaded at 0x8b600000
24                 /delete-node/ wcnss@89300000;
25
26                 wcnss_mem: wcnss@8b600000 {
27                         reg = <0x0 0x8b600000 0x0 0x600000>;
28                         no-map;
29                 };
30         };
31
32         soc {
33                 sdhci@7824000 {
34                         status = "okay";
35
36                         vmmc-supply = <&pm8916_l8>;
37                         vqmmc-supply = <&pm8916_l5>;
38
39                         pinctrl-names = "default", "sleep";
40                         pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>;
41                         pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>;
42                 };
43
44                 sdhci@7864000 {
45                         status = "okay";
46
47                         vmmc-supply = <&pm8916_l11>;
48                         vqmmc-supply = <&pm8916_l12>;
49
50                         pinctrl-names = "default", "sleep";
51                         pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on>;
52                         pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off>;
53
54                         non-removable;
55                 };
56
57                 serial@78b0000 {
58                         status = "okay";
59                         pinctrl-names = "default", "sleep";
60                         pinctrl-0 = <&blsp1_uart2_default>;
61                         pinctrl-1 = <&blsp1_uart2_sleep>;
62                 };
63
64                 usb@78d9000 {
65                         status = "okay";
66                         dr_mode = "peripheral";
67                         extcon = <&usb_vbus>;
68
69                         hnp-disable;
70                         srp-disable;
71                         adp-disable;
72
73                         ulpi {
74                                 phy {
75                                         extcon = <&usb_vbus>;
76                                         v1p8-supply = <&pm8916_l7>;
77                                         v3p3-supply = <&pm8916_l13>;
78                                 };
79                         };
80                 };
81
82                 wcnss@a21b000 {
83                         status = "okay";
84                 };
85         };
86
87         // FIXME: Use extcon device provided by charger driver when available
88         usb_vbus: usb-vbus {
89                 compatible = "linux,extcon-usb-gpio";
90                 vbus-gpio = <&msmgpio 62 GPIO_ACTIVE_HIGH>;
91                 pinctrl-names = "default";
92                 pinctrl-0 = <&usb_vbus_default>;
93         };
94
95         gpio-keys {
96                 compatible = "gpio-keys";
97
98                 pinctrl-names = "default";
99                 pinctrl-0 = <&gpio_keys_default>;
100
101                 label = "GPIO Buttons";
102
103                 volume-up {
104                         label = "Volume Up";
105                         gpios = <&msmgpio 107 GPIO_ACTIVE_LOW>;
106                         linux,code = <KEY_VOLUMEUP>;
107                 };
108         };
109 };
110
111 &msmgpio {
112         gpio_keys_default: gpio-keys-default {
113                 pinmux {
114                         function = "gpio";
115                         pins = "gpio107";
116                 };
117                 pinconf {
118                         pins = "gpio107";
119                         drive-strength = <2>;
120                         bias-pull-up;
121                 };
122         };
123
124         usb_vbus_default: usb-vbus-default {
125                 pinmux {
126                         function = "gpio";
127                         pins = "gpio62";
128                 };
129                 pinconf {
130                         pins = "gpio62";
131                         bias-pull-up;
132                 };
133         };
134 };
135
136 &spmi_bus {
137         pm8916@0 {
138                 pon@800 {
139                         volume-down {
140                                 compatible = "qcom,pm8941-resin";
141                                 interrupts = <0x0 0x8 1 IRQ_TYPE_EDGE_BOTH>;
142                                 bias-pull-up;
143                                 linux,code = <KEY_VOLUMEDOWN>;
144                         };
145                 };
146         };
147 };
148
149 &smd_rpm_regulators {
150         vdd_l1_l2_l3-supply = <&pm8916_s3>;
151         vdd_l4_l5_l6-supply = <&pm8916_s4>;
152         vdd_l7-supply = <&pm8916_s4>;
153
154         s1 {
155                 regulator-min-microvolt = <500000>;
156                 regulator-max-microvolt = <1300000>;
157         };
158
159         s3 {
160                 regulator-min-microvolt = <1200000>;
161                 regulator-max-microvolt = <1300000>;
162         };
163
164         s4 {
165                 regulator-min-microvolt = <1800000>;
166                 regulator-max-microvolt = <2100000>;
167         };
168
169         l1 {
170                 regulator-min-microvolt = <1225000>;
171                 regulator-max-microvolt = <1225000>;
172         };
173
174         l2 {
175                 regulator-min-microvolt = <1200000>;
176                 regulator-max-microvolt = <1200000>;
177         };
178
179         l3 {
180                 regulator-min-microvolt = <500000>;
181                 regulator-max-microvolt = <1287500>;
182         };
183
184         l4 {
185                 regulator-min-microvolt = <2050000>;
186                 regulator-max-microvolt = <2050000>;
187         };
188
189         l5 {
190                 regulator-min-microvolt = <1800000>;
191                 regulator-max-microvolt = <1800000>;
192         };
193
194         l6 {
195                 regulator-min-microvolt = <1800000>;
196                 regulator-max-microvolt = <1800000>;
197         };
198
199         l7 {
200                 regulator-min-microvolt = <1800000>;
201                 regulator-max-microvolt = <1800000>;
202         };
203
204         l8 {
205                 regulator-min-microvolt = <2850000>;
206                 regulator-max-microvolt = <2900000>;
207         };
208
209         l9 {
210                 regulator-min-microvolt = <3300000>;
211                 regulator-max-microvolt = <3300000>;
212         };
213
214         l10 {
215                 regulator-min-microvolt = <2700000>;
216                 regulator-max-microvolt = <2800000>;
217         };
218
219         l11 {
220                 regulator-min-microvolt = <1800000>;
221                 regulator-max-microvolt = <2950000>;
222                 regulator-allow-set-load;
223                 regulator-system-load = <200000>;
224         };
225
226         l12 {
227                 regulator-min-microvolt = <1800000>;
228                 regulator-max-microvolt = <2950000>;
229         };
230
231         l13 {
232                 regulator-min-microvolt = <3075000>;
233                 regulator-max-microvolt = <3075000>;
234         };
235
236         l14 {
237                 regulator-min-microvolt = <1800000>;
238                 regulator-max-microvolt = <3300000>;
239         };
240
241         l15 {
242                 regulator-min-microvolt = <1800000>;
243                 regulator-max-microvolt = <3300000>;
244         };
245
246         l16 {
247                 regulator-min-microvolt = <1800000>;
248                 regulator-max-microvolt = <3300000>;
249         };
250
251         l17 {
252                 regulator-min-microvolt = <2850000>;
253                 regulator-max-microvolt = <2850000>;
254         };
255
256         l18 {
257                 regulator-min-microvolt = <2700000>;
258                 regulator-max-microvolt = <2700000>;
259         };
260 };