hc
2025-02-14 bbb9540dc49f70f6b703d1c8d1b85fa5f602d86e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
// SPDX-License-Identifier: GPL-2.0
#include "qcom-msm8974pro.dtsi"
#include "qcom-pma8084.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
 
/ {
   model = "Samsung Galaxy S5";
   compatible = "samsung,klte", "qcom,msm8974";
 
   aliases {
       serial0 = &blsp1_uart1;
   };
 
   chosen {
       stdout-path = "serial0:115200n8";
   };
 
   smd {
       rpm {
           rpm_requests {
               pma8084-regulators {
                   compatible = "qcom,rpm-pma8084-regulators";
                   status = "okay";
 
                   pma8084_s1: s1 {
                       regulator-min-microvolt = <675000>;
                       regulator-max-microvolt = <1050000>;
                   };
 
                   pma8084_s2: s2 {
                       regulator-min-microvolt = <500000>;
                       regulator-max-microvolt = <1050000>;
                   };
 
                   pma8084_s3: s3 {
                       regulator-min-microvolt = <1300000>;
                       regulator-max-microvolt = <1300000>;
                   };
 
                   pma8084_s4: s4 {
                       regulator-min-microvolt = <1800000>;
                       regulator-max-microvolt = <1800000>;
                   };
 
                   pma8084_s5: s5 {
                       regulator-min-microvolt = <2150000>;
                       regulator-max-microvolt = <2150000>;
                   };
 
                   pma8084_s6: s6 {
                       regulator-min-microvolt = <1050000>;
                       regulator-max-microvolt = <1050000>;
                   };
 
                   pma8084_l1: l1 {
                       regulator-min-microvolt = <1225000>;
                       regulator-max-microvolt = <1225000>;
                   };
 
                   pma8084_l2: l2 {
                       regulator-min-microvolt = <1200000>;
                       regulator-max-microvolt = <1200000>;
                   };
 
                   pma8084_l3: l3 {
                       regulator-min-microvolt = <1050000>;
                       regulator-max-microvolt = <1200000>;
                   };
 
                   pma8084_l4: l4 {
                       regulator-min-microvolt = <1200000>;
                       regulator-max-microvolt = <1225000>;
                   };
 
                   pma8084_l5: l5 {
                       regulator-min-microvolt = <1800000>;
                       regulator-max-microvolt = <1800000>;
                   };
 
                   pma8084_l6: l6 {
                       regulator-min-microvolt = <1800000>;
                       regulator-max-microvolt = <1800000>;
                   };
 
                   pma8084_l7: l7 {
                       regulator-min-microvolt = <1800000>;
                       regulator-max-microvolt = <1800000>;
                   };
 
                   pma8084_l8: l8 {
                       regulator-min-microvolt = <1800000>;
                       regulator-max-microvolt = <1800000>;
                   };
 
                   pma8084_l9: l9 {
                       regulator-min-microvolt = <1800000>;
                       regulator-max-microvolt = <2950000>;
                   };
 
                   pma8084_l10: l10 {
                       regulator-min-microvolt = <1800000>;
                       regulator-max-microvolt = <2950000>;
                   };
 
                   pma8084_l11: l11 {
                       regulator-min-microvolt = <1300000>;
                       regulator-max-microvolt = <1300000>;
                   };
 
                   pma8084_l12: l12 {
                       regulator-min-microvolt = <1800000>;
                       regulator-max-microvolt = <1800000>;
                   };
 
                   pma8084_l13: l13 {
                       regulator-min-microvolt = <1800000>;
                       regulator-max-microvolt = <2950000>;
                   };
 
                   pma8084_l14: l14 {
                       regulator-min-microvolt = <1800000>;
                       regulator-max-microvolt = <1800000>;
                   };
 
                   pma8084_l15: l15 {
                       regulator-min-microvolt = <2050000>;
                       regulator-max-microvolt = <2050000>;
                   };
 
                   pma8084_l16: l16 {
                       regulator-min-microvolt = <2700000>;
                       regulator-max-microvolt = <2700000>;
                   };
 
                   pma8084_l17: l17 {
                       regulator-min-microvolt = <2850000>;
                       regulator-max-microvolt = <2850000>;
                   };
 
                   pma8084_l18: l18 {
                       regulator-min-microvolt = <2850000>;
                       regulator-max-microvolt = <2850000>;
                   };
 
                   pma8084_l19: l19 {
                       regulator-min-microvolt = <2900000>;
                       regulator-max-microvolt = <3300000>;
                   };
 
                   pma8084_l20: l20 {
                       regulator-min-microvolt = <2950000>;
                       regulator-max-microvolt = <2950000>;
 
                       regulator-allow-set-load;
                       regulator-system-load = <200000>;
                   };
 
                   pma8084_l21: l21 {
                       regulator-min-microvolt = <2950000>;
                       regulator-max-microvolt = <2950000>;
                   };
 
                   pma8084_l22: l22 {
                       regulator-min-microvolt = <3000000>;
                       regulator-max-microvolt = <3300000>;
                   };
 
                   pma8084_l23: l23 {
                       regulator-min-microvolt = <3000000>;
                       regulator-max-microvolt = <3000000>;
                   };
 
                   pma8084_l24: l24 {
                       regulator-min-microvolt = <3075000>;
                       regulator-max-microvolt = <3075000>;
                   };
 
                   pma8084_l25: l25 {
                       regulator-min-microvolt = <2100000>;
                       regulator-max-microvolt = <2100000>;
                   };
 
                   pma8084_l26: l26 {
                       regulator-min-microvolt = <1800000>;
                       regulator-max-microvolt = <2050000>;
                   };
 
                   pma8084_l27: l27 {
                       regulator-min-microvolt = <1000000>;
                       regulator-max-microvolt = <1225000>;
                   };
 
                   pma8084_lvs1: lvs1 {};
                   pma8084_lvs2: lvs2 {};
                   pma8084_lvs3: lvs3 {};
                   pma8084_lvs4: lvs4 {};
 
                   pma8084_5vs1: 5vs1 {};
               };
           };
       };
   };
 
   /delete-node/ vreg-boost;
};
 
