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