xref: /linux/arch/arm64/boot/dts/qcom/shikra-iqs-som.dtsi (revision cbe8aadf1551f3f4a853f24b3b96d9f0eea49c53)
1// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
4 */
5
6#include <dt-bindings/gpio/gpio.h>
7#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
8
9#include "shikra.dtsi"
10#include "pm8150.dtsi"
11
12/ {
13	aliases {
14		serial1 = &uart8;
15	};
16
17	gpio-key {
18		compatible = "gpio-keys";
19		label = "gpio-keys";
20		pinctrl-names = "default";
21		pinctrl-0 = <&vol_up_n>;
22
23		key-volume-up {
24			label = "Volume Up";
25			gpios = <&pm8150_gpios 6 GPIO_ACTIVE_LOW>;
26			linux,input-type = <1>;
27			linux,code = <KEY_VOLUMEUP>;
28			wakeup-source;
29			debounce-interval = <15>;
30			linux,can-disable;
31		};
32	};
33
34	vreg_wcn_3p3: regulator-wcn-3p3 {
35		compatible = "regulator-fixed";
36		regulator-name = "wcn_3p3";
37		regulator-min-microvolt = <3300000>;
38		regulator-max-microvolt = <3300000>;
39		regulator-always-on;
40	};
41
42	wcn3988-pmu {
43		compatible = "qcom,wcn3988-pmu";
44
45		pinctrl-0 = <&sw_ctrl_default>;
46		pinctrl-names = "default";
47
48		swctrl-gpios = <&tlmm 88 GPIO_ACTIVE_HIGH>;
49
50		vddio-supply = <&pm8150_s4>;
51		vddxo-supply = <&pm8150_l12>;
52		vddrf-supply = <&pm8150_l8>;
53		vddch0-supply = <&vreg_wcn_3p3>;
54
55		regulators {
56			vreg_pmu_io: ldo0 {
57				regulator-name = "vreg_pmu_io";
58			};
59
60			vreg_pmu_xo: ldo1 {
61				regulator-name = "vreg_pmu_xo";
62			};
63
64			vreg_pmu_rf: ldo2 {
65				regulator-name = "vreg_pmu_rf";
66			};
67
68			vreg_pmu_ch0: ldo3 {
69				regulator-name = "vreg_pmu_ch0";
70			};
71
72			vreg_pmu_ch1: ldo4 {
73				regulator-name = "vreg_pmu_ch1";
74			};
75		};
76	};
77};
78
79&pm8150_gpios {
80	vol_up_n: vol-up-n-state {
81		pins = "gpio6";
82		function = PMIC_GPIO_FUNC_NORMAL;
83		input-enable;
84		bias-pull-up;
85		power-source = <0>;
86	};
87
88};
89
90&pon_pwrkey {
91	status = "okay";
92};
93
94&pon_resin {
95	linux,code = <KEY_VOLUMEDOWN>;
96	status = "okay";
97};
98
99&rpm_requests {
100	regulators {
101		compatible = "qcom,rpm-pm8150-regulators";
102
103		pm8150_s4: s4 {
104			regulator-min-microvolt = <1080000>;
105			regulator-max-microvolt = <2040000>;
106		};
107
108		pm8150_s5: s5 {
109			regulator-min-microvolt = <1574000>;
110			regulator-max-microvolt = <2040000>;
111		};
112
113		pm8150_s6: s6 {
114			regulator-min-microvolt = <382000>;
115			regulator-max-microvolt = <1352000>;
116		};
117
118		pm8150_s7: s7 {
119			regulator-min-microvolt = <1000000>;
120			regulator-max-microvolt = <1200000>;
121		};
122
123		pm8150_s8: s8 {
124			regulator-min-microvolt = <570000>;
125			regulator-max-microvolt = <650000>;
126		};
127
128		pm8150_l1: l1 {
129			regulator-min-microvolt = <312000>;
130			regulator-max-microvolt = <1304000>;
131		};
132
133		pm8150_l2: l2 {
134			regulator-min-microvolt = <1650000>;
135			regulator-max-microvolt = <3300000>;
136		};
137
138		pm8150_l3: l3 {
139			regulator-min-microvolt = <312000>;
140			regulator-max-microvolt = <1304000>;
141		};
142
143		pm8150_l4: l4 {
144			regulator-min-microvolt = <875000>;
145			regulator-max-microvolt = <975000>;
146		};
147
148		pm8150_l5: l5 {
149			regulator-min-microvolt = <788000>;
150			regulator-max-microvolt = <1050000>;
151		};
152
153		pm8150_l6: l6 {
154			regulator-min-microvolt = <875000>;
155			regulator-max-microvolt = <1000000>;
156		};
157
158		pm8150_l7: l7 {
159			regulator-min-microvolt = <1504000>;
160			regulator-max-microvolt = <2000000>;
161		};
162
163		pm8150_l8: l8 {
164			regulator-min-microvolt = <1150000>;
165			regulator-max-microvolt = <1304000>;
166		};
167
168		pm8150_l9: l9 {
169			regulator-min-microvolt = <875000>;
170			regulator-max-microvolt = <1000000>;
171		};
172
173		pm8150_l10: l10 {
174			regulator-min-microvolt = <2700000>;
175			regulator-max-microvolt = <3544000>;
176		};
177
178		pm8150_l11: l11 {
179			regulator-min-microvolt = <1100000>;
180			regulator-max-microvolt = <1304000>;
181		};
182
183		pm8150_l12: l12 {
184			regulator-min-microvolt = <1650000>;
185			regulator-max-microvolt = <1950000>;
186		};
187
188		pm8150_l13: l13 {
189			regulator-min-microvolt = <2921000>;
190			regulator-max-microvolt = <3230000>;
191		};
192
193		pm8150_l14: l14 {
194			regulator-min-microvolt = <1700000>;
195			regulator-max-microvolt = <1910000>;
196		};
197
198		pm8150_l15: l15 {
199			regulator-min-microvolt = <1800000>;
200			regulator-max-microvolt = <1900000>;
201		};
202
203		pm8150_l16: l16 {
204			regulator-min-microvolt = <1504000>;
205			regulator-max-microvolt = <3544000>;
206		};
207
208		pm8150_l17: l17 {
209			regulator-min-microvolt = <2700000>;
210			regulator-max-microvolt = <3544000>;
211		};
212
213		pm8150_l18: l18 {
214			regulator-min-microvolt = <400000>;
215			regulator-max-microvolt = <728000>;
216		};
217	};
218};
219
220&tlmm {
221	 gpio-reserved-ranges = <6 4>, /* Fingerprint SPI */
222			       <14 4>, /* eSE SPI */
223			       <30 2>, /* NFC SPI */
224			       <138 1>, /* NFC Secure IO */
225			       <155 11>; /* eMMC Boot */
226
227	sw_ctrl_default: sw-ctrl-default-state {
228		pins = "gpio88";
229		function = "gpio";
230		bias-pull-down;
231	};
232};
233
234&uart8 {
235	status = "okay";
236
237	bluetooth {
238		compatible = "qcom,wcn3988-bt";
239		max-speed = <3200000>;
240
241		vddio-supply = <&vreg_pmu_io>;
242		vddxo-supply = <&vreg_pmu_xo>;
243		vddrf-supply = <&vreg_pmu_rf>;
244		vddch0-supply = <&vreg_pmu_ch0>;
245	};
246};
247
248&wifi {
249	vdd-0.8-cx-mx-supply = <&pm8150_s4>;
250	vdd-1.8-xo-supply = <&vreg_pmu_xo>;
251	vdd-1.3-rfa-supply = <&vreg_pmu_rf>;
252	vdd-3.3-ch0-supply = <&vreg_pmu_ch0>;
253
254	qcom,calibration-variant = "Shikra_EVK";
255	firmware-name = "shikra";
256
257	status = "okay";
258};
259