Commit | Line | Data |
---|---|---|
5a992a9c TF |
1 | /* |
2 | * Samsung's Exynos3250 SoCs pin-mux and pin-config device tree source | |
3 | * | |
4 | * Copyright (c) 2014 Samsung Electronics Co., Ltd. | |
5 | * http://www.samsung.com | |
6 | * | |
7 | * Samsung's Exynos3250 SoCs pin-mux and pin-config optiosn are listed as device | |
8 | * tree nodes are listed in this file. | |
9 | * | |
10 | * This program is free software; you can redistribute it and/or modify | |
11 | * it under the terms of the GNU General Public License version 2 as | |
12 | * published by the Free Software Foundation. | |
13 | */ | |
14 | ||
18073d6e CC |
15 | #define PIN_PULL_NONE 0 |
16 | #define PIN_PULL_DOWN 1 | |
17 | #define PIN_PULL_UP 3 | |
18 | ||
40bbd191 CC |
19 | #define PIN_DRV_LV1 0 |
20 | #define PIN_DRV_LV2 2 | |
21 | #define PIN_DRV_LV3 1 | |
22 | #define PIN_DRV_LV4 3 | |
23 | ||
18073d6e CC |
24 | #define PIN_PDN_OUT0 0 |
25 | #define PIN_PDN_OUT1 1 | |
26 | #define PIN_PDN_INPUT 2 | |
27 | #define PIN_PDN_PREV 3 | |
28 | ||
40bbd191 CC |
29 | #define PIN_IN(_pin, _pull, _drv) \ |
30 | _pin { \ | |
31 | samsung,pins = #_pin; \ | |
32 | samsung,pin-function = <0>; \ | |
33 | samsung,pin-pud = <PIN_PULL_ ##_pull>; \ | |
34 | samsung,pin-drv = <PIN_DRV_ ##_drv>; \ | |
35 | } | |
36 | ||
37 | #define PIN_OUT(_pin, _drv) \ | |
38 | _pin { \ | |
39 | samsung,pins = #_pin; \ | |
40 | samsung,pin-function = <1>; \ | |
41 | samsung,pin-pud = <0>; \ | |
42 | samsung,pin-drv = <PIN_DRV_ ##_drv>; \ | |
43 | } | |
44 | ||
45 | #define PIN_OUT_SET(_pin, _val, _drv) \ | |
46 | _pin { \ | |
47 | samsung,pins = #_pin; \ | |
48 | samsung,pin-function = <1>; \ | |
49 | samsung,pin-pud = <0>; \ | |
50 | samsung,pin-drv = <PIN_DRV_ ##_drv>; \ | |
51 | samsung,pin-val = <_val>; \ | |
52 | } | |
53 | ||
54 | #define PIN_CFG(_pin, _sel, _pull, _drv) \ | |
55 | _pin { \ | |
56 | samsung,pins = #_pin; \ | |
57 | samsung,pin-function = <_sel>; \ | |
58 | samsung,pin-pud = <PIN_PULL_ ##_pull>; \ | |
59 | samsung,pin-drv = <PIN_DRV_ ##_drv>; \ | |
60 | } | |
61 | ||
18073d6e CC |
62 | #define PIN_SLP(_pin, _mode, _pull) \ |
63 | _pin { \ | |
64 | samsung,pins = #_pin; \ | |
65 | samsung,pin-con-pdn = <PIN_PDN_ ##_mode>; \ | |
66 | samsung,pin-pud-pdn = <PIN_PULL_ ##_pull>; \ | |
67 | } | |
68 | ||
5a992a9c TF |
69 | &pinctrl_0 { |
70 | gpa0: gpa0 { | |
71 | gpio-controller; | |
72 | #gpio-cells = <2>; | |
73 | ||
74 | interrupt-controller; | |
75 | #interrupt-cells = <2>; | |
76 | }; | |
77 | ||
78 | gpa1: gpa1 { | |
79 | gpio-controller; | |
80 | #gpio-cells = <2>; | |
81 | ||
82 | interrupt-controller; | |
83 | #interrupt-cells = <2>; | |
84 | }; | |
85 | ||
86 | gpb: gpb { | |
87 | gpio-controller; | |
88 | #gpio-cells = <2>; | |
89 | ||
90 | interrupt-controller; | |
91 | #interrupt-cells = <2>; | |
92 | }; | |
93 | ||
94 | gpc0: gpc0 { | |
95 | gpio-controller; | |
96 | #gpio-cells = <2>; | |
97 | ||
98 | interrupt-controller; | |
99 | #interrupt-cells = <2>; | |
100 | }; | |
101 | ||
102 | gpc1: gpc1 { | |
103 | gpio-controller; | |
104 | #gpio-cells = <2>; | |
105 | ||
106 | interrupt-controller; | |
107 | #interrupt-cells = <2>; | |
108 | }; | |
109 | ||
110 | gpd0: gpd0 { | |
111 | gpio-controller; | |
112 | #gpio-cells = <2>; | |
113 | ||
114 | interrupt-controller; | |
115 | #interrupt-cells = <2>; | |
116 | }; | |
117 | ||
118 | gpd1: gpd1 { | |
119 | gpio-controller; | |
120 | #gpio-cells = <2>; | |
121 | ||
122 | interrupt-controller; | |
123 | #interrupt-cells = <2>; | |
124 | }; | |
125 | ||
126 | uart0_data: uart0-data { | |
127 | samsung,pins = "gpa0-0", "gpa0-1"; | |
128 | samsung,pin-function = <0x2>; | |
129 | samsung,pin-pud = <0>; | |
130 | samsung,pin-drv = <0>; | |
131 | }; | |
132 | ||
133 | uart0_fctl: uart0-fctl { | |
134 | samsung,pins = "gpa0-2", "gpa0-3"; | |
135 | samsung,pin-function = <2>; | |
136 | samsung,pin-pud = <0>; | |
137 | samsung,pin-drv = <0>; | |
138 | }; | |
139 | ||
140 | uart1_data: uart1-data { | |
141 | samsung,pins = "gpa0-4", "gpa0-5"; | |
142 | samsung,pin-function = <2>; | |
143 | samsung,pin-pud = <0>; | |
144 | samsung,pin-drv = <0>; | |
145 | }; | |
146 | ||
147 | uart1_fctl: uart1-fctl { | |
148 | samsung,pins = "gpa0-6", "gpa0-7"; | |
149 | samsung,pin-function = <2>; | |
150 | samsung,pin-pud = <0>; | |
151 | samsung,pin-drv = <0>; | |
152 | }; | |
153 | ||
154 | i2c2_bus: i2c2-bus { | |
155 | samsung,pins = "gpa0-6", "gpa0-7"; | |
156 | samsung,pin-function = <3>; | |
157 | samsung,pin-pud = <3>; | |
158 | samsung,pin-drv = <0>; | |
159 | }; | |
160 | ||
ecaba514 PD |
161 | uart2_data: uart2-data { |
162 | samsung,pins = "gpa1-0", "gpa1-1"; | |
163 | samsung,pin-function = <2>; | |
164 | samsung,pin-pud = <0>; | |
165 | samsung,pin-drv = <0>; | |
166 | }; | |
167 | ||
5a992a9c TF |
168 | i2c3_bus: i2c3-bus { |
169 | samsung,pins = "gpa1-2", "gpa1-3"; | |
170 | samsung,pin-function = <3>; | |
171 | samsung,pin-pud = <3>; | |
172 | samsung,pin-drv = <0>; | |
173 | }; | |
174 | ||
175 | spi0_bus: spi0-bus { | |
176 | samsung,pins = "gpb-0", "gpb-2", "gpb-3"; | |
177 | samsung,pin-function = <2>; | |
178 | samsung,pin-pud = <3>; | |
179 | samsung,pin-drv = <0>; | |
180 | }; | |
181 | ||
182 | i2c4_bus: i2c4-bus { | |
183 | samsung,pins = "gpb-0", "gpb-1"; | |
184 | samsung,pin-function = <3>; | |
185 | samsung,pin-pud = <3>; | |
186 | samsung,pin-drv = <0>; | |
187 | }; | |
188 | ||
189 | spi1_bus: spi1-bus { | |
190 | samsung,pins = "gpb-4", "gpb-6", "gpb-7"; | |
191 | samsung,pin-function = <2>; | |
192 | samsung,pin-pud = <3>; | |
193 | samsung,pin-drv = <0>; | |
194 | }; | |
195 | ||
196 | i2c5_bus: i2c5-bus { | |
197 | samsung,pins = "gpb-2", "gpb-3"; | |
198 | samsung,pin-function = <3>; | |
199 | samsung,pin-pud = <3>; | |
200 | samsung,pin-drv = <0>; | |
201 | }; | |
202 | ||
203 | i2s2_bus: i2s2-bus { | |
204 | samsung,pins = "gpc1-0", "gpc1-1", "gpc1-2", "gpc1-3", | |
205 | "gpc1-4"; | |
206 | samsung,pin-function = <2>; | |
207 | samsung,pin-pud = <0>; | |
208 | samsung,pin-drv = <0>; | |
209 | }; | |
210 | ||
211 | pcm2_bus: pcm2-bus { | |
212 | samsung,pins = "gpc1-0", "gpc1-1", "gpc1-2", "gpc1-3", | |
213 | "gpc1-4"; | |
214 | samsung,pin-function = <3>; | |
215 | samsung,pin-pud = <0>; | |
216 | samsung,pin-drv = <0>; | |
217 | }; | |
218 | ||
219 | i2c6_bus: i2c6-bus { | |
220 | samsung,pins = "gpc1-3", "gpc1-4"; | |
221 | samsung,pin-function = <4>; | |
222 | samsung,pin-pud = <3>; | |
223 | samsung,pin-drv = <0>; | |
224 | }; | |
225 | ||
226 | pwm0_out: pwm0-out { | |
227 | samsung,pins = "gpd0-0"; | |
228 | samsung,pin-function = <2>; | |
229 | samsung,pin-pud = <0>; | |
230 | samsung,pin-drv = <0>; | |
231 | }; | |
232 | ||
233 | pwm1_out: pwm1-out { | |
234 | samsung,pins = "gpd0-1"; | |
235 | samsung,pin-function = <2>; | |
236 | samsung,pin-pud = <0>; | |
237 | samsung,pin-drv = <0>; | |
238 | }; | |
239 | ||
240 | i2c7_bus: i2c7-bus { | |
241 | samsung,pins = "gpd0-2", "gpd0-3"; | |
242 | samsung,pin-function = <3>; | |
243 | samsung,pin-pud = <3>; | |
244 | samsung,pin-drv = <0>; | |
245 | }; | |
246 | ||
247 | pwm2_out: pwm2-out { | |
248 | samsung,pins = "gpd0-2"; | |
249 | samsung,pin-function = <2>; | |
250 | samsung,pin-pud = <0>; | |
251 | samsung,pin-drv = <0>; | |
252 | }; | |
253 | ||
254 | pwm3_out: pwm3-out { | |
255 | samsung,pins = "gpd0-3"; | |
256 | samsung,pin-function = <2>; | |
257 | samsung,pin-pud = <0>; | |
258 | samsung,pin-drv = <0>; | |
259 | }; | |
260 | ||
261 | i2c0_bus: i2c0-bus { | |
262 | samsung,pins = "gpd1-0", "gpd1-1"; | |
263 | samsung,pin-function = <2>; | |
264 | samsung,pin-pud = <3>; | |
265 | samsung,pin-drv = <0>; | |
266 | }; | |
267 | ||
268 | mipi0_clk: mipi0-clk { | |
269 | samsung,pins = "gpd1-0", "gpd1-1"; | |
270 | samsung,pin-function = <3>; | |
271 | samsung,pin-pud = <0>; | |
272 | samsung,pin-drv = <0>; | |
273 | }; | |
274 | ||
275 | i2c1_bus: i2c1-bus { | |
276 | samsung,pins = "gpd1-2", "gpd1-3"; | |
277 | samsung,pin-function = <2>; | |
278 | samsung,pin-pud = <3>; | |
279 | samsung,pin-drv = <0>; | |
280 | }; | |
281 | }; | |
282 | ||
283 | &pinctrl_1 { | |
284 | gpe0: gpe0 { | |
285 | gpio-controller; | |
286 | #gpio-cells = <2>; | |
287 | }; | |
288 | ||
289 | gpe1: gpe1 { | |
290 | gpio-controller; | |
291 | #gpio-cells = <2>; | |
292 | }; | |
293 | ||
294 | gpe2: gpe2 { | |
295 | gpio-controller; | |
296 | #gpio-cells = <2>; | |
297 | }; | |
298 | ||
299 | gpk0: gpk0 { | |
300 | gpio-controller; | |
301 | #gpio-cells = <2>; | |
302 | ||
303 | interrupt-controller; | |
304 | #interrupt-cells = <2>; | |
305 | }; | |
306 | ||
307 | gpk1: gpk1 { | |
308 | gpio-controller; | |
309 | #gpio-cells = <2>; | |
310 | ||
311 | interrupt-controller; | |
312 | #interrupt-cells = <2>; | |
313 | }; | |
314 | ||
315 | gpk2: gpk2 { | |
316 | gpio-controller; | |
317 | #gpio-cells = <2>; | |
318 | ||
319 | interrupt-controller; | |
320 | #interrupt-cells = <2>; | |
321 | }; | |
322 | ||
323 | gpl0: gpl0 { | |
324 | gpio-controller; | |
325 | #gpio-cells = <2>; | |
326 | ||
327 | interrupt-controller; | |
328 | #interrupt-cells = <2>; | |
329 | }; | |
330 | ||
331 | gpm0: gpm0 { | |
332 | gpio-controller; | |
333 | #gpio-cells = <2>; | |
334 | ||
335 | interrupt-controller; | |
336 | #interrupt-cells = <2>; | |
337 | }; | |
338 | ||
339 | gpm1: gpm1 { | |
340 | gpio-controller; | |
341 | #gpio-cells = <2>; | |
342 | ||
343 | interrupt-controller; | |
344 | #interrupt-cells = <2>; | |
345 | }; | |
346 | ||
347 | gpm2: gpm2 { | |
348 | gpio-controller; | |
349 | #gpio-cells = <2>; | |
350 | ||
351 | interrupt-controller; | |
352 | #interrupt-cells = <2>; | |
353 | }; | |
354 | ||
355 | gpm3: gpm3 { | |
356 | gpio-controller; | |
357 | #gpio-cells = <2>; | |
358 | ||
359 | interrupt-controller; | |
360 | #interrupt-cells = <2>; | |
361 | }; | |
362 | ||
363 | gpm4: gpm4 { | |
364 | gpio-controller; | |
365 | #gpio-cells = <2>; | |
366 | ||
367 | interrupt-controller; | |
368 | #interrupt-cells = <2>; | |
369 | }; | |
370 | ||
371 | gpx0: gpx0 { | |
372 | gpio-controller; | |
373 | #gpio-cells = <2>; | |
374 | ||
375 | interrupt-controller; | |
376 | interrupt-parent = <&gic>; | |
377 | interrupts = <0 32 0>, <0 33 0>, <0 34 0>, <0 35 0>, | |
378 | <0 36 0>, <0 37 0>, <0 38 0>, <0 39 0>; | |
379 | #interrupt-cells = <2>; | |
380 | }; | |
381 | ||
382 | gpx1: gpx1 { | |
383 | gpio-controller; | |
384 | #gpio-cells = <2>; | |
385 | ||
386 | interrupt-controller; | |
387 | interrupt-parent = <&gic>; | |
388 | interrupts = <0 40 0>, <0 41 0>, <0 42 0>, <0 43 0>, | |
389 | <0 44 0>, <0 45 0>, <0 46 0>, <0 47 0>; | |
390 | #interrupt-cells = <2>; | |
391 | }; | |
392 | ||
393 | gpx2: gpx2 { | |
394 | gpio-controller; | |
395 | #gpio-cells = <2>; | |
396 | ||
397 | interrupt-controller; | |
398 | #interrupt-cells = <2>; | |
399 | }; | |
400 | ||
401 | gpx3: gpx3 { | |
402 | gpio-controller; | |
403 | #gpio-cells = <2>; | |
404 | ||
405 | interrupt-controller; | |
406 | #interrupt-cells = <2>; | |
407 | }; | |
408 | ||
409 | sd0_clk: sd0-clk { | |
410 | samsung,pins = "gpk0-0"; | |
411 | samsung,pin-function = <2>; | |
412 | samsung,pin-pud = <0>; | |
413 | samsung,pin-drv = <3>; | |
414 | }; | |
415 | ||
416 | sd0_cmd: sd0-cmd { | |
417 | samsung,pins = "gpk0-1"; | |
418 | samsung,pin-function = <2>; | |
419 | samsung,pin-pud = <0>; | |
420 | samsung,pin-drv = <3>; | |
421 | }; | |
422 | ||
423 | sd0_cd: sd0-cd { | |
424 | samsung,pins = "gpk0-2"; | |
425 | samsung,pin-function = <2>; | |
426 | samsung,pin-pud = <3>; | |
427 | samsung,pin-drv = <3>; | |
428 | }; | |
429 | ||
430 | sd0_rdqs: sd0-rdqs { | |
431 | samsung,pins = "gpk0-7"; | |
432 | samsung,pin-function = <2>; | |
433 | samsung,pin-pud = <0>; | |
434 | samsung,pin-drv = <3>; | |
435 | }; | |
436 | ||
437 | sd0_bus1: sd0-bus-width1 { | |
438 | samsung,pins = "gpk0-3"; | |
439 | samsung,pin-function = <2>; | |
440 | samsung,pin-pud = <3>; | |
441 | samsung,pin-drv = <3>; | |
442 | }; | |
443 | ||
444 | sd0_bus4: sd0-bus-width4 { | |
445 | samsung,pins = "gpk0-4", "gpk0-5", "gpk0-6"; | |
446 | samsung,pin-function = <2>; | |
447 | samsung,pin-pud = <3>; | |
448 | samsung,pin-drv = <3>; | |
449 | }; | |
450 | ||
451 | sd0_bus8: sd0-bus-width8 { | |
452 | samsung,pins = "gpl0-0", "gpl0-1", "gpl0-2", "gpl0-3"; | |
453 | samsung,pin-function = <2>; | |
454 | samsung,pin-pud = <3>; | |
455 | samsung,pin-drv = <3>; | |
456 | }; | |
457 | ||
458 | sd1_clk: sd1-clk { | |
459 | samsung,pins = "gpk1-0"; | |
460 | samsung,pin-function = <2>; | |
461 | samsung,pin-pud = <0>; | |
462 | samsung,pin-drv = <3>; | |
463 | }; | |
464 | ||
465 | sd1_cmd: sd1-cmd { | |
466 | samsung,pins = "gpk1-1"; | |
467 | samsung,pin-function = <2>; | |
468 | samsung,pin-pud = <0>; | |
469 | samsung,pin-drv = <3>; | |
470 | }; | |
471 | ||
472 | sd1_cd: sd1-cd { | |
473 | samsung,pins = "gpk1-2"; | |
474 | samsung,pin-function = <2>; | |
475 | samsung,pin-pud = <3>; | |
476 | samsung,pin-drv = <3>; | |
477 | }; | |
478 | ||
479 | sd1_bus1: sd1-bus-width1 { | |
480 | samsung,pins = "gpk1-3"; | |
481 | samsung,pin-function = <2>; | |
482 | samsung,pin-pud = <3>; | |
483 | samsung,pin-drv = <3>; | |
484 | }; | |
485 | ||
486 | sd1_bus4: sd1-bus-width4 { | |
487 | samsung,pins = "gpk1-4", "gpk1-5", "gpk1-6"; | |
488 | samsung,pin-function = <2>; | |
489 | samsung,pin-pud = <3>; | |
490 | samsung,pin-drv = <3>; | |
491 | }; | |
492 | ||
92173e6a CC |
493 | sd2_clk: sd2-clk { |
494 | samsung,pins = "gpk2-0"; | |
495 | samsung,pin-function = <2>; | |
496 | samsung,pin-pud = <0>; | |
497 | samsung,pin-drv = <3>; | |
498 | }; | |
499 | ||
500 | sd2_cmd: sd2-cmd { | |
501 | samsung,pins = "gpk2-1"; | |
502 | samsung,pin-function = <2>; | |
503 | samsung,pin-pud = <0>; | |
504 | samsung,pin-drv = <3>; | |
505 | }; | |
506 | ||
507 | sd2_cd: sd2-cd { | |
508 | samsung,pins = "gpk2-2"; | |
509 | samsung,pin-function = <2>; | |
510 | samsung,pin-pud = <3>; | |
511 | samsung,pin-drv = <3>; | |
512 | }; | |
513 | ||
514 | sd2_bus1: sd2-bus-width1 { | |
515 | samsung,pins = "gpk2-3"; | |
516 | samsung,pin-function = <2>; | |
517 | samsung,pin-pud = <3>; | |
518 | samsung,pin-drv = <3>; | |
519 | }; | |
520 | ||
521 | sd2_bus4: sd2-bus-width4 { | |
522 | samsung,pins = "gpk2-4", "gpk2-5", "gpk2-6"; | |
523 | samsung,pin-function = <2>; | |
524 | samsung,pin-pud = <3>; | |
525 | samsung,pin-drv = <3>; | |
526 | }; | |
527 | ||
5a992a9c TF |
528 | cam_port_b_io: cam-port-b-io { |
529 | samsung,pins = "gpm0-0", "gpm0-1", "gpm0-2", "gpm0-3", | |
530 | "gpm0-4", "gpm0-5", "gpm0-6", "gpm0-7", | |
531 | "gpm1-0", "gpm1-1", "gpm2-0", "gpm2-1"; | |
532 | samsung,pin-function = <3>; | |
533 | samsung,pin-pud = <3>; | |
534 | samsung,pin-drv = <0>; | |
535 | }; | |
536 | ||
537 | cam_port_b_clk_active: cam-port-b-clk-active { | |
538 | samsung,pins = "gpm2-2"; | |
539 | samsung,pin-function = <3>; | |
540 | samsung,pin-pud = <0>; | |
541 | samsung,pin-drv = <3>; | |
542 | }; | |
543 | ||
544 | cam_port_b_clk_idle: cam-port-b-clk-idle { | |
545 | samsung,pins = "gpm2-2"; | |
546 | samsung,pin-function = <0>; | |
547 | samsung,pin-pud = <0>; | |
548 | samsung,pin-drv = <0>; | |
549 | }; | |
550 | ||
551 | fimc_is_i2c0: fimc-is-i2c0 { | |
552 | samsung,pins = "gpm4-0", "gpm4-1"; | |
553 | samsung,pin-function = <2>; | |
554 | samsung,pin-pud = <0>; | |
555 | samsung,pin-drv = <0>; | |
556 | }; | |
557 | ||
558 | fimc_is_i2c1: fimc-is-i2c1 { | |
559 | samsung,pins = "gpm4-2", "gpm4-3"; | |
560 | samsung,pin-function = <2>; | |
561 | samsung,pin-pud = <0>; | |
562 | samsung,pin-drv = <0>; | |
563 | }; | |
564 | ||
565 | fimc_is_uart: fimc-is-uart { | |
566 | samsung,pins = "gpm3-5", "gpm3-7"; | |
567 | samsung,pin-function = <3>; | |
568 | samsung,pin-pud = <0>; | |
569 | samsung,pin-drv = <0>; | |
570 | }; | |
571 | }; |