• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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};
278