hc
2024-12-19 9370bb92b2d16684ee45cf24e879c93c509162da
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
// SPDX-License-Identifier: GPL-2.0-or-later
/*
 * Copyright 2014 Linaro Ltd.
 */
 
#include "ste-ab8500.dtsi"
 
/ {
   soc {
       prcmu@80157000 {
           ab8500 {
               ab8500-gpiocontroller {
                   /* Hog a few default settings */
                   pinctrl-names = "default";
                   pinctrl-0 = <&gpio2_default_mode>,
                           <&gpio4_default_mode>,
                           <&gpio10_default_mode>,
                           <&gpio11_default_mode>,
                           <&gpio12_default_mode>,
                           <&gpio13_default_mode>,
                           <&gpio16_default_mode>,
                           <&gpio24_default_mode>,
                           <&gpio25_default_mode>,
                           <&gpio36_default_mode>,
                           <&gpio37_default_mode>,
                           <&gpio38_default_mode>,
                           <&gpio39_default_mode>,
                           <&gpio42_default_mode>,
                           <&gpio26_default_mode>,
                           <&gpio35_default_mode>,
                           <&ycbcr_default_mode>,
                           <&pwm_default_mode>,
                           <&adi1_default_mode>,
                           <&usbuicc_default_mode>,
                           <&dmic_default_mode>,
                           <&extcpena_default_mode>,
                           <&modsclsda_default_mode>;
 
                   /*
                    * Pins 2, 4, 10, 11, 12, 13, 16, 24, 25, 36, 37, 38, 39 and 42
                    * are muxed in as GPIO, and configured as INPUT PULL DOWN
                    */
                   gpio2 {
                       gpio2_default_mode: gpio2_default {
                           default_mux {
                               function = "gpio";
                               groups = "gpio2_a_1";
                           };
                           default_cfg {
                               pins = "GPIO2_T9";
                               input-enable;
                               bias-pull-down;
                           };
                       };
                   };
                   gpio4 {
                       gpio4_default_mode: gpio4_default {
                           default_mux {
                               function = "gpio";
                               groups = "gpio4_a_1";
                           };
                           default_cfg {
                               pins = "GPIO4_W2";
                               input-enable;
                               bias-pull-down;
                           };
                       };
                   };
                   gpio10 {
                       gpio10_default_mode: gpio10_default {
                           default_mux {
                               function = "gpio";
                               groups = "gpio10_d_1";
                           };
                           default_cfg {
                               pins = "GPIO10_U17";
                               input-enable;
                               bias-pull-down;
                           };
                       };
                   };
                   gpio11 {
                       gpio11_default_mode: gpio11_default {
                           default_mux {
                               function = "gpio";
                               groups = "gpio11_d_1";
                           };
                           default_cfg {
                               pins = "GPIO11_AA18";
                               input-enable;
                               bias-pull-down;
                           };
                       };
                   };
                   gpio12 {
                       gpio12_default_mode: gpio12_default {
                           default_mux {
                               function = "gpio";
                               groups = "gpio12_d_1";
                           };
                           default_cfg {
                               pins = "GPIO12_U16";
                               input-enable;
                               bias-pull-down;
                           };
                       };
                   };
                   gpio13 {
                       gpio13_default_mode: gpio13_default {
                           default_mux {
                               function = "gpio";
                               groups = "gpio13_d_1";
                           };
                           default_cfg {
                               pins = "GPIO13_W17";
                               input-enable;
                               bias-pull-down;
                           };
                       };
                   };
                   gpio16 {
                       gpio16_default_mode: gpio16_default {
                           default_mux {
                               function = "gpio";
                               groups = "gpio16_a_1";
                           };
                           default_cfg {
                               pins = "GPIO16_F15";
                               input-enable;
                               bias-pull-down;
                           };
                       };
                   };
                   gpio24 {
                       gpio24_default_mode: gpio24_default {
                           default_mux {
                               function = "gpio";
                               groups = "gpio24_a_1";
                           };
                           default_cfg {
                               pins = "GPIO24_T14";
                               input-enable;
                               bias-pull-down;
                           };
                       };
                   };
                   gpio25 {
                       gpio25_default_mode: gpio25_default {
                           default_mux {
                               function = "gpio";
                               groups = "gpio25_a_1";
                           };
                           default_cfg {
                               pins = "GPIO25_R16";
                               input-enable;
                               bias-pull-down;
                           };
                       };
                   };
                   gpio36 {
                       gpio36_default_mode: gpio36_default {
                           default_mux {
                               function = "gpio";
                               groups = "gpio36_a_1";
                           };
                           default_cfg {
                               pins = "GPIO36_A17";
                               input-enable;
                               bias-pull-down;
                           };
                       };
                   };
                   gpio37 {
                       gpio37_default_mode: gpio37_default {
                           default_mux {
                               function = "gpio";
                               groups = "gpio37_a_1";
                           };
                           default_cfg {
                               pins = "GPIO37_E15";
                               input-enable;
                               bias-pull-down;
                           };
                       };
                   };
                   gpio38 {
                       gpio38_default_mode: gpio38_default {
                           default_mux {
                               function = "gpio";
                               groups = "gpio38_a_1";
                           };
                           default_cfg {
                               pins = "GPIO38_C17";
                               input-enable;
                               bias-pull-down;
                           };
                       };
                   };
                   gpio39 {
                       gpio39_default_mode: gpio39_default {
                           default_mux {
                               function = "gpio";
                               groups = "gpio39_a_1";
                           };
                           default_cfg {
                               pins = "GPIO39_E16";
                               input-enable;
                               bias-pull-down;
                           };
                       };
                   };
                   gpio42 {
                       gpio42_default_mode: gpio42_default {
                           default_mux {
                               function = "gpio";
                               groups = "gpio42_a_1";
                           };
                           default_cfg {
                               pins = "GPIO42_U2";
                               input-enable;
                               bias-pull-down;
                           };
                       };
                   };
                   /*
                    * Pins 26 and 35 muxed in as GPIO, and configured as OUTPUT LOW
                    */
                   gpio26 {
                       gpio26_default_mode: gpio26_default {
                           default_mux {
                               function = "gpio";
                               groups = "gpio26_d_1";
                           };
                           default_cfg {
                               pins = "GPIO26_M16";
                               output-low;
                           };
                       };
                   };
                   gpio35 {
                       gpio35_default_mode: gpio35_default {
                           default_mux {
                               function = "gpio";
                               groups = "gpio35_d_1";
                           };
                           default_cfg {
                               pins = "GPIO35_W15";
                               output-low;
                           };
                       };
                   };
                   /*
                    * This sets up the YCBCR connector pins, i.e. analog video out.
                    * Set as input with no bias.
                    */
                   ycbcr {
                       ycbcr_default_mode: ycbcr_default {
                           default_mux {
                               function = "ycbcr";
                               groups = "ycbcr0123_d_1";
                           };
                           default_cfg {
                               pins = "GPIO6_Y18",
                                    "GPIO7_AA20",
                                    "GPIO8_W18",
                                    "GPIO9_AA19";
                               input-enable;
                               bias-disable;
                           };
                       };
                   };
                   /* This sets up the PWM pins 14 and 15 */
                   pwm {
                       pwm_default_mode: pwm_default {
                           default_mux {
                               function = "pwmout";
                               groups = "pwmout1_d_1", "pwmout2_d_1";
                           };
                           default_cfg {
                               pins = "GPIO14_F14",
                                    "GPIO15_B17";
                               input-enable;
                               bias-pull-down;
                           };
                       };
                   };
                   /* This sets up audio interface 1 */
                   adi1 {
                       adi1_default_mode: adi1_default {
                           default_mux {
                               function = "adi1";
                               groups = "adi1_d_1";
                           };
                           default_cfg {
                               pins = "GPIO17_P5",
                                    "GPIO18_R5",
                                    "GPIO19_U5",
                                    "GPIO20_T5";
                               input-enable;
                               bias-pull-down;
                           };
                       };
                   };
                   /* This sets up the USB UICC pins */
                   usbuicc {
                       usbuicc_default_mode: usbuicc_default {
                           default_mux {
                               function = "usbuicc";
                               groups = "usbuicc_d_1";
                           };
                           default_cfg {
                               pins = "GPIO21_H19",
                                    "GPIO22_G20",
                                    "GPIO23_G19";
                               input-enable;
                               bias-pull-down;
                           };
                       };
                   };
                   /* This sets up the microphone pins */
                   dmic {
                       dmic_default_mode: dmic_default {
                           default_mux {
                               function = "dmic";
                               groups = "dmic12_d_1",
                                    "dmic34_d_1",
                                    "dmic56_d_1";
                           };
                           default_cfg {
                               pins = "GPIO27_J6",
                                    "GPIO28_K6",
                                    "GPIO29_G6",
                                    "GPIO30_H6",
                                    "GPIO31_F5",
                                    "GPIO32_G5";
                               input-enable;
                               bias-pull-down;
                           };
                       };
                   };
                   extcpena {
                       extcpena_default_mode: extcpena_default {
                           default_mux {
                               function = "extcpena";
                               groups = "extcpena_d_1";
                           };
                           default_cfg {
                               pins = "GPIO34_R17";
                               input-enable;
                               bias-pull-down;
                           };
                       };
                   };
                   /* Modem I2C setup (SCL and SDA pins) */
                   modsclsda {
                       modsclsda_default_mode: modsclsda_default {
                           default_mux {
                               function = "modsclsda";
                               groups = "modsclsda_d_1";
                           };
                           default_cfg {
                               pins = "GPIO40_T19",
                                   "GPIO41_U19";
                               input-enable;
                               bias-pull-down;
                           };
                       };
                   };
                   /*
                    * Clock output pins associated with regulators.
                    */
                   sysclkreq2 {
                       sysclkreq2_default_mode: sysclkreq2_default {
                           default_mux {
                               function = "sysclkreq";
                               groups = "sysclkreq2_d_1";
                           };
                           default_cfg {
                               pins = "GPIO1_T10";
                               input-enable;
                               bias-disable;
                           };
                       };
                       sysclkreq2_sleep_mode: sysclkreq2_sleep {
                           default_mux {
                               function = "gpio";
                               groups = "gpio1_a_1";
                           };
                           default_cfg {
                               pins = "GPIO1_T10";
                               input-enable;
                               bias-pull-down;
                           };
                       };
                   };
                   sysclkreq4 {
                       sysclkreq4_default_mode: sysclkreq4_default {
                           default_mux {
                               function = "sysclkreq";
                               groups = "sysclkreq4_d_1";
                           };
                           default_cfg {
                               pins = "GPIO3_U9";
                               input-enable;
                               bias-disable;
                           };
                       };
                       sysclkreq4_sleep_mode: sysclkreq4_sleep {
                           default_mux {
                               function = "gpio";
                               groups = "gpio3_a_1";
                           };
                           default_cfg {
                               pins = "GPIO3_U9";
                               input-enable;
                               bias-pull-down;
                           };
                       };
                   };
               };
           };
       };
   };
};