aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/boot/dts/hi4511.dts
diff options
context:
space:
mode:
authorHaojian Zhuang <haojian.zhuang@linaro.org>2013-12-11 02:54:51 -0500
committerKevin Hilman <khilman@linaro.org>2013-12-17 19:43:32 -0500
commitfa8962a8bb84cad2902cc7e2f3682cbc7450ab86 (patch)
tree2dede6e2c563ca71450605c90fdaa34410f98189 /arch/arm/boot/dts/hi4511.dts
parent2c7268c70fc1099ce4aac83c194675efd927e90f (diff)
ARM: dts: enable hi4511 with device tree
Enable Hisilicon Hi4511 development platform with device tree support. Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org> Signed-off-by: Kevin Hilman <khilman@linaro.org>
Diffstat (limited to 'arch/arm/boot/dts/hi4511.dts')
-rw-r--r--arch/arm/boot/dts/hi4511.dts648
1 files changed, 648 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/hi4511.dts b/arch/arm/boot/dts/hi4511.dts
new file mode 100644
index 000000000000..96e69abfcdaa
--- /dev/null
+++ b/arch/arm/boot/dts/hi4511.dts
@@ -0,0 +1,648 @@
1/*
2 * Copyright (C) 2012-2013 Linaro Ltd.
3 * Author: Haojian Zhuang <haojian.zhuang@linaro.org>
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 2 as
7 * publishhed by the Free Software Foundation.
8 */
9
10/dts-v1/;
11/include/ "hi3620.dtsi"
12
13/ {
14 model = "Hisilicon Hi4511 Development Board";
15 compatible = "hisilicon,hi3620-hi4511";
16
17 chosen {
18 bootargs = "console=ttyAMA0,115200 root=/dev/ram0 earlyprintk";
19 };
20
21 memory {
22 device_type = "memory";
23 reg = <0x40000000 0x20000000>;
24 };
25
26 amba {
27 dual_timer0: dual_timer@800000 {
28 status = "ok";
29 };
30
31 uart0: uart@b00000 { /* console */
32 pinctrl-names = "default", "idle";
33 pinctrl-0 = <&uart0_pmx_func &uart0_cfg_func>;
34 pinctrl-1 = <&uart0_pmx_idle &uart0_cfg_idle>;
35 status = "ok";
36 };
37
38 uart1: uart@b01000 { /* modem */
39 pinctrl-names = "default", "idle";
40 pinctrl-0 = <&uart1_pmx_func &uart1_cfg_func>;
41 pinctrl-1 = <&uart1_pmx_idle &uart1_cfg_idle>;
42 status = "ok";
43 };
44
45 uart2: uart@b02000 { /* audience */
46 pinctrl-names = "default", "idle";
47 pinctrl-0 = <&uart2_pmx_func &uart2_cfg_func>;
48 pinctrl-1 = <&uart2_pmx_idle &uart2_cfg_idle>;
49 status = "ok";
50 };
51
52 uart3: uart@b03000 {
53 pinctrl-names = "default", "idle";
54 pinctrl-0 = <&uart3_pmx_func &uart3_cfg_func>;
55 pinctrl-1 = <&uart3_pmx_idle &uart3_cfg_idle>;
56 status = "ok";
57 };
58
59 uart4: uart@b04000 {
60 pinctrl-names = "default", "idle";
61 pinctrl-0 = <&uart4_pmx_func &uart4_cfg_func>;
62 pinctrl-1 = <&uart4_pmx_idle &uart4_cfg_func>;
63 status = "ok";
64 };
65
66 pmx0: pinmux@803000 {
67 pinctrl-names = "default";
68 pinctrl-0 = <&board_pmx_pins>;
69
70 board_pmx_pins: board_pmx_pins {
71 pinctrl-single,pins = <
72 0x008 0x0 /* GPIO -- eFUSE_DOUT */
73 0x100 0x0 /* USIM_CLK & USIM_DATA (IOMG63) */
74 >;
75 };
76 uart0_pmx_func: uart0_pmx_func {
77 pinctrl-single,pins = <
78 0x0f0 0x0
79 0x0f4 0x0 /* UART0_RX & UART0_TX */
80 >;
81 };
82 uart0_pmx_idle: uart0_pmx_idle {
83 pinctrl-single,pins = <
84 /*0x0f0 0x1*/ /* UART0_CTS & UART0_RTS */
85 0x0f4 0x1 /* UART0_RX & UART0_TX */
86 >;
87 };
88 uart1_pmx_func: uart1_pmx_func {
89 pinctrl-single,pins = <
90 0x0f8 0x0 /* UART1_CTS & UART1_RTS (IOMG61) */
91 0x0fc 0x0 /* UART1_RX & UART1_TX (IOMG62) */
92 >;
93 };
94 uart1_pmx_idle: uart1_pmx_idle {
95 pinctrl-single,pins = <
96 0x0f8 0x1 /* GPIO (IOMG61) */
97 0x0fc 0x1 /* GPIO (IOMG62) */
98 >;
99 };
100 uart2_pmx_func: uart2_pmx_func {
101 pinctrl-single,pins = <
102 0x104 0x2 /* UART2_RXD (IOMG96) */
103 0x108 0x2 /* UART2_TXD (IOMG64) */
104 >;
105 };
106 uart2_pmx_idle: uart2_pmx_idle {
107 pinctrl-single,pins = <
108 0x104 0x1 /* GPIO (IOMG96) */
109 0x108 0x1 /* GPIO (IOMG64) */
110 >;
111 };
112 uart3_pmx_func: uart3_pmx_func {
113 pinctrl-single,pins = <
114 0x160 0x2 /* UART3_CTS & UART3_RTS (IOMG85) */
115 0x164 0x2 /* UART3_RXD & UART3_TXD (IOMG86) */
116 >;
117 };
118 uart3_pmx_idle: uart3_pmx_idle {
119 pinctrl-single,pins = <
120 0x160 0x1 /* GPIO (IOMG85) */
121 0x164 0x1 /* GPIO (IOMG86) */
122 >;
123 };
124 uart4_pmx_func: uart4_pmx_func {
125 pinctrl-single,pins = <
126 0x168 0x0 /* UART4_CTS & UART4_RTS (IOMG87) */
127 0x16c 0x0 /* UART4_RXD (IOMG88) */
128 0x170 0x0 /* UART4_TXD (IOMG93) */
129 >;
130 };
131 uart4_pmx_idle: uart4_pmx_idle {
132 pinctrl-single,pins = <
133 0x168 0x1 /* GPIO (IOMG87) */
134 0x16c 0x1 /* GPIO (IOMG88) */
135 0x170 0x1 /* GPIO (IOMG93) */
136 >;
137 };
138 i2c0_pmx_func: i2c0_pmx_func {
139 pinctrl-single,pins = <
140 0x0b4 0x0 /* I2C0_SCL & I2C0_SDA (IOMG45) */
141 >;
142 };
143 i2c0_pmx_idle: i2c0_pmx_idle {
144 pinctrl-single,pins = <
145 0x0b4 0x1 /* GPIO (IOMG45) */
146 >;
147 };
148 i2c1_pmx_func: i2c1_pmx_func {
149 pinctrl-single,pins = <
150 0x0b8 0x0 /* I2C1_SCL & I2C1_SDA (IOMG46) */
151 >;
152 };
153 i2c1_pmx_idle: i2c1_pmx_idle {
154 pinctrl-single,pins = <
155 0x0b8 0x1 /* GPIO (IOMG46) */
156 >;
157 };
158 i2c2_pmx_func: i2c2_pmx_func {
159 pinctrl-single,pins = <
160 0x068 0x0 /* I2C2_SCL (IOMG26) */
161 0x06c 0x0 /* I2C2_SDA (IOMG27) */
162 >;
163 };
164 i2c2_pmx_idle: i2c2_pmx_idle {
165 pinctrl-single,pins = <
166 0x068 0x1 /* GPIO (IOMG26) */
167 0x06c 0x1 /* GPIO (IOMG27) */
168 >;
169 };
170 i2c3_pmx_func: i2c3_pmx_func {
171 pinctrl-single,pins = <
172 0x050 0x2 /* I2C3_SCL (IOMG20) */
173 0x054 0x2 /* I2C3_SDA (IOMG21) */
174 >;
175 };
176 i2c3_pmx_idle: i2c3_pmx_idle {
177 pinctrl-single,pins = <
178 0x050 0x1 /* GPIO (IOMG20) */
179 0x054 0x1 /* GPIO (IOMG21) */
180 >;
181 };
182 spi0_pmx_func: spi0_pmx_func {
183 pinctrl-single,pins = <
184 0x0d4 0x0 /* SPI0_CLK/SPI0_DI/SPI0_DO (IOMG53) */
185 0x0d8 0x0 /* SPI0_CS0 (IOMG54) */
186 0x0dc 0x0 /* SPI0_CS1 (IOMG55) */
187 0x0e0 0x0 /* SPI0_CS2 (IOMG56) */
188 0x0e4 0x0 /* SPI0_CS3 (IOMG57) */
189 >;
190 };
191 spi0_pmx_idle: spi0_pmx_idle {
192 pinctrl-single,pins = <
193 0x0d4 0x1 /* GPIO (IOMG53) */
194 0x0d8 0x1 /* GPIO (IOMG54) */
195 0x0dc 0x1 /* GPIO (IOMG55) */
196 0x0e0 0x1 /* GPIO (IOMG56) */
197 0x0e4 0x1 /* GPIO (IOMG57) */
198 >;
199 };
200 spi1_pmx_func: spi1_pmx_func {
201 pinctrl-single,pins = <
202 0x184 0x0 /* SPI1_CLK/SPI1_DI (IOMG98) */
203 0x0e8 0x0 /* SPI1_DO (IOMG58) */
204 0x0ec 0x0 /* SPI1_CS (IOMG95) */
205 >;
206 };
207 spi1_pmx_idle: spi1_pmx_idle {
208 pinctrl-single,pins = <
209 0x184 0x1 /* GPIO (IOMG98) */
210 0x0e8 0x1 /* GPIO (IOMG58) */
211 0x0ec 0x1 /* GPIO (IOMG95) */
212 >;
213 };
214 kpc_pmx_func: kpc_pmx_func {
215 pinctrl-single,pins = <
216 0x12c 0x0 /* KEY_IN0 (IOMG73) */
217 0x130 0x0 /* KEY_IN1 (IOMG74) */
218 0x134 0x0 /* KEY_IN2 (IOMG75) */
219 0x10c 0x0 /* KEY_OUT0 (IOMG65) */
220 0x110 0x0 /* KEY_OUT1 (IOMG66) */
221 0x114 0x0 /* KEY_OUT2 (IOMG67) */
222 >;
223 };
224 kpc_pmx_idle: kpc_pmx_idle {
225 pinctrl-single,pins = <
226 0x12c 0x1 /* GPIO (IOMG73) */
227 0x130 0x1 /* GPIO (IOMG74) */
228 0x134 0x1 /* GPIO (IOMG75) */
229 0x10c 0x1 /* GPIO (IOMG65) */
230 0x110 0x1 /* GPIO (IOMG66) */
231 0x114 0x1 /* GPIO (IOMG67) */
232 >;
233 };
234 gpio_key_func: gpio_key_func {
235 pinctrl-single,pins = <
236 0x10c 0x1 /* KEY_OUT0/GPIO (IOMG65) */
237 0x130 0x1 /* KEY_IN1/GPIO (IOMG74) */
238 >;
239 };
240 emmc_pmx_func: emmc_pmx_func {
241 pinctrl-single,pins = <
242 0x030 0x2 /* eMMC_CMD/eMMC_CLK (IOMG12) */
243 0x018 0x0 /* NAND_CS3_N (IOMG6) */
244 0x024 0x0 /* NAND_BUSY2_N (IOMG8) */
245 0x028 0x0 /* NAND_BUSY3_N (IOMG9) */
246 0x02c 0x2 /* eMMC_DATA[0:7] (IOMG10) */
247 >;
248 };
249 emmc_pmx_idle: emmc_pmx_idle {
250 pinctrl-single,pins = <
251 0x030 0x0 /* GPIO (IOMG12) */
252 0x018 0x1 /* GPIO (IOMG6) */
253 0x024 0x1 /* GPIO (IOMG8) */
254 0x028 0x1 /* GPIO (IOMG9) */
255 0x02c 0x1 /* GPIO (IOMG10) */
256 >;
257 };
258 sd_pmx_func: sd_pmx_func {
259 pinctrl-single,pins = <
260 0x0bc 0x0 /* SD_CLK/SD_CMD/SD_DATA0/SD_DATA1/SD_DATA2 (IOMG47) */
261 0x0c0 0x0 /* SD_DATA3 (IOMG48) */
262 >;
263 };
264 sd_pmx_idle: sd_pmx_idle {
265 pinctrl-single,pins = <
266 0x0bc 0x1 /* GPIO (IOMG47) */
267 0x0c0 0x1 /* GPIO (IOMG48) */
268 >;
269 };
270 nand_pmx_func: nand_pmx_func {
271 pinctrl-single,pins = <
272 0x00c 0x0 /* NAND_ALE/NAND_CLE/.../NAND_DATA[0:7] (IOMG3) */
273 0x010 0x0 /* NAND_CS1_N (IOMG4) */
274 0x014 0x0 /* NAND_CS2_N (IOMG5) */
275 0x018 0x0 /* NAND_CS3_N (IOMG6) */
276 0x01c 0x0 /* NAND_BUSY0_N (IOMG94) */
277 0x020 0x0 /* NAND_BUSY1_N (IOMG7) */
278 0x024 0x0 /* NAND_BUSY2_N (IOMG8) */
279 0x028 0x0 /* NAND_BUSY3_N (IOMG9) */
280 0x02c 0x0 /* NAND_DATA[8:15] (IOMG10) */
281 >;
282 };
283 nand_pmx_idle: nand_pmx_idle {
284 pinctrl-single,pins = <
285 0x00c 0x1 /* GPIO (IOMG3) */
286 0x010 0x1 /* GPIO (IOMG4) */
287 0x014 0x1 /* GPIO (IOMG5) */
288 0x018 0x1 /* GPIO (IOMG6) */
289 0x01c 0x1 /* GPIO (IOMG94) */
290 0x020 0x1 /* GPIO (IOMG7) */
291 0x024 0x1 /* GPIO (IOMG8) */
292 0x028 0x1 /* GPIO (IOMG9) */
293 0x02c 0x1 /* GPIO (IOMG10) */
294 >;
295 };
296 sdio_pmx_func: sdio_pmx_func {
297 pinctrl-single,pins = <
298 0x0c4 0x0 /* SDIO_CLK/SDIO_CMD/SDIO_DATA[0:3] (IOMG49) */
299 >;
300 };
301 sdio_pmx_idle: sdio_pmx_idle {
302 pinctrl-single,pins = <
303 0x0c4 0x1 /* GPIO (IOMG49) */
304 >;
305 };
306 audio_out_pmx_func: audio_out_pmx_func {
307 pinctrl-single,pins = <
308 0x0f0 0x1 /* GPIO (IOMG59), audio spk & earphone */
309 >;
310 };
311 };
312
313 pmx1: pinmux@803800 {
314 pinctrl-names = "default";
315 pinctrl-0 = < &board_pu_pins &board_pd_pins &board_pd_ps_pins
316 &board_np_pins &board_ps_pins &kpc_cfg_func
317 &audio_out_cfg_func>;
318 board_pu_pins: board_pu_pins {
319 pinctrl-single,pins = <
320 0x014 0 /* GPIO_158 (IOCFG2) */
321 0x018 0 /* GPIO_159 (IOCFG3) */
322 0x01c 0 /* BOOT_MODE0 (IOCFG4) */
323 0x020 0 /* BOOT_MODE1 (IOCFG5) */
324 >;
325 pinctrl-single,bias-pulldown = <0 2 0 2>;
326 pinctrl-single,bias-pullup = <1 1 0 1>;
327 };
328 board_pd_pins: board_pd_pins {
329 pinctrl-single,pins = <
330 0x038 0 /* eFUSE_DOUT (IOCFG11) */
331 0x150 0 /* ISP_GPIO8 (IOCFG93) */
332 0x154 0 /* ISP_GPIO9 (IOCFG94) */
333 >;
334 pinctrl-single,bias-pulldown = <2 2 0 2>;
335 pinctrl-single,bias-pullup = <0 1 0 1>;
336 };
337 board_pd_ps_pins: board_pd_ps_pins {
338 pinctrl-single,pins = <
339 0x2d8 0 /* CLK_OUT0 (IOCFG190) */
340 0x004 0 /* PMU_SPI_DATA (IOCFG192) */
341 >;
342 pinctrl-single,bias-pulldown = <2 2 0 2>;
343 pinctrl-single,bias-pullup = <0 1 0 1>;
344 pinctrl-single,drive-strength = <0x30 0xf0>;
345 };
346 board_np_pins: board_np_pins {
347 pinctrl-single,pins = <
348 0x24c 0 /* KEYPAD_OUT7 (IOCFG155) */
349 >;
350 pinctrl-single,bias-pulldown = <0 2 0 2>;
351 pinctrl-single,bias-pullup = <0 1 0 1>;
352 };
353 board_ps_pins: board_ps_pins {
354 pinctrl-single,pins = <
355 0x000 0 /* PMU_SPI_CLK (IOCFG191) */
356 0x008 0 /* PMU_SPI_CS_N (IOCFG193) */
357 >;
358 pinctrl-single,drive-strength = <0x30 0xf0>;
359 };
360 uart0_cfg_func: uart0_cfg_func {
361 pinctrl-single,pins = <
362 0x208 0 /* UART0_RXD (IOCFG138) */
363 0x20c 0 /* UART0_TXD (IOCFG139) */
364 >;
365 pinctrl-single,bias-pulldown = <0 2 0 2>;
366 pinctrl-single,bias-pullup = <0 1 0 1>;
367 };
368 uart0_cfg_idle: uart0_cfg_idle {
369 pinctrl-single,pins = <
370 0x208 0 /* UART0_RXD (IOCFG138) */
371 0x20c 0 /* UART0_TXD (IOCFG139) */
372 >;
373 pinctrl-single,bias-pulldown = <2 2 0 2>;
374 pinctrl-single,bias-pullup = <0 1 0 1>;
375 };
376 uart1_cfg_func: uart1_cfg_func {
377 pinctrl-single,pins = <
378 0x210 0 /* UART1_CTS (IOCFG140) */
379 0x214 0 /* UART1_RTS (IOCFG141) */
380 0x218 0 /* UART1_RXD (IOCFG142) */
381 0x21c 0 /* UART1_TXD (IOCFG143) */
382 >;
383 pinctrl-single,bias-pulldown = <0 2 0 2>;
384 pinctrl-single,bias-pullup = <0 1 0 1>;
385 };
386 uart1_cfg_idle: uart1_cfg_idle {
387 pinctrl-single,pins = <
388 0x210 0 /* UART1_CTS (IOCFG140) */
389 0x214 0 /* UART1_RTS (IOCFG141) */
390 0x218 0 /* UART1_RXD (IOCFG142) */
391 0x21c 0 /* UART1_TXD (IOCFG143) */
392 >;
393 pinctrl-single,bias-pulldown = <2 2 0 2>;
394 pinctrl-single,bias-pullup = <0 1 0 1>;
395 };
396 uart2_cfg_func: uart2_cfg_func {
397 pinctrl-single,pins = <
398 0x220 0 /* UART2_CTS (IOCFG144) */
399 0x224 0 /* UART2_RTS (IOCFG145) */
400 0x228 0 /* UART2_RXD (IOCFG146) */
401 0x22c 0 /* UART2_TXD (IOCFG147) */
402 >;
403 pinctrl-single,bias-pulldown = <0 2 0 2>;
404 pinctrl-single,bias-pullup = <0 1 0 1>;
405 };
406 uart2_cfg_idle: uart2_cfg_idle {
407 pinctrl-single,pins = <
408 0x220 0 /* GPIO (IOCFG144) */
409 0x224 0 /* GPIO (IOCFG145) */
410 0x228 0 /* GPIO (IOCFG146) */
411 0x22c 0 /* GPIO (IOCFG147) */
412 >;
413 pinctrl-single,bias-pulldown = <2 2 0 2>;
414 pinctrl-single,bias-pullup = <0 1 0 1>;
415 };
416 uart3_cfg_func: uart3_cfg_func {
417 pinctrl-single,pins = <
418 0x294 0 /* UART3_CTS (IOCFG173) */
419 0x298 0 /* UART3_RTS (IOCFG174) */
420 0x29c 0 /* UART3_RXD (IOCFG175) */
421 0x2a0 0 /* UART3_TXD (IOCFG176) */
422 >;
423 pinctrl-single,bias-pulldown = <0 2 0 2>;
424 pinctrl-single,bias-pullup = <0 1 0 1>;
425 };
426 uart3_cfg_idle: uart3_cfg_idle {
427 pinctrl-single,pins = <
428 0x294 0 /* UART3_CTS (IOCFG173) */
429 0x298 0 /* UART3_RTS (IOCFG174) */
430 0x29c 0 /* UART3_RXD (IOCFG175) */
431 0x2a0 0 /* UART3_TXD (IOCFG176) */
432 >;
433 pinctrl-single,bias-pulldown = <2 2 0 2>;
434 pinctrl-single,bias-pullup = <0 1 0 1>;
435 };
436 uart4_cfg_func: uart4_cfg_func {
437 pinctrl-single,pins = <
438 0x2a4 0 /* UART4_CTS (IOCFG177) */
439 0x2a8 0 /* UART4_RTS (IOCFG178) */
440 0x2ac 0 /* UART4_RXD (IOCFG179) */
441 0x2b0 0 /* UART4_TXD (IOCFG180) */
442 >;
443 pinctrl-single,bias-pulldown = <0 2 0 2>;
444 pinctrl-single,bias-pullup = <0 1 0 1>;
445 };
446 i2c0_cfg_func: i2c0_cfg_func {
447 pinctrl-single,pins = <
448 0x17c 0 /* I2C0_SCL (IOCFG103) */
449 0x180 0 /* I2C0_SDA (IOCFG104) */
450 >;
451 pinctrl-single,bias-pulldown = <0 2 0 2>;
452 pinctrl-single,bias-pullup = <0 1 0 1>;
453 pinctrl-single,drive-strength = <0x30 0xf0>;
454 };
455 i2c1_cfg_func: i2c1_cfg_func {
456 pinctrl-single,pins = <
457 0x184 0 /* I2C1_SCL (IOCFG105) */
458 0x188 0 /* I2C1_SDA (IOCFG106) */
459 >;
460 pinctrl-single,bias-pulldown = <0 2 0 2>;
461 pinctrl-single,bias-pullup = <0 1 0 1>;
462 pinctrl-single,drive-strength = <0x30 0xf0>;
463 };
464 i2c2_cfg_func: i2c2_cfg_func {
465 pinctrl-single,pins = <
466 0x118 0 /* I2C2_SCL (IOCFG79) */
467 0x11c 0 /* I2C2_SDA (IOCFG80) */
468 >;
469 pinctrl-single,bias-pulldown = <0 2 0 2>;
470 pinctrl-single,bias-pullup = <0 1 0 1>;
471 pinctrl-single,drive-strength = <0x30 0xf0>;
472 };
473 i2c3_cfg_func: i2c3_cfg_func {
474 pinctrl-single,pins = <
475 0x100 0 /* I2C3_SCL (IOCFG73) */
476 0x104 0 /* I2C3_SDA (IOCFG74) */
477 >;
478 pinctrl-single,bias-pulldown = <0 2 0 2>;
479 pinctrl-single,bias-pullup = <0 1 0 1>;
480 pinctrl-single,drive-strength = <0x30 0xf0>;
481 };
482 spi0_cfg_func1: spi0_cfg_func1 {
483 pinctrl-single,pins = <
484 0x1d4 0 /* SPI0_CLK (IOCFG125) */
485 0x1d8 0 /* SPI0_DI (IOCFG126) */
486 0x1dc 0 /* SPI0_DO (IOCFG127) */
487 >;
488 pinctrl-single,bias-pulldown = <2 2 0 2>;
489 pinctrl-single,bias-pullup = <0 1 0 1>;
490 pinctrl-single,drive-strength = <0x30 0xf0>;
491 };
492 spi0_cfg_func2: spi0_cfg_func2 {
493 pinctrl-single,pins = <
494 0x1e0 0 /* SPI0_CS0 (IOCFG128) */
495 0x1e4 0 /* SPI0_CS1 (IOCFG129) */
496 0x1e8 0 /* SPI0_CS2 (IOCFG130 */
497 0x1ec 0 /* SPI0_CS3 (IOCFG131) */
498 >;
499 pinctrl-single,bias-pulldown = <0 2 0 2>;
500 pinctrl-single,bias-pullup = <1 1 0 1>;
501 pinctrl-single,drive-strength = <0x30 0xf0>;
502 };
503 spi1_cfg_func1: spi1_cfg_func1 {
504 pinctrl-single,pins = <
505 0x1f0 0 /* SPI1_CLK (IOCFG132) */
506 0x1f4 0 /* SPI1_DI (IOCFG133) */
507 0x1f8 0 /* SPI1_DO (IOCFG134) */
508 >;
509 pinctrl-single,bias-pulldown = <2 2 0 2>;
510 pinctrl-single,bias-pullup = <0 1 0 1>;
511 pinctrl-single,drive-strength = <0x30 0xf0>;
512 };
513 spi1_cfg_func2: spi1_cfg_func2 {
514 pinctrl-single,pins = <
515 0x1fc 0 /* SPI1_CS (IOCFG135) */
516 >;
517 pinctrl-single,bias-pulldown = <0 2 0 2>;
518 pinctrl-single,bias-pullup = <1 1 0 1>;
519 pinctrl-single,drive-strength = <0x30 0xf0>;
520 };
521 kpc_cfg_func: kpc_cfg_func {
522 pinctrl-single,pins = <
523 0x250 0 /* KEY_IN0 (IOCFG156) */
524 0x254 0 /* KEY_IN1 (IOCFG157) */
525 0x258 0 /* KEY_IN2 (IOCFG158) */
526 0x230 0 /* KEY_OUT0 (IOCFG148) */
527 0x234 0 /* KEY_OUT1 (IOCFG149) */
528 0x238 0 /* KEY_OUT2 (IOCFG150) */
529 >;
530 pinctrl-single,bias-pulldown = <2 2 0 2>;
531 pinctrl-single,bias-pullup = <0 1 0 1>;
532 };
533 emmc_cfg_func: emmc_cfg_func {
534 pinctrl-single,pins = <
535 0x0ac 0 /* eMMC_CMD (IOCFG40) */
536 0x0b0 0 /* eMMC_CLK (IOCFG41) */
537 0x058 0 /* NAND_CS3_N (IOCFG19) */
538 0x064 0 /* NAND_BUSY2_N (IOCFG22) */
539 0x068 0 /* NAND_BUSY3_N (IOCFG23) */
540 0x08c 0 /* NAND_DATA8 (IOCFG32) */
541 0x090 0 /* NAND_DATA9 (IOCFG33) */
542 0x094 0 /* NAND_DATA10 (IOCFG34) */
543 0x098 0 /* NAND_DATA11 (IOCFG35) */
544 0x09c 0 /* NAND_DATA12 (IOCFG36) */
545 0x0a0 0 /* NAND_DATA13 (IOCFG37) */
546 0x0a4 0 /* NAND_DATA14 (IOCFG38) */
547 0x0a8 0 /* NAND_DATA15 (IOCFG39) */
548 >;
549 pinctrl-single,bias-pulldown = <0 2 0 2>;
550 pinctrl-single,bias-pullup = <1 1 0 1>;
551 pinctrl-single,drive-strength = <0x30 0xf0>;
552 };
553 sd_cfg_func1: sd_cfg_func1 {
554 pinctrl-single,pins = <
555 0x18c 0 /* SD_CLK (IOCFG107) */
556 0x190 0 /* SD_CMD (IOCFG108) */
557 >;
558 pinctrl-single,bias-pulldown = <2 2 0 2>;
559 pinctrl-single,bias-pullup = <0 1 0 1>;
560 pinctrl-single,drive-strength = <0x30 0xf0>;
561 };
562 sd_cfg_func2: sd_cfg_func2 {
563 pinctrl-single,pins = <
564 0x194 0 /* SD_DATA0 (IOCFG109) */
565 0x198 0 /* SD_DATA1 (IOCFG110) */
566 0x19c 0 /* SD_DATA2 (IOCFG111) */
567 0x1a0 0 /* SD_DATA3 (IOCFG112) */
568 >;
569 pinctrl-single,bias-pulldown = <2 2 0 2>;
570 pinctrl-single,bias-pullup = <0 1 0 1>;
571 pinctrl-single,drive-strength = <0x70 0xf0>;
572 };
573 nand_cfg_func1: nand_cfg_func1 {
574 pinctrl-single,pins = <
575 0x03c 0 /* NAND_ALE (IOCFG12) */
576 0x040 0 /* NAND_CLE (IOCFG13) */
577 0x06c 0 /* NAND_DATA0 (IOCFG24) */
578 0x070 0 /* NAND_DATA1 (IOCFG25) */
579 0x074 0 /* NAND_DATA2 (IOCFG26) */
580 0x078 0 /* NAND_DATA3 (IOCFG27) */
581 0x07c 0 /* NAND_DATA4 (IOCFG28) */
582 0x080 0 /* NAND_DATA5 (IOCFG29) */
583 0x084 0 /* NAND_DATA6 (IOCFG30) */
584 0x088 0 /* NAND_DATA7 (IOCFG31) */
585 0x08c 0 /* NAND_DATA8 (IOCFG32) */
586 0x090 0 /* NAND_DATA9 (IOCFG33) */
587 0x094 0 /* NAND_DATA10 (IOCFG34) */
588 0x098 0 /* NAND_DATA11 (IOCFG35) */
589 0x09c 0 /* NAND_DATA12 (IOCFG36) */
590 0x0a0 0 /* NAND_DATA13 (IOCFG37) */
591 0x0a4 0 /* NAND_DATA14 (IOCFG38) */
592 0x0a8 0 /* NAND_DATA15 (IOCFG39) */
593 >;
594 pinctrl-single,bias-pulldown = <2 2 0 2>;
595 pinctrl-single,bias-pullup = <0 1 0 1>;
596 pinctrl-single,drive-strength = <0x30 0xf0>;
597 };
598 nand_cfg_func2: nand_cfg_func2 {
599 pinctrl-single,pins = <
600 0x044 0 /* NAND_RE_N (IOCFG14) */
601 0x048 0 /* NAND_WE_N (IOCFG15) */
602 0x04c 0 /* NAND_CS0_N (IOCFG16) */
603 0x050 0 /* NAND_CS1_N (IOCFG17) */
604 0x054 0 /* NAND_CS2_N (IOCFG18) */
605 0x058 0 /* NAND_CS3_N (IOCFG19) */
606 0x05c 0 /* NAND_BUSY0_N (IOCFG20) */
607 0x060 0 /* NAND_BUSY1_N (IOCFG21) */
608 0x064 0 /* NAND_BUSY2_N (IOCFG22) */
609 0x068 0 /* NAND_BUSY3_N (IOCFG23) */
610 >;
611 pinctrl-single,bias-pulldown = <0 2 0 2>;
612 pinctrl-single,bias-pullup = <1 1 0 1>;
613 pinctrl-single,drive-strength = <0x30 0xf0>;
614 };
615 sdio_cfg_func: sdio_cfg_func {
616 pinctrl-single,pins = <
617 0x1a4 0 /* SDIO0_CLK (IOCG113) */
618 0x1a8 0 /* SDIO0_CMD (IOCG114) */
619 0x1ac 0 /* SDIO0_DATA0 (IOCG115) */
620 0x1b0 0 /* SDIO0_DATA1 (IOCG116) */
621 0x1b4 0 /* SDIO0_DATA2 (IOCG117) */
622 0x1b8 0 /* SDIO0_DATA3 (IOCG118) */
623 >;
624 pinctrl-single,bias-pulldown = <2 2 0 2>;
625 pinctrl-single,bias-pullup = <0 1 0 1>;
626 pinctrl-single,drive-strength = <0x30 0xf0>;
627 };
628 audio_out_cfg_func: audio_out_cfg_func {
629 pinctrl-single,pins = <
630 0x200 0 /* GPIO (IOCFG136) */
631 0x204 0 /* GPIO (IOCFG137) */
632 >;
633 pinctrl-single,bias-pulldown = <2 2 0 2>;
634 pinctrl-single,bias-pullup = <0 1 0 1>;
635 };
636 };
637 };
638
639 gpio-keys {
640 compatible = "gpio-keys";
641
642 call {
643 label = "call";
644 gpios = <&gpio17 2 0>;
645 linux,code = <169>; /* KEY_PHONE */
646 };
647 };
648};