aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Abraham <thomas.abraham@linaro.org>2013-04-04 01:16:11 -0400
committerKukjin Kim <kgene.kim@samsung.com>2013-04-08 12:15:26 -0400
commitf8bfe2b050f3ce266427486a052d010c53241ce4 (patch)
tree68427716e0571de49f6ba3c13c6dd9eee64ad2a7
parent045c8f635a3fb0323d05822c0958ab6513924205 (diff)
ARM: dts: add pin state information in client nodes for Exynos5 platforms
Add default pin state information for all client nodes that require pin configuration support using pinctrl interface. Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org> Acked-by: Linus Walleij <linus.walleij@linaro.org> Tested-by: Doug Anderson <dianders@chromium.org> Reviewed-by: Doug Anderson <dianders@chromium.org> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
-rw-r--r--arch/arm/boot/dts/cros5250-common.dtsi51
-rw-r--r--arch/arm/boot/dts/exynos5250-pinctrl.dtsi783
-rw-r--r--arch/arm/boot/dts/exynos5250-smdk5250.dts33
-rw-r--r--arch/arm/boot/dts/exynos5250-snow.dts22
-rw-r--r--arch/arm/boot/dts/exynos5250.dtsi311
5 files changed, 889 insertions, 311 deletions
diff --git a/arch/arm/boot/dts/cros5250-common.dtsi b/arch/arm/boot/dts/cros5250-common.dtsi
index 62eceb4f0d3f..8a5b3a6cdc58 100644
--- a/arch/arm/boot/dts/cros5250-common.dtsi
+++ b/arch/arm/boot/dts/cros5250-common.dtsi
@@ -19,11 +19,19 @@
19 chosen { 19 chosen {
20 }; 20 };
21 21
22 pinctrl@11400000 {
23 /*
24 * Disabled pullups since external part has its own pullups and
25 * double-pulling gets us out of spec in some cases.
26 */
27 i2c2_bus: i2c2-bus {
28 samsung,pin-pud = <0>;
29 };
30 };
31
22 i2c@12C60000 { 32 i2c@12C60000 {
23 samsung,i2c-sda-delay = <100>; 33 samsung,i2c-sda-delay = <100>;
24 samsung,i2c-max-bus-freq = <378000>; 34 samsung,i2c-max-bus-freq = <378000>;
25 gpios = <&gpb3 0 2 3 0>,
26 <&gpb3 1 2 3 0>;
27 35
28 max77686@09 { 36 max77686@09 {
29 compatible = "maxim,max77686"; 37 compatible = "maxim,max77686";
@@ -167,21 +175,12 @@
167 i2c@12C70000 { 175 i2c@12C70000 {
168 samsung,i2c-sda-delay = <100>; 176 samsung,i2c-sda-delay = <100>;
169 samsung,i2c-max-bus-freq = <378000>; 177 samsung,i2c-max-bus-freq = <378000>;
170 gpios = <&gpb3 2 2 3 0>,
171 <&gpb3 3 2 3 0>;
172 }; 178 };
173 179
174 i2c@12C80000 { 180 i2c@12C80000 {
175 samsung,i2c-sda-delay = <100>; 181 samsung,i2c-sda-delay = <100>;
176 samsung,i2c-max-bus-freq = <66000>; 182 samsung,i2c-max-bus-freq = <66000>;
177 183
178 /*
179 * Disabled pullups since external part has its own pullups and
180 * double-pulling gets us out of spec in some cases.
181 */
182 gpios = <&gpa0 6 3 0 0>,
183 <&gpa0 7 3 0 0>;
184
185 hdmiddc@50 { 184 hdmiddc@50 {
186 compatible = "samsung,exynos5-hdmiddc"; 185 compatible = "samsung,exynos5-hdmiddc";
187 reg = <0x50>; 186 reg = <0x50>;
@@ -191,8 +190,6 @@
191 i2c@12C90000 { 190 i2c@12C90000 {
192 samsung,i2c-sda-delay = <100>; 191 samsung,i2c-sda-delay = <100>;
193 samsung,i2c-max-bus-freq = <66000>; 192 samsung,i2c-max-bus-freq = <66000>;
194 gpios = <&gpa1 2 3 3 0>,
195 <&gpa1 3 3 3 0>;
196 }; 193 };
197 194
198 i2c@12CA0000 { 195 i2c@12CA0000 {
@@ -202,8 +199,6 @@
202 i2c@12CB0000 { 199 i2c@12CB0000 {
203 samsung,i2c-sda-delay = <100>; 200 samsung,i2c-sda-delay = <100>;
204 samsung,i2c-max-bus-freq = <66000>; 201 samsung,i2c-max-bus-freq = <66000>;
205 gpios = <&gpa2 2 3 3 0>,
206 <&gpa2 3 3 3 0>;
207 }; 202 };
208 203
209 i2c@12CC0000 { 204 i2c@12CC0000 {
@@ -213,8 +208,6 @@
213 i2c@12CD0000 { 208 i2c@12CD0000 {
214 samsung,i2c-sda-delay = <100>; 209 samsung,i2c-sda-delay = <100>;
215 samsung,i2c-max-bus-freq = <66000>; 210 samsung,i2c-max-bus-freq = <66000>;
216 gpios = <&gpb2 2 3 3 0>,
217 <&gpb2 3 3 3 0>;
218 }; 211 };
219 212
220 i2c@12CE0000 { 213 i2c@12CE0000 {
@@ -236,15 +229,12 @@
236 samsung,dw-mshc-ciu-div = <3>; 229 samsung,dw-mshc-ciu-div = <3>;
237 samsung,dw-mshc-sdr-timing = <2 3>; 230 samsung,dw-mshc-sdr-timing = <2 3>;
238 samsung,dw-mshc-ddr-timing = <1 2>; 231 samsung,dw-mshc-ddr-timing = <1 2>;
232 pinctrl-names = "default";
233 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_cd &sd0_bus4 &sd0_bus8>;
239 234
240 slot@0 { 235 slot@0 {
241 reg = <0>; 236 reg = <0>;
242 bus-width = <8>; 237 bus-width = <8>;
243 gpios = <&gpc0 0 2 0 3>, <&gpc0 1 2 0 3>,
244 <&gpc1 0 2 3 3>, <&gpc1 1 2 3 3>,
245 <&gpc1 2 2 3 3>, <&gpc1 3 2 3 3>,
246 <&gpc0 3 2 3 3>, <&gpc0 4 2 3 3>,
247 <&gpc0 5 2 3 3>, <&gpc0 6 2 3 3>;
248 }; 238 };
249 }; 239 };
250 240
@@ -260,15 +250,13 @@
260 samsung,dw-mshc-ciu-div = <3>; 250 samsung,dw-mshc-ciu-div = <3>;
261 samsung,dw-mshc-sdr-timing = <2 3>; 251 samsung,dw-mshc-sdr-timing = <2 3>;
262 samsung,dw-mshc-ddr-timing = <1 2>; 252 samsung,dw-mshc-ddr-timing = <1 2>;
253 pinctrl-names = "default";
254 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
263 255
264 slot@0 { 256 slot@0 {
265 reg = <0>; 257 reg = <0>;
266 bus-width = <4>; 258 bus-width = <4>;
267 samsung,cd-pinmux-gpio = <&gpc3 2 2 3 3>; 259 wp-gpios = <&gpc2 1 0>;
268 wp-gpios = <&gpc2 1 0 0 3>;
269 gpios = <&gpc3 0 2 0 3>, <&gpc3 1 2 0 3>,
270 <&gpc3 3 2 3 3>, <&gpc3 4 2 3 3>,
271 <&gpc3 5 2 3 3>, <&gpc3 6 2 3 3>;
272 }; 260 };
273 }; 261 };
274 262
@@ -281,11 +269,11 @@
281 samsung,dw-mshc-ciu-div = <3>; 269 samsung,dw-mshc-ciu-div = <3>;
282 samsung,dw-mshc-sdr-timing = <2 3>; 270 samsung,dw-mshc-sdr-timing = <2 3>;
283 samsung,dw-mshc-ddr-timing = <1 2>; 271 samsung,dw-mshc-ddr-timing = <1 2>;
272 /* See board-specific dts files for pin setup */
284 273
285 slot@0 { 274 slot@0 {
286 reg = <0>; 275 reg = <0>;
287 bus-width = <4>; 276 bus-width = <4>;
288 /* See board-specific dts files for GPIOs */
289 }; 277 };
290 }; 278 };
291 279
@@ -294,9 +282,6 @@
294 }; 282 };
295 283
296 spi_1: spi@12d30000 { 284 spi_1: spi@12d30000 {
297 gpios = <&gpa2 4 2 3 0>,
298 <&gpa2 6 2 3 0>,
299 <&gpa2 7 2 3 0>;
300 samsung,spi-src-clk = <0>; 285 samsung,spi-src-clk = <0>;
301 num-cs = <1>; 286 num-cs = <1>;
302 }; 287 };
@@ -306,7 +291,7 @@
306 }; 291 };
307 292
308 hdmi { 293 hdmi {
309 hpd-gpio = <&gpx3 7 0xf 1 3>; 294 hpd-gpio = <&gpx3 7 0>;
310 }; 295 };
311 296
312 gpio-keys { 297 gpio-keys {
@@ -314,7 +299,7 @@
314 299
315 power { 300 power {
316 label = "Power"; 301 label = "Power";
317 gpios = <&gpx1 3 0 0x10000 0>; 302 gpios = <&gpx1 3 1>;
318 linux,code = <116>; /* KEY_POWER */ 303 linux,code = <116>; /* KEY_POWER */
319 gpio-key,wakeup; 304 gpio-key,wakeup;
320 }; 305 };
diff --git a/arch/arm/boot/dts/exynos5250-pinctrl.dtsi b/arch/arm/boot/dts/exynos5250-pinctrl.dtsi
new file mode 100644
index 000000000000..d1650fb34c0a
--- /dev/null
+++ b/arch/arm/boot/dts/exynos5250-pinctrl.dtsi
@@ -0,0 +1,783 @@
1/*
2 * Samsung's Exynos5250 SoC pin-mux and pin-config device tree source
3 *
4 * Copyright (c) 2012 Samsung Electronics Co., Ltd.
5 * http://www.samsung.com
6 *
7 * Samsung's Exynos5250 SoC 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/ {
16 pinctrl@11400000 {
17 gpa0: gpa0 {
18 gpio-controller;
19 #gpio-cells = <2>;
20
21 interrupt-controller;
22 #interrupt-cells = <2>;
23 };
24
25 gpa1: gpa1 {
26 gpio-controller;
27 #gpio-cells = <2>;
28
29 interrupt-controller;
30 #interrupt-cells = <2>;
31 };
32
33 gpa2: gpa2 {
34 gpio-controller;
35 #gpio-cells = <2>;
36
37 interrupt-controller;
38 #interrupt-cells = <2>;
39 };
40
41 gpb0: gpb0 {
42 gpio-controller;
43 #gpio-cells = <2>;
44
45 interrupt-controller;
46 #interrupt-cells = <2>;
47 };
48
49 gpb1: gpb1 {
50 gpio-controller;
51 #gpio-cells = <2>;
52
53 interrupt-controller;
54 #interrupt-cells = <2>;
55 };
56
57 gpb2: gpb2 {
58 gpio-controller;
59 #gpio-cells = <2>;
60
61 interrupt-controller;
62 #interrupt-cells = <2>;
63 };
64
65 gpb3: gpb3 {
66 gpio-controller;
67 #gpio-cells = <2>;
68
69 interrupt-controller;
70 #interrupt-cells = <2>;
71 };
72
73 gpc0: gpc0 {
74 gpio-controller;
75 #gpio-cells = <2>;
76
77 interrupt-controller;
78 #interrupt-cells = <2>;
79 };
80
81 gpc1: gpc1 {
82 gpio-controller;
83 #gpio-cells = <2>;
84
85 interrupt-controller;
86 #interrupt-cells = <2>;
87 };
88
89 gpc2: gpc2 {
90 gpio-controller;
91 #gpio-cells = <2>;
92
93 interrupt-controller;
94 #interrupt-cells = <2>;
95 };
96
97 gpc3: gpc3 {
98 gpio-controller;
99 #gpio-cells = <2>;
100
101 interrupt-controller;
102 #interrupt-cells = <2>;
103 };
104
105 gpd0: gpd0 {
106 gpio-controller;
107 #gpio-cells = <2>;
108
109 interrupt-controller;
110 #interrupt-cells = <2>;
111 };
112
113 gpd1: gpd1 {
114 gpio-controller;
115 #gpio-cells = <2>;
116
117 interrupt-controller;
118 #interrupt-cells = <2>;
119 };
120
121 gpy0: gpy0 {
122 gpio-controller;
123 #gpio-cells = <2>;
124 };
125
126 gpy1: gpy1 {
127 gpio-controller;
128 #gpio-cells = <2>;
129 };
130
131 gpy2: gpy2 {
132 gpio-controller;
133 #gpio-cells = <2>;
134 };
135
136 gpy3: gpy3 {
137 gpio-controller;
138 #gpio-cells = <2>;
139 };
140
141 gpy4: gpy4 {
142 gpio-controller;
143 #gpio-cells = <2>;
144 };
145
146 gpy5: gpy5 {
147 gpio-controller;
148 #gpio-cells = <2>;
149 };
150
151 gpy6: gpy6 {
152 gpio-controller;
153 #gpio-cells = <2>;
154 };
155
156 gpc4: gpc4 {
157 gpio-controller;
158 #gpio-cells = <2>;
159
160 interrupt-controller;
161 #interrupt-cells = <2>;
162 };
163
164 gpx0: gpx0 {
165 gpio-controller;
166 #gpio-cells = <2>;
167
168 interrupt-controller;
169 interrupt-parent = <&combiner>;
170 #interrupt-cells = <2>;
171 interrupts = <23 0>, <24 0>, <25 0>, <25 1>,
172 <26 0>, <26 1>, <27 0>, <27 1>;
173 };
174
175 gpx1: gpx1 {
176 gpio-controller;
177 #gpio-cells = <2>;
178
179 interrupt-controller;
180 interrupt-parent = <&combiner>;
181 #interrupt-cells = <2>;
182 interrupts = <28 0>, <28 1>, <29 0>, <29 1>,
183 <30 0>, <30 1>, <31 0>, <31 1>;
184 };
185
186 gpx2: gpx2 {
187 gpio-controller;
188 #gpio-cells = <2>;
189
190 interrupt-controller;
191 #interrupt-cells = <2>;
192 };
193
194 gpx3: gpx3 {
195 gpio-controller;
196 #gpio-cells = <2>;
197
198 interrupt-controller;
199 #interrupt-cells = <2>;
200 };
201
202 uart0_data: uart0-data {
203 samsung,pins = "gpa0-0", "gpa0-1";
204 samsung,pin-function = <2>;
205 samsung,pin-pud = <0>;
206 samsung,pin-drv = <0>;
207 };
208
209 uart0_fctl: uart0-fctl {
210 samsung,pins = "gpa0-2", "gpa0-3";
211 samsung,pin-function = <2>;
212 samsung,pin-pud = <0>;
213 samaung,pin-drv = <0>;
214 };
215
216 i2c2_bus: i2c2-bus {
217 samsung,pins = "gpa0-6", "gpa0-7";
218 samsung,pin-function = <3>;
219 samsung,pin-pud = <3>;
220 samaung,pin-drv = <0>;
221 };
222
223 i2c2_hs_bus: i2c2-hs-bus {
224 samsung,pins = "gpa0-6", "gpa0-7";
225 samsung,pin-function = <4>;
226 samsung,pin-pud = <3>;
227 samaung,pin-drv = <0>;
228 };
229
230 uart2_data: uart2-data {
231 samsung,pins = "gpa1-0", "gpa1-1";
232 samsung,pin-function = <2>;
233 samsung,pin-pud = <0>;
234 samsung,pin-drv = <0>;
235 };
236
237 uart2_fctl: uart2-fctl {
238 samsung,pins = "gpa1-2", "gpa1-3";
239 samsung,pin-function = <2>;
240 samsung,pin-pud = <0>;
241 samaung,pin-drv = <0>;
242 };
243
244 i2c3_bus: i2c3-bus {
245 samsung,pins = "gpa1-2", "gpa1-3";
246 samsung,pin-function = <3>;
247 samsung,pin-pud = <3>;
248 samaung,pin-drv = <0>;
249 };
250
251 i2c3_hs_bus: i2c3-hs-bus {
252 samsung,pins = "gpa1-2", "gpa1-3";
253 samsung,pin-function = <4>;
254 samsung,pin-pud = <3>;
255 samaung,pin-drv = <0>;
256 };
257
258 uart3_data: uart3-data {
259 samsung,pins = "gpa1-4", "gpa1-4";
260 samsung,pin-function = <2>;
261 samsung,pin-pud = <0>;
262 samsung,pin-drv = <0>;
263 };
264
265 spi0_bus: spi0-bus {
266 samsung,pins = "gpa2-0", "gpa2-2", "gpa2-3";
267 samsung,pin-function = <2>;
268 samsung,pin-pud = <3>;
269 samsung,pin-drv = <0>;
270 };
271
272 i2c4_bus: i2c4-bus {
273 samsung,pins = "gpa2-0", "gpa2-1";
274 samsung,pin-function = <3>;
275 samsung,pin-pud = <3>;
276 samaung,pin-drv = <0>;
277 };
278
279 i2c5_bus: i2c5-bus {
280 samsung,pins = "gpa2-2", "gpa2-3";
281 samsung,pin-function = <3>;
282 samsung,pin-pud = <3>;
283 samaung,pin-drv = <0>;
284 };
285
286 spi1_bus: spi1-bus {
287 samsung,pins = "gpa2-4", "gpa2-6", "gpa2-7";
288 samsung,pin-function = <2>;
289 samsung,pin-pud = <3>;
290 samsung,pin-drv = <0>;
291 };
292
293 i2s1_bus: i2s1-bus {
294 samsung,pins = "gpb0-0", "gpb0-1", "gpb0-2", "gpb0-3",
295 "gpb0-4";
296 samsung,pin-function = <2>;
297 samsung,pin-pud = <0>;
298 samsung,pin-drv = <0>;
299 };
300
301 pcm1_bus: pcm1-bus {
302 samsung,pins = "gpb0-0", "gpb0-1", "gpb0-2", "gpb0-3",
303 "gpb0-4";
304 samsung,pin-function = <3>;
305 samsung,pin-pud = <0>;
306 samsung,pin-drv = <0>;
307 };
308
309 ac97_bus: ac97-bus {
310 samsung,pins = "gpb0-0", "gpb0-1", "gpb0-2", "gpb0-3",
311 "gpb0-4";
312 samsung,pin-function = <4>;
313 samsung,pin-pud = <0>;
314 samsung,pin-drv = <0>;
315 };
316
317 i2s2_bus: i2s2-bus {
318 samsung,pins = "gpb1-0", "gpb1-1", "gpb1-2", "gpb1-3",
319 "gpb1-4";
320 samsung,pin-function = <2>;
321 samsung,pin-pud = <0>;
322 samsung,pin-drv = <0>;
323 };
324
325 pcm2_bus: pcm2-bus {
326 samsung,pins = "gpb1-0", "gpb1-1", "gpb1-2", "gpb1-3",
327 "gpb1-4";
328 samsung,pin-function = <3>;
329 samsung,pin-pud = <0>;
330 samsung,pin-drv = <0>;
331 };
332
333 spdif_bus: spdif-bus {
334 samsung,pins = "gpb1-0", "gpb1-1";
335 samsung,pin-function = <4>;
336 samsung,pin-pud = <0>;
337 samsung,pin-drv = <0>;
338 };
339
340 spi2_bus: spi2-bus {
341 samsung,pins = "gpb1-1", "gpb1-3", "gpb1-4";
342 samsung,pin-function = <5>;
343 samsung,pin-pud = <3>;
344 samsung,pin-drv = <0>;
345 };
346
347 i2c6_bus: i2c6-bus {
348 samsung,pins = "gpb1-3", "gpb1-4";
349 samsung,pin-function = <4>;
350 samsung,pin-pud = <3>;
351 samsung,pin-drv = <0>;
352 };
353
354 i2c7_bus: i2c7-bus {
355 samsung,pins = "gpb2-2", "gpb2-3";
356 samsung,pin-function = <3>;
357 samsung,pin-pud = <3>;
358 samsung,pin-drv = <0>;
359 };
360
361 i2c0_bus: i2c0-bus {
362 samsung,pins = "gpb3-0", "gpb3-1";
363 samsung,pin-function = <2>;
364 samsung,pin-pud = <3>;
365 samsung,pin-drv = <0>;
366 };
367
368 i2c1_bus: i2c1-bus {
369 samsung,pins = "gpb3-2", "gpb3-3";
370 samsung,pin-function = <2>;
371 samsung,pin-pud = <3>;
372 samsung,pin-drv = <0>;
373 };
374
375 i2c0_hs_bus: i2c0-hs-bus {
376 samsung,pins = "gpb3-0", "gpb3-1";
377 samsung,pin-function = <4>;
378 samsung,pin-pud = <3>;
379 samaung,pin-drv = <0>;
380 };
381
382 i2c1_hs_bus: i2c1-hs-bus {
383 samsung,pins = "gpb3-2", "gpb3-3";
384 samsung,pin-function = <4>;
385 samsung,pin-pud = <3>;
386 samaung,pin-drv = <0>;
387 };
388
389 sd0_clk: sd0-clk {
390 samsung,pins = "gpc0-0";
391 samsung,pin-function = <2>;
392 samsung,pin-pud = <0>;
393 samsung,pin-drv = <3>;
394 };
395
396 sd0_cmd: sd0-cmd {
397 samsung,pins = "gpc0-1";
398 samsung,pin-function = <2>;
399 samsung,pin-pud = <0>;
400 samsung,pin-drv = <3>;
401 };
402
403 sd0_cd: sd0-cd {
404 samsung,pins = "gpc0-2";
405 samsung,pin-function = <2>;
406 samsung,pin-pud = <3>;
407 samsung,pin-drv = <3>;
408 };
409
410 sd0_bus1: sd0-bus-width1 {
411 samsung,pins = "gpc0-3";
412 samsung,pin-function = <2>;
413 samsung,pin-pud = <3>;
414 samsung,pin-drv = <3>;
415 };
416
417 sd0_bus4: sd0-bus-width4 {
418 samsung,pins = "gpc0-3", "gpc0-4", "gpc0-5", "gpc0-6";
419 samsung,pin-function = <2>;
420 samsung,pin-pud = <3>;
421 samsung,pin-drv = <3>;
422 };
423
424 sd0_bus8: sd0-bus-width8 {
425 samsung,pins = "gpc1-0", "gpc1-1", "gpc1-2", "gpc1-3";
426 samsung,pin-function = <2>;
427 samsung,pin-pud = <3>;
428 samsung,pin-drv = <3>;
429 };
430
431 sd1_clk: sd1-clk {
432 samsung,pins = "gpc2-0";
433 samsung,pin-function = <2>;
434 samsung,pin-pud = <0>;
435 samsung,pin-drv = <3>;
436 };
437
438 sd1_cmd: sd1-cmd {
439 samsung,pins = "gpc2-1";
440 samsung,pin-function = <2>;
441 samsung,pin-pud = <0>;
442 samsung,pin-drv = <3>;
443 };
444
445 sd1_cd: sd1-cd {
446 samsung,pins = "gpc2-2";
447 samsung,pin-function = <2>;
448 samsung,pin-pud = <3>;
449 samsung,pin-drv = <3>;
450 };
451
452 sd1_bus1: sd1-bus-width1 {
453 samsung,pins = "gpc2-3";
454 samsung,pin-function = <2>;
455 samsung,pin-pud = <3>;
456 samsung,pin-drv = <3>;
457 };
458
459 sd1_bus4: sd1-bus-width4 {
460 samsung,pins = "gpc2-3", "gpc2-4", "gpc2-5", "gpc2-6";
461 samsung,pin-function = <2>;
462 samsung,pin-pud = <3>;
463 samsung,pin-drv = <3>;
464 };
465
466 sd2_clk: sd2-clk {
467 samsung,pins = "gpc3-0";
468 samsung,pin-function = <2>;
469 samsung,pin-pud = <0>;
470 samsung,pin-drv = <3>;
471 };
472
473 sd2_cmd: sd2-cmd {
474 samsung,pins = "gpc3-1";
475 samsung,pin-function = <2>;
476 samsung,pin-pud = <0>;
477 samsung,pin-drv = <3>;
478 };
479
480 sd2_cd: sd2-cd {
481 samsung,pins = "gpc3-2";
482 samsung,pin-function = <2>;
483 samsung,pin-pud = <3>;
484 samsung,pin-drv = <3>;
485 };
486
487 sd2_bus1: sd2-bus-width1 {
488 samsung,pins = "gpc3-3";
489 samsung,pin-function = <2>;
490 samsung,pin-pud = <3>;
491 samsung,pin-drv = <3>;
492 };
493
494 sd2_bus4: sd2-bus-width4 {
495 samsung,pins = "gpc3-3", "gpc3-4", "gpc3-5", "gpc3-6";
496 samsung,pin-function = <2>;
497 samsung,pin-pud = <3>;
498 samsung,pin-drv = <3>;
499 };
500
501 sd2_bus8: sd2-bus-width8 {
502 samsung,pins = "gpc4-3", "gpc4-4", "gpc4-5", "gpc4-6";
503 samsung,pin-function = <3>;
504 samsung,pin-pud = <3>;
505 samsung,pin-drv = <3>;
506 };
507
508 sd3_clk: sd3-clk {
509 samsung,pins = "gpc4-0";
510 samsung,pin-function = <2>;
511 samsung,pin-pud = <0>;
512 samsung,pin-drv = <3>;
513 };
514
515 sd3_cmd: sd3-cmd {
516 samsung,pins = "gpc4-1";
517 samsung,pin-function = <2>;
518 samsung,pin-pud = <0>;
519 samsung,pin-drv = <3>;
520 };
521
522 sd3_cd: sd3-cd {
523 samsung,pins = "gpc4-2";
524 samsung,pin-function = <2>;
525 samsung,pin-pud = <3>;
526 samsung,pin-drv = <3>;
527 };
528
529 sd3_bus1: sd3-bus-width1 {
530 samsung,pins = "gpc4-3";
531 samsung,pin-function = <2>;
532 samsung,pin-pud = <3>;
533 samsung,pin-drv = <3>;
534 };
535
536 sd3_bus4: sd3-bus-width4 {
537 samsung,pins = "gpc4-3", "gpc4-4", "gpc4-5", "gpc4-6";
538 samsung,pin-function = <2>;
539 samsung,pin-pud = <3>;
540 samsung,pin-drv = <3>;
541 };
542
543 uart1_data: uart1-data {
544 samsung,pins = "gpd0-0", "gpd0-1";
545 samsung,pin-function = <2>;
546 samsung,pin-pud = <0>;
547 samsung,pin-drv = <0>;
548 };
549
550 uart1_fctl: uart1-fctl {
551 samsung,pins = "gpd0-2", "gpd0-3";
552 samsung,pin-function = <2>;
553 samsung,pin-pud = <0>;
554 samaung,pin-drv = <0>;
555 };
556 };
557
558 pinctrl@13400000 {
559 gpe0: gpe0 {
560 gpio-controller;
561 #gpio-cells = <2>;
562
563 interrupt-controller;
564 #interrupt-cells = <2>;
565 };
566
567 gpe1: gpe1 {
568 gpio-controller;
569 #gpio-cells = <2>;
570
571 interrupt-controller;
572 #interrupt-cells = <2>;
573 };
574
575 gpf0: gpf0 {
576 gpio-controller;
577 #gpio-cells = <2>;
578
579 interrupt-controller;
580 #interrupt-cells = <2>;
581 };
582
583 gpf1: gpf1 {
584 gpio-controller;
585 #gpio-cells = <2>;
586
587 interrupt-controller;
588 #interrupt-cells = <2>;
589 };
590
591 gpg0: gpg0 {
592 gpio-controller;
593 #gpio-cells = <2>;
594
595 interrupt-controller;
596 #interrupt-cells = <2>;
597 };
598
599 gpg1: gpg1 {
600 gpio-controller;
601 #gpio-cells = <2>;
602
603 interrupt-controller;
604 #interrupt-cells = <2>;
605 };
606
607 gpg2: gpg2 {
608 gpio-controller;
609 #gpio-cells = <2>;
610
611 interrupt-controller;
612 #interrupt-cells = <2>;
613 };
614
615 gph0: gph0 {
616 gpio-controller;
617 #gpio-cells = <2>;
618
619 interrupt-controller;
620 #interrupt-cells = <2>;
621 };
622
623 gph1: gph1 {
624 gpio-controller;
625 #gpio-cells = <2>;
626
627 interrupt-controller;
628 #interrupt-cells = <2>;
629 };
630
631 cam_gpio_a: cam-gpio-a {
632 samsung,pins = "gpe0-0", "gpe0-1", "gpe0-2", "gpe0-3",
633 "gpe0-4", "gpe0-5", "gpe0-6", "gpe0-7",
634 "gpe1-0", "gpe1-1";
635 samsung,pin-function = <2>;
636 samsung,pin-pud = <0>;
637 samsung,pin-drv = <0>;
638 };
639
640 cam_gpio_b: cam-gpio-b {
641 samsung,pins = "gpf0-0", "gpf0-1", "gpf0-2", "gpf0-3",
642 "gpf1-0", "gpf1-1", "gpf1-2", "gpf1-3";
643 samsung,pin-function = <3>;
644 samsung,pin-pud = <0>;
645 samaung,pin-drv = <0>;
646 };
647
648 cam_i2c2_bus: cam-i2c2-bus {
649 samsung,pins = "gpe0-6", "gpe1-0";
650 samsung,pin-function = <4>;
651 samsung,pin-pud = <3>;
652 samaung,pin-drv = <0>;
653 };
654
655 cam_spi1_bus: cam-spi1-bus {
656 samsung,pins = "gpe0-4", "gpe0-5", "gpf0-2", "gpf0-3";
657 samsung,pin-function = <4>;
658 samsung,pin-pud = <0>;
659 samaung,pin-drv = <0>;
660 };
661
662 cam_i2c1_bus: cam-i2c1-bus {
663 samsung,pins = "gpf0-2", "gpf0-3";
664 samsung,pin-function = <2>;
665 samsung,pin-pud = <3>;
666 samaung,pin-drv = <0>;
667 };
668
669 cam_i2c0_bus: cam-i2c0-bus {
670 samsung,pins = "gpf0-0", "gpf0-1";
671 samsung,pin-function = <2>;
672 samsung,pin-pud = <3>;
673 samaung,pin-drv = <0>;
674 };
675
676 cam_spi0_bus: cam-spi0-bus {
677 samsung,pins = "gpf1-0", "gpf1-1", "gpf1-2", "gpf1-3";
678 samsung,pin-function = <2>;
679 samsung,pin-pud = <0>;
680 samaung,pin-drv = <0>;
681 };
682
683 cam_bayrgb_bus: cam-bayrgb-bus {
684 samsung,pins = "gpg0-0", "gpg0-1", "gpg0-2", "gpg0-3",
685 "gpg0-4", "gpg0-5", "gpg0-6", "gpg0-7",
686 "gpg1-0", "gpg1-1", "gpg1-2", "gpg1-3",
687 "gpg1-4", "gpg1-5", "gpg1-6", "gpg1-7",
688 "gpg2-0", "gpg2-1";
689 samsung,pin-function = <2>;
690 samsung,pin-pud = <0>;
691 samaung,pin-drv = <0>;
692 };
693
694 cam_port_a: cam-port-a {
695 samsung,pins = "gph0-0", "gph0-1", "gph0-2", "gph0-3",
696 "gph1-0", "gph1-1", "gph1-2", "gph1-3",
697 "gph1-4", "gph1-5", "gph1-6", "gph1-7";
698 samsung,pin-function = <2>;
699 samsung,pin-pud = <0>;
700 samaung,pin-drv = <0>;
701 };
702 };
703
704 pinctrl@10d10000 {
705 gpv0: gpv0 {
706 gpio-controller;
707 #gpio-cells = <2>;
708
709 interrupt-controller;
710 #interrupt-cells = <2>;
711 };
712
713 gpv1: gpv1 {
714 gpio-controller;
715 #gpio-cells = <2>;
716
717 interrupt-controller;
718 #interrupt-cells = <2>;
719 };
720
721 gpv2: gpv2 {
722 gpio-controller;
723 #gpio-cells = <2>;
724
725 interrupt-controller;
726 #interrupt-cells = <2>;
727 };
728
729 gpv3: gpv3 {
730 gpio-controller;
731 #gpio-cells = <2>;
732
733 interrupt-controller;
734 #interrupt-cells = <2>;
735 };
736
737 gpv4: gpv4 {
738 gpio-controller;
739 #gpio-cells = <2>;
740
741 interrupt-controller;
742 #interrupt-cells = <2>;
743 };
744
745 c2c_rxd: c2c-rxd {
746 samsung,pins = "gpv0-0", "gpv0-1", "gpv0-2", "gpv0-3",
747 "gpv0-4", "gpv0-5", "gpv0-6", "gpv0-7",
748 "gpv1-0", "gpv1-1", "gpv1-2", "gpv1-3",
749 "gpv1-4", "gpv1-5", "gpv1-6", "gpv1-7";
750 samsung,pin-function = <2>;
751 samsung,pin-pud = <0>;
752 samaung,pin-drv = <0>;
753 };
754
755 c2c_txd: c2c-txd {
756 samsung,pins = "gpv2-0", "gpv2-1", "gpv2-2", "gpv2-3",
757 "gpv2-4", "gpv2-5", "gpv2-6", "gpv2-7",
758 "gpv3-0", "gpv3-1", "gpv3-2", "gpv3-3",
759 "gpv3-4", "gpv3-5", "gpv3-6", "gpv3-7";
760 samsung,pin-function = <2>;
761 samsung,pin-pud = <0>;
762 samaung,pin-drv = <0>;
763 };
764 };
765
766 pinctrl@03680000 {
767 gpz: gpz {
768 gpio-controller;
769 #gpio-cells = <2>;
770
771 interrupt-controller;
772 #interrupt-cells = <2>;
773 };
774
775 i2s0_bus: i2s0-bus {
776 samsung,pins = "gpz-0", "gpz-1", "gpz-2", "gpz-3",
777 "gpz-4", "gpz-5", "gpz-6";
778 samsung,pin-function = <2>;
779 samsung,pin-pud = <0>;
780 samsung,pin-drv = <0>;
781 };
782 };
783};
diff --git a/arch/arm/boot/dts/exynos5250-smdk5250.dts b/arch/arm/boot/dts/exynos5250-smdk5250.dts
index 872ae1f93c75..74da9de723c9 100644
--- a/arch/arm/boot/dts/exynos5250-smdk5250.dts
+++ b/arch/arm/boot/dts/exynos5250-smdk5250.dts
@@ -30,8 +30,6 @@
30 i2c@12C60000 { 30 i2c@12C60000 {
31 samsung,i2c-sda-delay = <100>; 31 samsung,i2c-sda-delay = <100>;
32 samsung,i2c-max-bus-freq = <20000>; 32 samsung,i2c-max-bus-freq = <20000>;
33 gpios = <&gpb3 0 2 3 0>,
34 <&gpb3 1 2 3 0>;
35 33
36 eeprom@50 { 34 eeprom@50 {
37 compatible = "samsung,s524ad0xd1"; 35 compatible = "samsung,s524ad0xd1";
@@ -42,8 +40,6 @@
42 i2c@12C70000 { 40 i2c@12C70000 {
43 samsung,i2c-sda-delay = <100>; 41 samsung,i2c-sda-delay = <100>;
44 samsung,i2c-max-bus-freq = <20000>; 42 samsung,i2c-max-bus-freq = <20000>;
45 gpios = <&gpb3 2 2 3 0>,
46 <&gpb3 3 2 3 0>;
47 43
48 eeprom@51 { 44 eeprom@51 {
49 compatible = "samsung,s524ad0xd1"; 45 compatible = "samsung,s524ad0xd1";
@@ -74,8 +70,6 @@
74 i2c@12C80000 { 70 i2c@12C80000 {
75 samsung,i2c-sda-delay = <100>; 71 samsung,i2c-sda-delay = <100>;
76 samsung,i2c-max-bus-freq = <66000>; 72 samsung,i2c-max-bus-freq = <66000>;
77 gpios = <&gpa0 6 3 3 0>,
78 <&gpa0 7 3 3 0>;
79 73
80 hdmiddc@50 { 74 hdmiddc@50 {
81 compatible = "samsung,exynos5-hdmiddc"; 75 compatible = "samsung,exynos5-hdmiddc";
@@ -122,15 +116,12 @@
122 samsung,dw-mshc-ciu-div = <3>; 116 samsung,dw-mshc-ciu-div = <3>;
123 samsung,dw-mshc-sdr-timing = <2 3>; 117 samsung,dw-mshc-sdr-timing = <2 3>;
124 samsung,dw-mshc-ddr-timing = <1 2>; 118 samsung,dw-mshc-ddr-timing = <1 2>;
119 pinctrl-names = "default";
120 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>;
125 121
126 slot@0 { 122 slot@0 {
127 reg = <0>; 123 reg = <0>;
128 bus-width = <8>; 124 bus-width = <8>;
129 gpios = <&gpc0 0 2 0 3>, <&gpc0 1 2 0 3>,
130 <&gpc1 0 2 3 3>, <&gpc1 1 2 3 3>,
131 <&gpc1 2 2 3 3>, <&gpc1 3 2 3 3>,
132 <&gpc0 3 2 3 3>, <&gpc0 4 2 3 3>,
133 <&gpc0 5 2 3 3>, <&gpc0 6 2 3 3>;
134 }; 125 };
135 }; 126 };
136 127
@@ -146,17 +137,13 @@
146 samsung,dw-mshc-ciu-div = <3>; 137 samsung,dw-mshc-ciu-div = <3>;
147 samsung,dw-mshc-sdr-timing = <2 3>; 138 samsung,dw-mshc-sdr-timing = <2 3>;
148 samsung,dw-mshc-ddr-timing = <1 2>; 139 samsung,dw-mshc-ddr-timing = <1 2>;
140 pinctrl-names = "default";
141 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
149 142
150 slot@0 { 143 slot@0 {
151 reg = <0>; 144 reg = <0>;
152 bus-width = <4>; 145 bus-width = <4>;
153 samsung,cd-pinmux-gpio = <&gpc3 2 2 3 3>;
154 disable-wp; 146 disable-wp;
155 gpios = <&gpc3 0 2 0 3>, <&gpc3 1 2 0 3>,
156 <&gpc3 3 2 3 3>, <&gpc3 4 2 3 3>,
157 <&gpc3 5 2 3 3>, <&gpc3 6 2 3 3>,
158 <&gpc4 3 3 3 3>, <&gpc4 3 3 3 3>,
159 <&gpc4 5 3 3 3>, <&gpc4 6 3 3 3>;
160 }; 147 };
161 }; 148 };
162 149
@@ -169,10 +156,6 @@
169 }; 156 };
170 157
171 spi_1: spi@12d30000 { 158 spi_1: spi@12d30000 {
172 gpios = <&gpa2 4 2 3 0>,
173 <&gpa2 6 2 3 0>,
174 <&gpa2 7 2 3 0>;
175
176 w25q80bw@0 { 159 w25q80bw@0 {
177 #address-cells = <1>; 160 #address-cells = <1>;
178 #size-cells = <1>; 161 #size-cells = <1>;
@@ -181,7 +164,7 @@
181 spi-max-frequency = <1000000>; 164 spi-max-frequency = <1000000>;
182 165
183 controller-data { 166 controller-data {
184 cs-gpio = <&gpa2 5 1 0 3>; 167 cs-gpio = <&gpa2 5 0>;
185 samsung,spi-feedback-delay = <0>; 168 samsung,spi-feedback-delay = <0>;
186 }; 169 };
187 170
@@ -203,7 +186,7 @@
203 }; 186 };
204 187
205 hdmi { 188 hdmi {
206 hpd-gpio = <&gpx3 7 0xf 1 3>; 189 hpd-gpio = <&gpx3 7 0>;
207 }; 190 };
208 191
209 codec@11000000 { 192 codec@11000000 {
@@ -212,9 +195,7 @@
212 }; 195 };
213 196
214 i2s0: i2s@03830000 { 197 i2s0: i2s@03830000 {
215 gpios = <&gpz 0 2 0 0>, <&gpz 1 2 0 0>, <&gpz 2 2 0 0>, 198 status = "okay";
216 <&gpz 3 2 0 0>, <&gpz 4 2 0 0>, <&gpz 5 2 0 0>,
217 <&gpz 6 2 0 0>;
218 }; 199 };
219 200
220 i2s1: i2s@12D60000 { 201 i2s1: i2s@12D60000 {
diff --git a/arch/arm/boot/dts/exynos5250-snow.dts b/arch/arm/boot/dts/exynos5250-snow.dts
index babd9f9b1bf9..581ffae27e13 100644
--- a/arch/arm/boot/dts/exynos5250-snow.dts
+++ b/arch/arm/boot/dts/exynos5250-snow.dts
@@ -16,12 +16,27 @@
16 model = "Google Snow"; 16 model = "Google Snow";
17 compatible = "google,snow", "samsung,exynos5250"; 17 compatible = "google,snow", "samsung,exynos5250";
18 18
19 pinctrl@11400000 {
20 sd3_clk: sd3-clk {
21 samsung,pin-drv = <0>;
22 };
23
24 sd3_cmd: sd3-cmd {
25 samsung,pin-pud = <3>;
26 samsung,pin-drv = <0>;
27 };
28
29 sd3_bus4: sd3-bus-width4 {
30 samsung,pin-drv = <0>;
31 };
32 };
33
19 gpio-keys { 34 gpio-keys {
20 compatible = "gpio-keys"; 35 compatible = "gpio-keys";
21 36
22 lid-switch { 37 lid-switch {
23 label = "Lid"; 38 label = "Lid";
24 gpios = <&gpx3 5 0 0x10000 0>; 39 gpios = <&gpx3 5 1>;
25 linux,input-type = <5>; /* EV_SW */ 40 linux,input-type = <5>; /* EV_SW */
26 linux,code = <0>; /* SW_LID */ 41 linux,code = <0>; /* SW_LID */
27 debounce-interval = <1>; 42 debounce-interval = <1>;
@@ -35,9 +50,8 @@
35 */ 50 */
36 dwmmc3@12230000 { 51 dwmmc3@12230000 {
37 slot@0 { 52 slot@0 {
38 gpios = <&gpc4 0 2 0 0>, <&gpc4 1 2 3 0>, 53 pinctrl-names = "default";
39 <&gpc4 3 2 3 0>, <&gpc4 4 2 3 0>, 54 pinctrl-0 = <&sd3_clk &sd3_cmd &sd3_bus4>;
40 <&gpc4 5 2 3 0>, <&gpc4 6 2 3 0>;
41 }; 55 };
42 }; 56 };
43 57
diff --git a/arch/arm/boot/dts/exynos5250.dtsi b/arch/arm/boot/dts/exynos5250.dtsi
index f8c9964f367c..1dc26009e3ae 100644
--- a/arch/arm/boot/dts/exynos5250.dtsi
+++ b/arch/arm/boot/dts/exynos5250.dtsi
@@ -18,6 +18,7 @@
18*/ 18*/
19 19
20/include/ "skeleton.dtsi" 20/include/ "skeleton.dtsi"
21/include/ "exynos5250-pinctrl.dtsi"
21 22
22/ { 23/ {
23 compatible = "samsung,exynos5250"; 24 compatible = "samsung,exynos5250";
@@ -44,6 +45,10 @@
44 i2c6 = &i2c_6; 45 i2c6 = &i2c_6;
45 i2c7 = &i2c_7; 46 i2c7 = &i2c_7;
46 i2c8 = &i2c_8; 47 i2c8 = &i2c_8;
48 pinctrl0 = &pinctrl_0;
49 pinctrl1 = &pinctrl_1;
50 pinctrl2 = &pinctrl_2;
51 pinctrl3 = &pinctrl_3;
47 }; 52 };
48 53
49 pd_gsc: gsc-power-domain@0x10044000 { 54 pd_gsc: gsc-power-domain@0x10044000 {
@@ -109,6 +114,36 @@
109 }; 114 };
110 }; 115 };
111 116
117 pinctrl_0: pinctrl@11400000 {
118 compatible = "samsung,exynos5250-pinctrl";
119 reg = <0x11400000 0x1000>;
120 interrupts = <0 46 0>;
121
122 wakup_eint: wakeup-interrupt-controller {
123 compatible = "samsung,exynos4210-wakeup-eint";
124 interrupt-parent = <&gic>;
125 interrupts = <0 32 0>;
126 };
127 };
128
129 pinctrl_1: pinctrl@13400000 {
130 compatible = "samsung,exynos5250-pinctrl";
131 reg = <0x13400000 0x1000>;
132 interrupts = <0 45 0>;
133 };
134
135 pinctrl_2: pinctrl@10d10000 {
136 compatible = "samsung,exynos5250-pinctrl";
137 reg = <0x10d10000 0x1000>;
138 interrupts = <0 50 0>;
139 };
140
141 pinctrl_3: pinctrl@03680000 {
142 compatible = "samsung,exynos5250-pinctrl";
143 reg = <0x0368000 0x1000>;
144 interrupts = <0 47 0>;
145 };
146
112 watchdog { 147 watchdog {
113 compatible = "samsung,s3c2410-wdt"; 148 compatible = "samsung,s3c2410-wdt";
114 reg = <0x101D0000 0x100>; 149 reg = <0x101D0000 0x100>;
@@ -193,6 +228,8 @@
193 #size-cells = <0>; 228 #size-cells = <0>;
194 clocks = <&clock 294>; 229 clocks = <&clock 294>;
195 clock-names = "i2c"; 230 clock-names = "i2c";
231 pinctrl-names = "default";
232 pinctrl-0 = <&i2c0_bus>;
196 }; 233 };
197 234
198 i2c_1: i2c@12C70000 { 235 i2c_1: i2c@12C70000 {
@@ -203,6 +240,8 @@
203 #size-cells = <0>; 240 #size-cells = <0>;
204 clocks = <&clock 295>; 241 clocks = <&clock 295>;
205 clock-names = "i2c"; 242 clock-names = "i2c";
243 pinctrl-names = "default";
244 pinctrl-0 = <&i2c1_bus>;
206 }; 245 };
207 246
208 i2c_2: i2c@12C80000 { 247 i2c_2: i2c@12C80000 {
@@ -213,6 +252,8 @@
213 #size-cells = <0>; 252 #size-cells = <0>;
214 clocks = <&clock 296>; 253 clocks = <&clock 296>;
215 clock-names = "i2c"; 254 clock-names = "i2c";
255 pinctrl-names = "default";
256 pinctrl-0 = <&i2c2_bus>;
216 }; 257 };
217 258
218 i2c_3: i2c@12C90000 { 259 i2c_3: i2c@12C90000 {
@@ -223,6 +264,8 @@
223 #size-cells = <0>; 264 #size-cells = <0>;
224 clocks = <&clock 297>; 265 clocks = <&clock 297>;
225 clock-names = "i2c"; 266 clock-names = "i2c";
267 pinctrl-names = "default";
268 pinctrl-0 = <&i2c3_bus>;
226 }; 269 };
227 270
228 i2c_4: i2c@12CA0000 { 271 i2c_4: i2c@12CA0000 {
@@ -233,6 +276,8 @@
233 #size-cells = <0>; 276 #size-cells = <0>;
234 clocks = <&clock 298>; 277 clocks = <&clock 298>;
235 clock-names = "i2c"; 278 clock-names = "i2c";
279 pinctrl-names = "default";
280 pinctrl-0 = <&i2c4_bus>;
236 }; 281 };
237 282
238 i2c_5: i2c@12CB0000 { 283 i2c_5: i2c@12CB0000 {
@@ -243,6 +288,8 @@
243 #size-cells = <0>; 288 #size-cells = <0>;
244 clocks = <&clock 299>; 289 clocks = <&clock 299>;
245 clock-names = "i2c"; 290 clock-names = "i2c";
291 pinctrl-names = "default";
292 pinctrl-0 = <&i2c5_bus>;
246 }; 293 };
247 294
248 i2c_6: i2c@12CC0000 { 295 i2c_6: i2c@12CC0000 {
@@ -253,6 +300,8 @@
253 #size-cells = <0>; 300 #size-cells = <0>;
254 clocks = <&clock 300>; 301 clocks = <&clock 300>;
255 clock-names = "i2c"; 302 clock-names = "i2c";
303 pinctrl-names = "default";
304 pinctrl-0 = <&i2c6_bus>;
256 }; 305 };
257 306
258 i2c_7: i2c@12CD0000 { 307 i2c_7: i2c@12CD0000 {
@@ -263,6 +312,8 @@
263 #size-cells = <0>; 312 #size-cells = <0>;
264 clocks = <&clock 301>; 313 clocks = <&clock 301>;
265 clock-names = "i2c"; 314 clock-names = "i2c";
315 pinctrl-names = "default";
316 pinctrl-0 = <&i2c7_bus>;
266 }; 317 };
267 318
268 i2c_8: i2c@12CE0000 { 319 i2c_8: i2c@12CE0000 {
@@ -295,6 +346,8 @@
295 #size-cells = <0>; 346 #size-cells = <0>;
296 clocks = <&clock 304>, <&clock 154>; 347 clocks = <&clock 304>, <&clock 154>;
297 clock-names = "spi", "spi_busclk0"; 348 clock-names = "spi", "spi_busclk0";
349 pinctrl-names = "default";
350 pinctrl-0 = <&spi0_bus>;
298 }; 351 };
299 352
300 spi_1: spi@12d30000 { 353 spi_1: spi@12d30000 {
@@ -308,6 +361,8 @@
308 #size-cells = <0>; 361 #size-cells = <0>;
309 clocks = <&clock 305>, <&clock 155>; 362 clocks = <&clock 305>, <&clock 155>;
310 clock-names = "spi", "spi_busclk0"; 363 clock-names = "spi", "spi_busclk0";
364 pinctrl-names = "default";
365 pinctrl-0 = <&spi1_bus>;
311 }; 366 };
312 367
313 spi_2: spi@12d40000 { 368 spi_2: spi@12d40000 {
@@ -321,6 +376,8 @@
321 #size-cells = <0>; 376 #size-cells = <0>;
322 clocks = <&clock 306>, <&clock 156>; 377 clocks = <&clock 306>, <&clock 156>;
323 clock-names = "spi", "spi_busclk0"; 378 clock-names = "spi", "spi_busclk0";
379 pinctrl-names = "default";
380 pinctrl-0 = <&spi2_bus>;
324 }; 381 };
325 382
326 dwmmc_0: dwmmc0@12200000 { 383 dwmmc_0: dwmmc0@12200000 {
@@ -374,6 +431,8 @@
374 samsung,supports-rstclr; 431 samsung,supports-rstclr;
375 samsung,supports-secdai; 432 samsung,supports-secdai;
376 samsung,idma-addr = <0x03000000>; 433 samsung,idma-addr = <0x03000000>;
434 pinctrl-names = "default";
435 pinctrl-0 = <&i2s0_bus>;
377 }; 436 };
378 437
379 i2s1: i2s@12D60000 { 438 i2s1: i2s@12D60000 {
@@ -382,6 +441,8 @@
382 dmas = <&pdma1 12 441 dmas = <&pdma1 12
383 &pdma1 11>; 442 &pdma1 11>;
384 dma-names = "tx", "rx"; 443 dma-names = "tx", "rx";
444 pinctrl-names = "default";
445 pinctrl-0 = <&i2s1_bus>;
385 }; 446 };
386 447
387 i2s2: i2s@12D70000 { 448 i2s2: i2s@12D70000 {
@@ -390,6 +451,8 @@
390 dmas = <&pdma0 12 451 dmas = <&pdma0 12
391 &pdma0 11>; 452 &pdma0 11>;
392 dma-names = "tx", "rx"; 453 dma-names = "tx", "rx";
454 pinctrl-names = "default";
455 pinctrl-0 = <&i2s2_bus>;
393 }; 456 };
394 457
395 usb@12110000 { 458 usb@12110000 {
@@ -456,254 +519,6 @@
456 }; 519 };
457 }; 520 };
458 521
459 gpio-controllers {
460 #address-cells = <1>;
461 #size-cells = <1>;
462 gpio-controller;
463 ranges;
464
465 gpa0: gpio-controller@11400000 {
466 compatible = "samsung,exynos4-gpio";
467 reg = <0x11400000 0x20>;
468 #gpio-cells = <4>;
469 };
470
471 gpa1: gpio-controller@11400020 {
472 compatible = "samsung,exynos4-gpio";
473 reg = <0x11400020 0x20>;
474 #gpio-cells = <4>;
475 };
476
477 gpa2: gpio-controller@11400040 {
478 compatible = "samsung,exynos4-gpio";
479 reg = <0x11400040 0x20>;
480 #gpio-cells = <4>;
481 };
482
483 gpb0: gpio-controller@11400060 {
484 compatible = "samsung,exynos4-gpio";
485 reg = <0x11400060 0x20>;
486 #gpio-cells = <4>;
487 };
488
489 gpb1: gpio-controller@11400080 {
490 compatible = "samsung,exynos4-gpio";
491 reg = <0x11400080 0x20>;
492 #gpio-cells = <4>;
493 };
494
495 gpb2: gpio-controller@114000A0 {
496 compatible = "samsung,exynos4-gpio";
497 reg = <0x114000A0 0x20>;
498 #gpio-cells = <4>;
499 };
500
501 gpb3: gpio-controller@114000C0 {
502 compatible = "samsung,exynos4-gpio";
503 reg = <0x114000C0 0x20>;
504 #gpio-cells = <4>;
505 };
506
507 gpc0: gpio-controller@114000E0 {
508 compatible = "samsung,exynos4-gpio";
509 reg = <0x114000E0 0x20>;
510 #gpio-cells = <4>;
511 };
512
513 gpc1: gpio-controller@11400100 {
514 compatible = "samsung,exynos4-gpio";
515 reg = <0x11400100 0x20>;
516 #gpio-cells = <4>;
517 };
518
519 gpc2: gpio-controller@11400120 {
520 compatible = "samsung,exynos4-gpio";
521 reg = <0x11400120 0x20>;
522 #gpio-cells = <4>;
523 };
524
525 gpc3: gpio-controller@11400140 {
526 compatible = "samsung,exynos4-gpio";
527 reg = <0x11400140 0x20>;
528 #gpio-cells = <4>;
529 };
530
531 gpc4: gpio-controller@114002E0 {
532 compatible = "samsung,exynos4-gpio";
533 reg = <0x114002E0 0x20>;
534 #gpio-cells = <4>;
535 };
536
537 gpd0: gpio-controller@11400160 {
538 compatible = "samsung,exynos4-gpio";
539 reg = <0x11400160 0x20>;
540 #gpio-cells = <4>;
541 };
542
543 gpd1: gpio-controller@11400180 {
544 compatible = "samsung,exynos4-gpio";
545 reg = <0x11400180 0x20>;
546 #gpio-cells = <4>;
547 };
548
549 gpy0: gpio-controller@114001A0 {
550 compatible = "samsung,exynos4-gpio";
551 reg = <0x114001A0 0x20>;
552 #gpio-cells = <4>;
553 };
554
555 gpy1: gpio-controller@114001C0 {
556 compatible = "samsung,exynos4-gpio";
557 reg = <0x114001C0 0x20>;
558 #gpio-cells = <4>;
559 };
560
561 gpy2: gpio-controller@114001E0 {
562 compatible = "samsung,exynos4-gpio";
563 reg = <0x114001E0 0x20>;
564 #gpio-cells = <4>;
565 };
566
567 gpy3: gpio-controller@11400200 {
568 compatible = "samsung,exynos4-gpio";
569 reg = <0x11400200 0x20>;
570 #gpio-cells = <4>;
571 };
572
573 gpy4: gpio-controller@11400220 {
574 compatible = "samsung,exynos4-gpio";
575 reg = <0x11400220 0x20>;
576 #gpio-cells = <4>;
577 };
578
579 gpy5: gpio-controller@11400240 {
580 compatible = "samsung,exynos4-gpio";
581 reg = <0x11400240 0x20>;
582 #gpio-cells = <4>;
583 };
584
585 gpy6: gpio-controller@11400260 {
586 compatible = "samsung,exynos4-gpio";
587 reg = <0x11400260 0x20>;
588 #gpio-cells = <4>;
589 };
590
591 gpx0: gpio-controller@11400C00 {
592 compatible = "samsung,exynos4-gpio";
593 reg = <0x11400C00 0x20>;
594 #gpio-cells = <4>;
595 };
596
597 gpx1: gpio-controller@11400C20 {
598 compatible = "samsung,exynos4-gpio";
599 reg = <0x11400C20 0x20>;
600 #gpio-cells = <4>;
601 };
602
603 gpx2: gpio-controller@11400C40 {
604 compatible = "samsung,exynos4-gpio";
605 reg = <0x11400C40 0x20>;
606 #gpio-cells = <4>;
607 };
608
609 gpx3: gpio-controller@11400C60 {
610 compatible = "samsung,exynos4-gpio";
611 reg = <0x11400C60 0x20>;
612 #gpio-cells = <4>;
613 };
614
615 gpe0: gpio-controller@13400000 {
616 compatible = "samsung,exynos4-gpio";
617 reg = <0x13400000 0x20>;
618 #gpio-cells = <4>;
619 };
620
621 gpe1: gpio-controller@13400020 {
622 compatible = "samsung,exynos4-gpio";
623 reg = <0x13400020 0x20>;
624 #gpio-cells = <4>;
625 };
626
627 gpf0: gpio-controller@13400040 {
628 compatible = "samsung,exynos4-gpio";
629 reg = <0x13400040 0x20>;
630 #gpio-cells = <4>;
631 };
632
633 gpf1: gpio-controller@13400060 {
634 compatible = "samsung,exynos4-gpio";
635 reg = <0x13400060 0x20>;
636 #gpio-cells = <4>;
637 };
638
639 gpg0: gpio-controller@13400080 {
640 compatible = "samsung,exynos4-gpio";
641 reg = <0x13400080 0x20>;
642 #gpio-cells = <4>;
643 };
644
645 gpg1: gpio-controller@134000A0 {
646 compatible = "samsung,exynos4-gpio";
647 reg = <0x134000A0 0x20>;
648 #gpio-cells = <4>;
649 };
650
651 gpg2: gpio-controller@134000C0 {
652 compatible = "samsung,exynos4-gpio";
653 reg = <0x134000C0 0x20>;
654 #gpio-cells = <4>;
655 };
656
657 gph0: gpio-controller@134000E0 {
658 compatible = "samsung,exynos4-gpio";
659 reg = <0x134000E0 0x20>;
660 #gpio-cells = <4>;
661 };
662
663 gph1: gpio-controller@13400100 {
664 compatible = "samsung,exynos4-gpio";
665 reg = <0x13400100 0x20>;
666 #gpio-cells = <4>;
667 };
668
669 gpv0: gpio-controller@10D10000 {
670 compatible = "samsung,exynos4-gpio";
671 reg = <0x10D10000 0x20>;
672 #gpio-cells = <4>;
673 };
674
675 gpv1: gpio-controller@10D10020 {
676 compatible = "samsung,exynos4-gpio";
677 reg = <0x10D10020 0x20>;
678 #gpio-cells = <4>;
679 };
680
681 gpv2: gpio-controller@10D10040 {
682 compatible = "samsung,exynos4-gpio";
683 reg = <0x10D10060 0x20>;
684 #gpio-cells = <4>;
685 };
686
687 gpv3: gpio-controller@10D10060 {
688 compatible = "samsung,exynos4-gpio";
689 reg = <0x10D10080 0x20>;
690 #gpio-cells = <4>;
691 };
692
693 gpv4: gpio-controller@10D10080 {
694 compatible = "samsung,exynos4-gpio";
695 reg = <0x10D100C0 0x20>;
696 #gpio-cells = <4>;
697 };
698
699 gpz: gpio-controller@03860000 {
700 compatible = "samsung,exynos4-gpio";
701 reg = <0x03860000 0x20>;
702 #gpio-cells = <4>;
703 };
704 };
705
706
707 gsc_0: gsc@0x13e00000 { 522 gsc_0: gsc@0x13e00000 {
708 compatible = "samsung,exynos5-gsc"; 523 compatible = "samsung,exynos5-gsc";
709 reg = <0x13e00000 0x1000>; 524 reg = <0x13e00000 0x1000>;