GNU Linux-libre 5.4.274-gnu1
[releases.git] / arch / arm64 / boot / dts / qcom / msm8998-clamshell.dtsi
1 // SPDX-License-Identifier: GPL-2.0
2 /* Copyright (c) 2019, Jeffrey Hugo. All rights reserved. */
3
4 /*
5  * Common include for MSM8998 clamshell devices, ie the Lenovo Miix 630,
6  * Asus NovaGo TP370QL, and HP Envy x2.  All three devices are basically the
7  * same, with differences in peripherals.
8  */
9
10 #include "msm8998.dtsi"
11 #include "pm8998.dtsi"
12 #include "pm8005.dtsi"
13
14 / {
15         chosen {
16         };
17
18         vph_pwr: vph-pwr-regulator {
19                 compatible = "regulator-fixed";
20                 regulator-name = "vph_pwr";
21                 regulator-always-on;
22                 regulator-boot-on;
23         };
24 };
25
26 /*
27  * The laptop FW does not appear to support the retention state as it is
28  * not advertised as enabled in ACPI, and enabling it in DT can cause boot
29  * hangs.
30  */
31 &CPU0 {
32         cpu-idle-states = <&LITTLE_CPU_SLEEP_1>;
33 };
34
35 &CPU1 {
36         cpu-idle-states = <&LITTLE_CPU_SLEEP_1>;
37 };
38
39 &CPU2 {
40         cpu-idle-states = <&LITTLE_CPU_SLEEP_1>;
41 };
42
43 &CPU3 {
44         cpu-idle-states = <&LITTLE_CPU_SLEEP_1>;
45 };
46
47 &CPU4 {
48         cpu-idle-states = <&BIG_CPU_SLEEP_1>;
49 };
50
51 &CPU5 {
52         cpu-idle-states = <&BIG_CPU_SLEEP_1>;
53 };
54
55 &CPU6 {
56         cpu-idle-states = <&BIG_CPU_SLEEP_1>;
57 };
58
59 &CPU7 {
60         cpu-idle-states = <&BIG_CPU_SLEEP_1>;
61 };
62
63 &qusb2phy {
64         status = "okay";
65
66         vdda-pll-supply = <&vreg_l12a_1p8>;
67         vdda-phy-dpdm-supply = <&vreg_l24a_3p075>;
68 };
69
70 &rpm_requests {
71         pm8998-regulators {
72                 compatible = "qcom,rpm-pm8998-regulators";
73
74                 vdd_s1-supply = <&vph_pwr>;
75                 vdd_s2-supply = <&vph_pwr>;
76                 vdd_s3-supply = <&vph_pwr>;
77                 vdd_s4-supply = <&vph_pwr>;
78                 vdd_s5-supply = <&vph_pwr>;
79                 vdd_s6-supply = <&vph_pwr>;
80                 vdd_s7-supply = <&vph_pwr>;
81                 vdd_s8-supply = <&vph_pwr>;
82                 vdd_s9-supply = <&vph_pwr>;
83                 vdd_s10-supply = <&vph_pwr>;
84                 vdd_s11-supply = <&vph_pwr>;
85                 vdd_s12-supply = <&vph_pwr>;
86                 vdd_s13-supply = <&vph_pwr>;
87                 vdd_l1_l27-supply = <&vreg_s7a_1p025>;
88                 vdd_l2_l8_l17-supply = <&vreg_s3a_1p35>;
89                 vdd_l3_l11-supply = <&vreg_s7a_1p025>;
90                 vdd_l4_l5-supply = <&vreg_s7a_1p025>;
91                 vdd_l6-supply = <&vreg_s5a_2p04>;
92                 vdd_l7_l12_l14_l15-supply = <&vreg_s5a_2p04>;
93                 vdd_l9-supply = <&vph_pwr>;
94                 vdd_l10_l23_l25-supply = <&vph_pwr>;
95                 vdd_l13_l19_l21-supply = <&vph_pwr>;
96                 vdd_l16_l28-supply = <&vph_pwr>;
97                 vdd_l18_l22-supply = <&vph_pwr>;
98                 vdd_l20_l24-supply = <&vph_pwr>;
99                 vdd_l26-supply = <&vreg_s3a_1p35>;
100                 vdd_lvs1_lvs2-supply = <&vreg_s4a_1p8>;
101
102                 vreg_s3a_1p35: s3 {
103                         regulator-min-microvolt = <1352000>;
104                         regulator-max-microvolt = <1352000>;
105                 };
106                 vreg_s4a_1p8: s4 {
107                         regulator-min-microvolt = <1800000>;
108                         regulator-max-microvolt = <1800000>;
109                         regulator-allow-set-load;
110                 };
111                 vreg_s5a_2p04: s5 {
112                         regulator-min-microvolt = <1904000>;
113                         regulator-max-microvolt = <2040000>;
114                 };
115                 vreg_s7a_1p025: s7 {
116                         regulator-min-microvolt = <900000>;
117                         regulator-max-microvolt = <1028000>;
118                 };
119                 vreg_l1a_0p875: l1 {
120                         regulator-min-microvolt = <880000>;
121                         regulator-max-microvolt = <880000>;
122                         regulator-allow-set-load;
123                 };
124                 vreg_l2a_1p2: l2 {
125                         regulator-min-microvolt = <1200000>;
126                         regulator-max-microvolt = <1200000>;
127                         regulator-allow-set-load;
128                 };
129                 vreg_l3a_1p0: l3 {
130                         regulator-min-microvolt = <1000000>;
131                         regulator-max-microvolt = <1000000>;
132                 };
133                 vreg_l5a_0p8: l5 {
134                         regulator-min-microvolt = <800000>;
135                         regulator-max-microvolt = <800000>;
136                 };
137                 vreg_l6a_1p8: l6 {
138                         regulator-min-microvolt = <1808000>;
139                         regulator-max-microvolt = <1808000>;
140                 };
141                 vreg_l7a_1p8: l7 {
142                         regulator-min-microvolt = <1800000>;
143                         regulator-max-microvolt = <1800000>;
144                 };
145                 vreg_l8a_1p2: l8 {
146                         regulator-min-microvolt = <1200000>;
147                         regulator-max-microvolt = <1200000>;
148                 };
149                 vreg_l9a_1p8: l9 {
150                         regulator-min-microvolt = <1808000>;
151                         regulator-max-microvolt = <2960000>;
152                 };
153                 vreg_l10a_1p8: l10 {
154                         regulator-min-microvolt = <1808000>;
155                         regulator-max-microvolt = <2960000>;
156                 };
157                 vreg_l11a_1p0: l11 {
158                         regulator-min-microvolt = <1000000>;
159                         regulator-max-microvolt = <1000000>;
160                 };
161                 vreg_l12a_1p8: l12 {
162                         regulator-min-microvolt = <1800000>;
163                         regulator-max-microvolt = <1800000>;
164                 };
165                 vreg_l13a_2p95: l13 {
166                         regulator-min-microvolt = <1808000>;
167                         regulator-max-microvolt = <2960000>;
168                 };
169                 vreg_l14a_1p88: l14 {
170                         regulator-min-microvolt = <1880000>;
171                         regulator-max-microvolt = <1880000>;
172                 };
173                 vreg_15a_1p8: l15 {
174                         regulator-min-microvolt = <1800000>;
175                         regulator-max-microvolt = <1800000>;
176                 };
177                 vreg_l16a_2p7: l16 {
178                         regulator-min-microvolt = <2704000>;
179                         regulator-max-microvolt = <2704000>;
180                 };
181                 vreg_l17a_1p3: l17 {
182                         regulator-min-microvolt = <1304000>;
183                         regulator-max-microvolt = <1304000>;
184                 };
185                 vreg_l18a_2p7: l18 {
186                         regulator-min-microvolt = <2704000>;
187                         regulator-max-microvolt = <2704000>;
188                 };
189                 vreg_l19a_3p0: l19 {
190                         regulator-min-microvolt = <3008000>;
191                         regulator-max-microvolt = <3008000>;
192                 };
193                 vreg_l20a_2p95: l20 {
194                         regulator-min-microvolt = <2960000>;
195                         regulator-max-microvolt = <2960000>;
196                         regulator-allow-set-load;
197                 };
198                 vreg_l21a_2p95: l21 {
199                         regulator-min-microvolt = <2960000>;
200                         regulator-max-microvolt = <2960000>;
201                         regulator-allow-set-load;
202                         regulator-system-load = <800000>;
203                 };
204                 vreg_l22a_2p85: l22 {
205                         regulator-min-microvolt = <2864000>;
206                         regulator-max-microvolt = <2864000>;
207                 };
208                 vreg_l23a_3p3: l23 {
209                         regulator-min-microvolt = <3312000>;
210                         regulator-max-microvolt = <3312000>;
211                 };
212                 vreg_l24a_3p075: l24 {
213                         regulator-min-microvolt = <3088000>;
214                         regulator-max-microvolt = <3088000>;
215                 };
216                 vreg_l25a_3p3: l25 {
217                         regulator-min-microvolt = <3104000>;
218                         regulator-max-microvolt = <3312000>;
219                 };
220                 vreg_l26a_1p2: l26 {
221                         regulator-min-microvolt = <1200000>;
222                         regulator-max-microvolt = <1200000>;
223                 };
224                 vreg_l28_3p0: l28 {
225                         regulator-min-microvolt = <3008000>;
226                         regulator-max-microvolt = <3008000>;
227                 };
228
229                 vreg_lvs1a_1p8: lvs1 {
230                         regulator-min-microvolt = <1800000>;
231                         regulator-max-microvolt = <1800000>;
232                 };
233
234                 vreg_lvs2a_1p8: lvs2 {
235                         regulator-min-microvolt = <1800000>;
236                         regulator-max-microvolt = <1800000>;
237                 };
238
239         };
240 };
241
242 &tlmm {
243         gpio-reserved-ranges = <0 4>, <81 4>;
244
245         touchpad: touchpad {
246                 config {
247                         pins = "gpio123";
248                         bias-pull-up;           /* pull up */
249                 };
250         };
251 };
252
253 &sdhc2 {
254         status = "okay";
255
256         vmmc-supply = <&vreg_l21a_2p95>;
257         vqmmc-supply = <&vreg_l13a_2p95>;
258
259         pinctrl-names = "default", "sleep";
260         pinctrl-0 = <&sdc2_clk_on  &sdc2_cmd_on  &sdc2_data_on  &sdc2_cd_on>;
261         pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>;
262 };
263
264 &usb3 {
265         status = "okay";
266 };
267
268 &usb3_dwc3 {
269         dr_mode = "host"; /* Force to host until we have Type-C hooked up */
270 };
271
272 &usb3phy {
273         status = "okay";
274
275         vdda-phy-supply = <&vreg_l1a_0p875>;
276         vdda-pll-supply = <&vreg_l2a_1p2>;
277 };