&soc {
   serial@f991e000 {
       status = "ok";
   };
 
   gpio-keys {
       compatible = "gpio-keys";
       input-name = "gpio-keys";
 
       pinctrl-names = "default";
       pinctrl-0 = <&gpio_keys_pin_a>;
 
       volume-down {
           label = "volume_down";
           gpios = <&pma8084_gpios 2 GPIO_ACTIVE_LOW>;
           linux,input-type = <1>;
           linux,code = <KEY_VOLUMEDOWN>;
           debounce-interval = <15>;
       };
 
       home-key {
           label = "home_key";
           gpios = <&pma8084_gpios 3 GPIO_ACTIVE_LOW>;
           linux,input-type = <1>;
           linux,code = <KEY_HOMEPAGE>;
           wakeup-source;
           debounce-interval = <15>;
       };
 
       volume-up {
           label = "volume_up";
           gpios = <&pma8084_gpios 5 GPIO_ACTIVE_LOW>;
           linux,input-type = <1>;
           linux,code = <KEY_VOLUMEUP>;
           debounce-interval = <15>;
       };
   };
 
   pinctrl@fd510000 {
       sdhc1_pin_a: sdhc1-pin-active {
           clk {
               pins = "sdc1_clk";
               drive-strength = <4>;
               bias-disable;
           };
 
           cmd-data {
               pins = "sdc1_cmd", "sdc1_data";
               drive-strength = <4>;
               bias-pull-up;
           };
       };
   };
 
   sdhci@f9824900 {
       status = "ok";
 
       vmmc-supply = <&pma8084_l20>;
       vqmmc-supply = <&pma8084_s4>;
 
       bus-width = <8>;
       non-removable;
 
       pinctrl-names = "default";
       pinctrl-0 = <&sdhc1_pin_a>;
   };
 
   usb@f9a55000 {
       status = "ok";
 
       phys = <&usb_hs1_phy>;
       phy-select = <&tcsr 0xb000 0>;
       /*extcon = <&smbb>, <&usb_id>;*/
       /*vbus-supply = <&chg_otg>;*/
 
       hnp-disable;
       srp-disable;
       adp-disable;
 
       ulpi {
           phy@a {
               status = "ok";
 
               v1p8-supply = <&pma8084_l6>;
               v3p3-supply = <&pma8084_l24>;
 
               /*extcon = <&smbb>;*/
               qcom,init-seq = /bits/ 8 <0x1 0x64>;
           };
       };
   };
 
   pinctrl@fd510000 {
       i2c6_pins: i2c6 {
           mux {
               pins = "gpio29", "gpio30";
               function = "blsp_i2c6";
 
               drive-strength = <2>;
               bias-disable;
           };
       };
   };
 
   i2c@f9928000 {
       status = "okay";
 
       pinctrl-names = "default";
       pinctrl-0 = <&i2c6_pins>;
 
       pmic@60 {
           reg = <0x60>;
           compatible = "maxim,max77826";
 
           regulators {
               max77826_ldo1: LDO1 {
                   regulator-min-microvolt = <1200000>;
                   regulator-max-microvolt = <1200000>;
               };
 
               max77826_ldo2: LDO2 {
                   regulator-min-microvolt = <1000000>;
                   regulator-max-microvolt = <1000000>;
               };
 
               max77826_ldo3: LDO3 {
                   regulator-min-microvolt = <1200000>;
                   regulator-max-microvolt = <1200000>;
               };
 
               max77826_ldo4: LDO4 {
                   regulator-min-microvolt = <1800000>;
                   regulator-max-microvolt = <1800000>;
               };
 
               max77826_ldo5: LDO5 {
                   regulator-min-microvolt = <1800000>;
                   regulator-max-microvolt = <1800000>;
               };
 
               max77826_ldo6: LDO6 {
                   regulator-min-microvolt = <1800000>;
                   regulator-max-microvolt = <3300000>;
               };
 
               max77826_ldo7: LDO7 {
                   regulator-min-microvolt = <1800000>;
                   regulator-max-microvolt = <1800000>;
               };
 
               max77826_ldo8: LDO8 {
                   regulator-min-microvolt = <1800000>;
                   regulator-max-microvolt = <3300000>;
               };
 
               max77826_ldo9: LDO9 {
                   regulator-min-microvolt = <1800000>;
                   regulator-max-microvolt = <1800000>;
               };
 
               max77826_ldo10: LDO10 {
                   regulator-min-microvolt = <2800000>;
                   regulator-max-microvolt = <2950000>;
               };
 
               max77826_ldo11: LDO11 {
                   regulator-min-microvolt = <2700000>;
                   regulator-max-microvolt = <2950000>;
               };
 
               max77826_ldo12: LDO12 {
                   regulator-min-microvolt = <2500000>;
                   regulator-max-microvolt = <3300000>;
               };
 
               max77826_ldo13: LDO13 {
                   regulator-min-microvolt = <3300000>;
                   regulator-max-microvolt = <3300000>;
               };
 
               max77826_ldo14: LDO14 {
                   regulator-min-microvolt = <3300000>;
                   regulator-max-microvolt = <3300000>;
               };
 
               max77826_ldo15: LDO15 {
                   regulator-min-microvolt = <1800000>;
                   regulator-max-microvolt = <1800000>;
               };
 
               max77826_buck: BUCK {
                   regulator-min-microvolt = <1225000>;
                   regulator-max-microvolt = <1225000>;
               };
 
               max77826_buckboost: BUCKBOOST {
                   regulator-min-microvolt = <3400000>;
                   regulator-max-microvolt = <3400000>;
               };
           };
       };
   };
};
 
&spmi_bus {
   pma8084@0 {
       gpios@c000 {
           gpio_keys_pin_a: gpio-keys-active {
               pins = "gpio2", "gpio3", "gpio5";
               function = "normal";
 
               bias-pull-up;
               power-source = <PMA8084_GPIO_S4>;
           };
       };
   };
};