1// SPDX-License-Identifier: GPL-2.0
2#include "qcom-msm8974.dtsi"
3#include "qcom-pm8841.dtsi"
4#include "qcom-pm8941.dtsi"
5#include <dt-bindings/gpio/gpio.h>
6#include <dt-bindings/input/input.h>
7#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
8
9/ {
10	model = "LGE MSM 8974 HAMMERHEAD";
11	compatible = "lge,hammerhead", "qcom,msm8974";
12
13	aliases {
14		serial0 = &blsp1_uart1;
15	};
16
17	chosen {
18		stdout-path = "serial0:115200n8";
19	};
20
21	smd {
22		rpm {
23			rpm_requests {
24				pm8841-regulators {
25					s1 {
26						regulator-min-microvolt = <675000>;
27						regulator-max-microvolt = <1050000>;
28					};
29
30					s2 {
31						regulator-min-microvolt = <500000>;
32						regulator-max-microvolt = <1050000>;
33					};
34
35					s3 {
36						regulator-min-microvolt = <1050000>;
37						regulator-max-microvolt = <1050000>;
38					};
39
40					s4 {
41						regulator-min-microvolt = <815000>;
42						regulator-max-microvolt = <900000>;
43					};
44				};
45
46				pm8941-regulators {
47					vdd_l1_l3-supply = <&pm8941_s1>;
48					vdd_l2_lvs1_2_3-supply = <&pm8941_s3>;
49					vdd_l4_l11-supply = <&pm8941_s1>;
50					vdd_l5_l7-supply = <&pm8941_s2>;
51					vdd_l6_l12_l14_l15-supply = <&pm8941_s2>;
52					vdd_l8_l16_l18_l19-supply = <&vreg_vph_pwr>;
53					vdd_l9_l10_l17_l22-supply = <&vreg_boost>;
54					vdd_l13_l20_l23_l24-supply = <&vreg_boost>;
55					vdd_l21-supply = <&vreg_boost>;
56
57					s1 {
58						regulator-min-microvolt = <1300000>;
59						regulator-max-microvolt = <1300000>;
60
61						regulator-always-on;
62						regulator-boot-on;
63					};
64
65					s2 {
66						regulator-min-microvolt = <2150000>;
67						regulator-max-microvolt = <2150000>;
68
69						regulator-boot-on;
70					};
71
72					s3 {
73						regulator-min-microvolt = <1800000>;
74						regulator-max-microvolt = <1800000>;
75
76						regulator-always-on;
77						regulator-boot-on;
78					};
79
80					l1 {
81						regulator-min-microvolt = <1225000>;
82						regulator-max-microvolt = <1225000>;
83
84						regulator-always-on;
85						regulator-boot-on;
86					};
87
88					l2 {
89						regulator-min-microvolt = <1200000>;
90						regulator-max-microvolt = <1200000>;
91					};
92
93					l3 {
94						regulator-min-microvolt = <1225000>;
95						regulator-max-microvolt = <1225000>;
96					};
97
98					l4 {
99						regulator-min-microvolt = <1225000>;
100						regulator-max-microvolt = <1225000>;
101					};
102
103					l5 {
104						regulator-min-microvolt = <1800000>;
105						regulator-max-microvolt = <1800000>;
106					};
107
108					l6 {
109						regulator-min-microvolt = <1800000>;
110						regulator-max-microvolt = <1800000>;
111
112						regulator-boot-on;
113					};
114
115					l7 {
116						regulator-min-microvolt = <1800000>;
117						regulator-max-microvolt = <1800000>;
118
119						regulator-boot-on;
120					};
121
122					l8 {
123						regulator-min-microvolt = <1800000>;
124						regulator-max-microvolt = <1800000>;
125					};
126
127					l9 {
128						regulator-min-microvolt = <1800000>;
129						regulator-max-microvolt = <2950000>;
130					};
131
132					l10 {
133						regulator-min-microvolt = <1800000>;
134						regulator-max-microvolt = <2950000>;
135					};
136
137					l11 {
138						regulator-min-microvolt = <1300000>;
139						regulator-max-microvolt = <1300000>;
140					};
141
142					l12 {
143						regulator-min-microvolt = <1800000>;
144						regulator-max-microvolt = <1800000>;
145
146						regulator-always-on;
147						regulator-boot-on;
148					};
149
150					l13 {
151						regulator-min-microvolt = <1800000>;
152						regulator-max-microvolt = <2950000>;
153
154						regulator-boot-on;
155					};
156
157					l14 {
158						regulator-min-microvolt = <1800000>;
159						regulator-max-microvolt = <1800000>;
160					};
161
162					l15 {
163						regulator-min-microvolt = <2050000>;
164						regulator-max-microvolt = <2050000>;
165					};
166
167					l16 {
168						regulator-min-microvolt = <2700000>;
169						regulator-max-microvolt = <2700000>;
170					};
171
172					l17 {
173						regulator-min-microvolt = <2850000>;
174						regulator-max-microvolt = <2850000>;
175					};
176
177					l18 {
178						regulator-min-microvolt = <2850000>;
179						regulator-max-microvolt = <2850000>;
180					};
181
182					l19 {
183						regulator-min-microvolt = <3000000>;
184						regulator-max-microvolt = <3300000>;
185					};
186
187					l20 {
188						regulator-min-microvolt = <2950000>;
189						regulator-max-microvolt = <2950000>;
190
191						regulator-boot-on;
192						regulator-system-load = <200000>;
193						regulator-allow-set-load;
194					};
195
196					l21 {
197						regulator-min-microvolt = <2950000>;
198						regulator-max-microvolt = <2950000>;
199
200						regulator-boot-on;
201					};
202
203					l22 {
204						regulator-min-microvolt = <3000000>;
205						regulator-max-microvolt = <3300000>;
206					};
207
208					l23 {
209						regulator-min-microvolt = <3000000>;
210						regulator-max-microvolt = <3000000>;
211					};
212
213					l24 {
214						regulator-min-microvolt = <3075000>;
215						regulator-max-microvolt = <3075000>;
216
217						regulator-boot-on;
218					};
219				};
220			};
221		};
222	};
223};
224
225&soc {
226	serial@f991d000 {
227		status = "ok";
228	};
229
230	pinctrl@fd510000 {
231		sdhc1_pin_a: sdhc1-pin-active {
232			clk {
233				pins = "sdc1_clk";
234				drive-strength = <16>;
235				bias-disable;
236			};
237
238			cmd-data {
239				pins = "sdc1_cmd", "sdc1_data";
240				drive-strength = <10>;
241				bias-pull-up;
242			};
243		};
244	};
245
246	sdhci@f9824900 {
247		status = "ok";
248
249		vmmc-supply = <&pm8941_l20>;
250		vqmmc-supply = <&pm8941_s3>;
251
252		bus-width = <8>;
253		non-removable;
254
255		pinctrl-names = "default";
256		pinctrl-0 = <&sdhc1_pin_a>;
257	};
258
259	gpio-keys {
260		compatible = "gpio-keys";
261		input-name = "gpio-keys";
262
263		pinctrl-names = "default";
264		pinctrl-0 = <&gpio_keys_pin_a>;
265
266		volume-up {
267			label = "volume_up";
268			gpios = <&pm8941_gpios 2 GPIO_ACTIVE_LOW>;
269			linux,input-type = <1>;
270			linux,code = <KEY_VOLUMEUP>;
271		};
272
273		volume-down {
274			label = "volume_down";
275			gpios = <&pm8941_gpios 3 GPIO_ACTIVE_LOW>;
276			linux,input-type = <1>;
277			linux,code = <KEY_VOLUMEDOWN>;
278		};
279	};
280};
281
282&spmi_bus {
283	pm8941@0 {
284		gpios@c000 {
285			gpio_keys_pin_a: gpio-keys-active {
286				pins = "gpio2", "gpio3";
287				function = "normal";
288
289				bias-pull-up;
290				power-source = <PM8941_GPIO_S3>;
291			};
292		};
293	};
294};
295