2 * Copyright (C) 2012-2013 Linaro Ltd.
3 * Author: Haojian Zhuang <haojian.zhuang@linaro.org>
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.
12 #include "hi3620.dtsi"
15 model = "Hisilicon Hi4511 Development Board";
16 compatible = "hisilicon,hi3620-hi4511";
19 bootargs = "root=/dev/ram0";
20 stdout-path = "serial0:115200n8";
24 device_type = "memory";
25 reg = <0x40000000 0x20000000>;
29 dual_timer0: dual_timer@800000 {
33 uart0: uart@b00000 { /* console */
34 pinctrl-names = "default", "idle";
35 pinctrl-0 = <&uart0_pmx_func &uart0_cfg_func>;
36 pinctrl-1 = <&uart0_pmx_idle &uart0_cfg_idle>;
40 uart1: uart@b01000 { /* modem */
41 pinctrl-names = "default", "idle";
42 pinctrl-0 = <&uart1_pmx_func &uart1_cfg_func>;
43 pinctrl-1 = <&uart1_pmx_idle &uart1_cfg_idle>;
47 uart2: uart@b02000 { /* audience */
48 pinctrl-names = "default", "idle";
49 pinctrl-0 = <&uart2_pmx_func &uart2_cfg_func>;
50 pinctrl-1 = <&uart2_pmx_idle &uart2_cfg_idle>;
55 pinctrl-names = "default", "idle";
56 pinctrl-0 = <&uart3_pmx_func &uart3_cfg_func>;
57 pinctrl-1 = <&uart3_pmx_idle &uart3_cfg_idle>;
62 pinctrl-names = "default", "idle";
63 pinctrl-0 = <&uart4_pmx_func &uart4_cfg_func>;
64 pinctrl-1 = <&uart4_pmx_idle &uart4_cfg_func>;
69 pinctrl-names = "default";
70 pinctrl-0 = <&board_pmx_pins>;
72 board_pmx_pins: board_pmx_pins {
73 pinctrl-single,pins = <
74 0x008 0x0 /* GPIO -- eFUSE_DOUT */
75 0x100 0x0 /* USIM_CLK & USIM_DATA (IOMG63) */
78 uart0_pmx_func: uart0_pmx_func {
79 pinctrl-single,pins = <
81 0x0f4 0x0 /* UART0_RX & UART0_TX */
84 uart0_pmx_idle: uart0_pmx_idle {
85 pinctrl-single,pins = <
86 /*0x0f0 0x1*/ /* UART0_CTS & UART0_RTS */
87 0x0f4 0x1 /* UART0_RX & UART0_TX */
90 uart1_pmx_func: uart1_pmx_func {
91 pinctrl-single,pins = <
92 0x0f8 0x0 /* UART1_CTS & UART1_RTS (IOMG61) */
93 0x0fc 0x0 /* UART1_RX & UART1_TX (IOMG62) */
96 uart1_pmx_idle: uart1_pmx_idle {
97 pinctrl-single,pins = <
98 0x0f8 0x1 /* GPIO (IOMG61) */
99 0x0fc 0x1 /* GPIO (IOMG62) */
102 uart2_pmx_func: uart2_pmx_func {
103 pinctrl-single,pins = <
104 0x104 0x2 /* UART2_RXD (IOMG96) */
105 0x108 0x2 /* UART2_TXD (IOMG64) */
108 uart2_pmx_idle: uart2_pmx_idle {
109 pinctrl-single,pins = <
110 0x104 0x1 /* GPIO (IOMG96) */
111 0x108 0x1 /* GPIO (IOMG64) */
114 uart3_pmx_func: uart3_pmx_func {
115 pinctrl-single,pins = <
116 0x160 0x2 /* UART3_CTS & UART3_RTS (IOMG85) */
117 0x164 0x2 /* UART3_RXD & UART3_TXD (IOMG86) */
120 uart3_pmx_idle: uart3_pmx_idle {
121 pinctrl-single,pins = <
122 0x160 0x1 /* GPIO (IOMG85) */
123 0x164 0x1 /* GPIO (IOMG86) */
126 uart4_pmx_func: uart4_pmx_func {
127 pinctrl-single,pins = <
128 0x168 0x0 /* UART4_CTS & UART4_RTS (IOMG87) */
129 0x16c 0x0 /* UART4_RXD (IOMG88) */
130 0x170 0x0 /* UART4_TXD (IOMG93) */
133 uart4_pmx_idle: uart4_pmx_idle {
134 pinctrl-single,pins = <
135 0x168 0x1 /* GPIO (IOMG87) */
136 0x16c 0x1 /* GPIO (IOMG88) */
137 0x170 0x1 /* GPIO (IOMG93) */
140 i2c0_pmx_func: i2c0_pmx_func {
141 pinctrl-single,pins = <
142 0x0b4 0x0 /* I2C0_SCL & I2C0_SDA (IOMG45) */
145 i2c0_pmx_idle: i2c0_pmx_idle {
146 pinctrl-single,pins = <
147 0x0b4 0x1 /* GPIO (IOMG45) */
150 i2c1_pmx_func: i2c1_pmx_func {
151 pinctrl-single,pins = <
152 0x0b8 0x0 /* I2C1_SCL & I2C1_SDA (IOMG46) */
155 i2c1_pmx_idle: i2c1_pmx_idle {
156 pinctrl-single,pins = <
157 0x0b8 0x1 /* GPIO (IOMG46) */
160 i2c2_pmx_func: i2c2_pmx_func {
161 pinctrl-single,pins = <
162 0x068 0x0 /* I2C2_SCL (IOMG26) */
163 0x06c 0x0 /* I2C2_SDA (IOMG27) */
166 i2c2_pmx_idle: i2c2_pmx_idle {
167 pinctrl-single,pins = <
168 0x068 0x1 /* GPIO (IOMG26) */
169 0x06c 0x1 /* GPIO (IOMG27) */
172 i2c3_pmx_func: i2c3_pmx_func {
173 pinctrl-single,pins = <
174 0x050 0x2 /* I2C3_SCL (IOMG20) */
175 0x054 0x2 /* I2C3_SDA (IOMG21) */
178 i2c3_pmx_idle: i2c3_pmx_idle {
179 pinctrl-single,pins = <
180 0x050 0x1 /* GPIO (IOMG20) */
181 0x054 0x1 /* GPIO (IOMG21) */
184 spi0_pmx_func: spi0_pmx_func {
185 pinctrl-single,pins = <
186 0x0d4 0x0 /* SPI0_CLK/SPI0_DI/SPI0_DO (IOMG53) */
187 0x0d8 0x0 /* SPI0_CS0 (IOMG54) */
188 0x0dc 0x0 /* SPI0_CS1 (IOMG55) */
189 0x0e0 0x0 /* SPI0_CS2 (IOMG56) */
190 0x0e4 0x0 /* SPI0_CS3 (IOMG57) */
193 spi0_pmx_idle: spi0_pmx_idle {
194 pinctrl-single,pins = <
195 0x0d4 0x1 /* GPIO (IOMG53) */
196 0x0d8 0x1 /* GPIO (IOMG54) */
197 0x0dc 0x1 /* GPIO (IOMG55) */
198 0x0e0 0x1 /* GPIO (IOMG56) */
199 0x0e4 0x1 /* GPIO (IOMG57) */
202 spi1_pmx_func: spi1_pmx_func {
203 pinctrl-single,pins = <
204 0x184 0x0 /* SPI1_CLK/SPI1_DI (IOMG98) */
205 0x0e8 0x0 /* SPI1_DO (IOMG58) */
206 0x0ec 0x0 /* SPI1_CS (IOMG95) */
209 spi1_pmx_idle: spi1_pmx_idle {
210 pinctrl-single,pins = <
211 0x184 0x1 /* GPIO (IOMG98) */
212 0x0e8 0x1 /* GPIO (IOMG58) */
213 0x0ec 0x1 /* GPIO (IOMG95) */
216 kpc_pmx_func: kpc_pmx_func {
217 pinctrl-single,pins = <
218 0x12c 0x0 /* KEY_IN0 (IOMG73) */
219 0x130 0x0 /* KEY_IN1 (IOMG74) */
220 0x134 0x0 /* KEY_IN2 (IOMG75) */
221 0x10c 0x0 /* KEY_OUT0 (IOMG65) */
222 0x110 0x0 /* KEY_OUT1 (IOMG66) */
223 0x114 0x0 /* KEY_OUT2 (IOMG67) */
226 kpc_pmx_idle: kpc_pmx_idle {
227 pinctrl-single,pins = <
228 0x12c 0x1 /* GPIO (IOMG73) */
229 0x130 0x1 /* GPIO (IOMG74) */
230 0x134 0x1 /* GPIO (IOMG75) */
231 0x10c 0x1 /* GPIO (IOMG65) */
232 0x110 0x1 /* GPIO (IOMG66) */
233 0x114 0x1 /* GPIO (IOMG67) */
236 gpio_key_func: gpio_key_func {
237 pinctrl-single,pins = <
238 0x10c 0x1 /* KEY_OUT0/GPIO (IOMG65) */
239 0x130 0x1 /* KEY_IN1/GPIO (IOMG74) */
242 emmc_pmx_func: emmc_pmx_func {
243 pinctrl-single,pins = <
244 0x030 0x2 /* eMMC_CMD/eMMC_CLK (IOMG12) */
245 0x018 0x0 /* NAND_CS3_N (IOMG6) */
246 0x024 0x0 /* NAND_BUSY2_N (IOMG8) */
247 0x028 0x0 /* NAND_BUSY3_N (IOMG9) */
248 0x02c 0x2 /* eMMC_DATA[0:7] (IOMG10) */
251 emmc_pmx_idle: emmc_pmx_idle {
252 pinctrl-single,pins = <
253 0x030 0x0 /* GPIO (IOMG12) */
254 0x018 0x1 /* GPIO (IOMG6) */
255 0x024 0x1 /* GPIO (IOMG8) */
256 0x028 0x1 /* GPIO (IOMG9) */
257 0x02c 0x1 /* GPIO (IOMG10) */
260 sd_pmx_func: sd_pmx_func {
261 pinctrl-single,pins = <
262 0x0bc 0x0 /* SD_CLK/SD_CMD/SD_DATA0/SD_DATA1/SD_DATA2 (IOMG47) */
263 0x0c0 0x0 /* SD_DATA3 (IOMG48) */
266 sd_pmx_idle: sd_pmx_idle {
267 pinctrl-single,pins = <
268 0x0bc 0x1 /* GPIO (IOMG47) */
269 0x0c0 0x1 /* GPIO (IOMG48) */
272 nand_pmx_func: nand_pmx_func {
273 pinctrl-single,pins = <
274 0x00c 0x0 /* NAND_ALE/NAND_CLE/.../NAND_DATA[0:7] (IOMG3) */
275 0x010 0x0 /* NAND_CS1_N (IOMG4) */
276 0x014 0x0 /* NAND_CS2_N (IOMG5) */
277 0x018 0x0 /* NAND_CS3_N (IOMG6) */
278 0x01c 0x0 /* NAND_BUSY0_N (IOMG94) */
279 0x020 0x0 /* NAND_BUSY1_N (IOMG7) */
280 0x024 0x0 /* NAND_BUSY2_N (IOMG8) */
281 0x028 0x0 /* NAND_BUSY3_N (IOMG9) */
282 0x02c 0x0 /* NAND_DATA[8:15] (IOMG10) */
285 nand_pmx_idle: nand_pmx_idle {
286 pinctrl-single,pins = <
287 0x00c 0x1 /* GPIO (IOMG3) */
288 0x010 0x1 /* GPIO (IOMG4) */
289 0x014 0x1 /* GPIO (IOMG5) */
290 0x018 0x1 /* GPIO (IOMG6) */
291 0x01c 0x1 /* GPIO (IOMG94) */
292 0x020 0x1 /* GPIO (IOMG7) */
293 0x024 0x1 /* GPIO (IOMG8) */
294 0x028 0x1 /* GPIO (IOMG9) */
295 0x02c 0x1 /* GPIO (IOMG10) */
298 sdio_pmx_func: sdio_pmx_func {
299 pinctrl-single,pins = <
300 0x0c4 0x0 /* SDIO_CLK/SDIO_CMD/SDIO_DATA[0:3] (IOMG49) */
303 sdio_pmx_idle: sdio_pmx_idle {
304 pinctrl-single,pins = <
305 0x0c4 0x1 /* GPIO (IOMG49) */
308 audio_out_pmx_func: audio_out_pmx_func {
309 pinctrl-single,pins = <
310 0x0f0 0x1 /* GPIO (IOMG59), audio spk & earphone */
315 pmx1: pinmux@803800 {
316 pinctrl-names = "default";
317 pinctrl-0 = < &board_pu_pins &board_pd_pins &board_pd_ps_pins
318 &board_np_pins &board_ps_pins &kpc_cfg_func
319 &audio_out_cfg_func>;
320 board_pu_pins: board_pu_pins {
321 pinctrl-single,pins = <
322 0x014 0 /* GPIO_158 (IOCFG2) */
323 0x018 0 /* GPIO_159 (IOCFG3) */
324 0x01c 0 /* BOOT_MODE0 (IOCFG4) */
325 0x020 0 /* BOOT_MODE1 (IOCFG5) */
327 pinctrl-single,bias-pulldown = <0 2 0 2>;
328 pinctrl-single,bias-pullup = <1 1 0 1>;
330 board_pd_pins: board_pd_pins {
331 pinctrl-single,pins = <
332 0x038 0 /* eFUSE_DOUT (IOCFG11) */
333 0x150 0 /* ISP_GPIO8 (IOCFG93) */
334 0x154 0 /* ISP_GPIO9 (IOCFG94) */
336 pinctrl-single,bias-pulldown = <2 2 0 2>;
337 pinctrl-single,bias-pullup = <0 1 0 1>;
339 board_pd_ps_pins: board_pd_ps_pins {
340 pinctrl-single,pins = <
341 0x2d8 0 /* CLK_OUT0 (IOCFG190) */
342 0x004 0 /* PMU_SPI_DATA (IOCFG192) */
344 pinctrl-single,bias-pulldown = <2 2 0 2>;
345 pinctrl-single,bias-pullup = <0 1 0 1>;
346 pinctrl-single,drive-strength = <0x30 0xf0>;
348 board_np_pins: board_np_pins {
349 pinctrl-single,pins = <
350 0x24c 0 /* KEYPAD_OUT7 (IOCFG155) */
352 pinctrl-single,bias-pulldown = <0 2 0 2>;
353 pinctrl-single,bias-pullup = <0 1 0 1>;
355 board_ps_pins: board_ps_pins {
356 pinctrl-single,pins = <
357 0x000 0 /* PMU_SPI_CLK (IOCFG191) */
358 0x008 0 /* PMU_SPI_CS_N (IOCFG193) */
360 pinctrl-single,drive-strength = <0x30 0xf0>;
362 uart0_cfg_func: uart0_cfg_func {
363 pinctrl-single,pins = <
364 0x208 0 /* UART0_RXD (IOCFG138) */
365 0x20c 0 /* UART0_TXD (IOCFG139) */
367 pinctrl-single,bias-pulldown = <0 2 0 2>;
368 pinctrl-single,bias-pullup = <0 1 0 1>;
370 uart0_cfg_idle: uart0_cfg_idle {
371 pinctrl-single,pins = <
372 0x208 0 /* UART0_RXD (IOCFG138) */
373 0x20c 0 /* UART0_TXD (IOCFG139) */
375 pinctrl-single,bias-pulldown = <2 2 0 2>;
376 pinctrl-single,bias-pullup = <0 1 0 1>;
378 uart1_cfg_func: uart1_cfg_func {
379 pinctrl-single,pins = <
380 0x210 0 /* UART1_CTS (IOCFG140) */
381 0x214 0 /* UART1_RTS (IOCFG141) */
382 0x218 0 /* UART1_RXD (IOCFG142) */
383 0x21c 0 /* UART1_TXD (IOCFG143) */
385 pinctrl-single,bias-pulldown = <0 2 0 2>;
386 pinctrl-single,bias-pullup = <0 1 0 1>;
388 uart1_cfg_idle: uart1_cfg_idle {
389 pinctrl-single,pins = <
390 0x210 0 /* UART1_CTS (IOCFG140) */
391 0x214 0 /* UART1_RTS (IOCFG141) */
392 0x218 0 /* UART1_RXD (IOCFG142) */
393 0x21c 0 /* UART1_TXD (IOCFG143) */
395 pinctrl-single,bias-pulldown = <2 2 0 2>;
396 pinctrl-single,bias-pullup = <0 1 0 1>;
398 uart2_cfg_func: uart2_cfg_func {
399 pinctrl-single,pins = <
400 0x220 0 /* UART2_CTS (IOCFG144) */
401 0x224 0 /* UART2_RTS (IOCFG145) */
402 0x228 0 /* UART2_RXD (IOCFG146) */
403 0x22c 0 /* UART2_TXD (IOCFG147) */
405 pinctrl-single,bias-pulldown = <0 2 0 2>;
406 pinctrl-single,bias-pullup = <0 1 0 1>;
408 uart2_cfg_idle: uart2_cfg_idle {
409 pinctrl-single,pins = <
410 0x220 0 /* GPIO (IOCFG144) */
411 0x224 0 /* GPIO (IOCFG145) */
412 0x228 0 /* GPIO (IOCFG146) */
413 0x22c 0 /* GPIO (IOCFG147) */
415 pinctrl-single,bias-pulldown = <2 2 0 2>;
416 pinctrl-single,bias-pullup = <0 1 0 1>;
418 uart3_cfg_func: uart3_cfg_func {
419 pinctrl-single,pins = <
420 0x294 0 /* UART3_CTS (IOCFG173) */
421 0x298 0 /* UART3_RTS (IOCFG174) */
422 0x29c 0 /* UART3_RXD (IOCFG175) */
423 0x2a0 0 /* UART3_TXD (IOCFG176) */
425 pinctrl-single,bias-pulldown = <0 2 0 2>;
426 pinctrl-single,bias-pullup = <0 1 0 1>;
428 uart3_cfg_idle: uart3_cfg_idle {
429 pinctrl-single,pins = <
430 0x294 0 /* UART3_CTS (IOCFG173) */
431 0x298 0 /* UART3_RTS (IOCFG174) */
432 0x29c 0 /* UART3_RXD (IOCFG175) */
433 0x2a0 0 /* UART3_TXD (IOCFG176) */
435 pinctrl-single,bias-pulldown = <2 2 0 2>;
436 pinctrl-single,bias-pullup = <0 1 0 1>;
438 uart4_cfg_func: uart4_cfg_func {
439 pinctrl-single,pins = <
440 0x2a4 0 /* UART4_CTS (IOCFG177) */
441 0x2a8 0 /* UART4_RTS (IOCFG178) */
442 0x2ac 0 /* UART4_RXD (IOCFG179) */
443 0x2b0 0 /* UART4_TXD (IOCFG180) */
445 pinctrl-single,bias-pulldown = <0 2 0 2>;
446 pinctrl-single,bias-pullup = <0 1 0 1>;
448 i2c0_cfg_func: i2c0_cfg_func {
449 pinctrl-single,pins = <
450 0x17c 0 /* I2C0_SCL (IOCFG103) */
451 0x180 0 /* I2C0_SDA (IOCFG104) */
453 pinctrl-single,bias-pulldown = <0 2 0 2>;
454 pinctrl-single,bias-pullup = <0 1 0 1>;
455 pinctrl-single,drive-strength = <0x30 0xf0>;
457 i2c1_cfg_func: i2c1_cfg_func {
458 pinctrl-single,pins = <
459 0x184 0 /* I2C1_SCL (IOCFG105) */
460 0x188 0 /* I2C1_SDA (IOCFG106) */
462 pinctrl-single,bias-pulldown = <0 2 0 2>;
463 pinctrl-single,bias-pullup = <0 1 0 1>;
464 pinctrl-single,drive-strength = <0x30 0xf0>;
466 i2c2_cfg_func: i2c2_cfg_func {
467 pinctrl-single,pins = <
468 0x118 0 /* I2C2_SCL (IOCFG79) */
469 0x11c 0 /* I2C2_SDA (IOCFG80) */
471 pinctrl-single,bias-pulldown = <0 2 0 2>;
472 pinctrl-single,bias-pullup = <0 1 0 1>;
473 pinctrl-single,drive-strength = <0x30 0xf0>;
475 i2c3_cfg_func: i2c3_cfg_func {
476 pinctrl-single,pins = <
477 0x100 0 /* I2C3_SCL (IOCFG73) */
478 0x104 0 /* I2C3_SDA (IOCFG74) */
480 pinctrl-single,bias-pulldown = <0 2 0 2>;
481 pinctrl-single,bias-pullup = <0 1 0 1>;
482 pinctrl-single,drive-strength = <0x30 0xf0>;
484 spi0_cfg_func1: spi0_cfg_func1 {
485 pinctrl-single,pins = <
486 0x1d4 0 /* SPI0_CLK (IOCFG125) */
487 0x1d8 0 /* SPI0_DI (IOCFG126) */
488 0x1dc 0 /* SPI0_DO (IOCFG127) */
490 pinctrl-single,bias-pulldown = <2 2 0 2>;
491 pinctrl-single,bias-pullup = <0 1 0 1>;
492 pinctrl-single,drive-strength = <0x30 0xf0>;
494 spi0_cfg_func2: spi0_cfg_func2 {
495 pinctrl-single,pins = <
496 0x1e0 0 /* SPI0_CS0 (IOCFG128) */
497 0x1e4 0 /* SPI0_CS1 (IOCFG129) */
498 0x1e8 0 /* SPI0_CS2 (IOCFG130 */
499 0x1ec 0 /* SPI0_CS3 (IOCFG131) */
501 pinctrl-single,bias-pulldown = <0 2 0 2>;
502 pinctrl-single,bias-pullup = <1 1 0 1>;
503 pinctrl-single,drive-strength = <0x30 0xf0>;
505 spi1_cfg_func1: spi1_cfg_func1 {
506 pinctrl-single,pins = <
507 0x1f0 0 /* SPI1_CLK (IOCFG132) */
508 0x1f4 0 /* SPI1_DI (IOCFG133) */
509 0x1f8 0 /* SPI1_DO (IOCFG134) */
511 pinctrl-single,bias-pulldown = <2 2 0 2>;
512 pinctrl-single,bias-pullup = <0 1 0 1>;
513 pinctrl-single,drive-strength = <0x30 0xf0>;
515 spi1_cfg_func2: spi1_cfg_func2 {
516 pinctrl-single,pins = <
517 0x1fc 0 /* SPI1_CS (IOCFG135) */
519 pinctrl-single,bias-pulldown = <0 2 0 2>;
520 pinctrl-single,bias-pullup = <1 1 0 1>;
521 pinctrl-single,drive-strength = <0x30 0xf0>;
523 kpc_cfg_func: kpc_cfg_func {
524 pinctrl-single,pins = <
525 0x250 0 /* KEY_IN0 (IOCFG156) */
526 0x254 0 /* KEY_IN1 (IOCFG157) */
527 0x258 0 /* KEY_IN2 (IOCFG158) */
528 0x230 0 /* KEY_OUT0 (IOCFG148) */
529 0x234 0 /* KEY_OUT1 (IOCFG149) */
530 0x238 0 /* KEY_OUT2 (IOCFG150) */
532 pinctrl-single,bias-pulldown = <2 2 0 2>;
533 pinctrl-single,bias-pullup = <0 1 0 1>;
535 emmc_cfg_func: emmc_cfg_func {
536 pinctrl-single,pins = <
537 0x0ac 0 /* eMMC_CMD (IOCFG40) */
538 0x0b0 0 /* eMMC_CLK (IOCFG41) */
539 0x058 0 /* NAND_CS3_N (IOCFG19) */
540 0x064 0 /* NAND_BUSY2_N (IOCFG22) */
541 0x068 0 /* NAND_BUSY3_N (IOCFG23) */
542 0x08c 0 /* NAND_DATA8 (IOCFG32) */
543 0x090 0 /* NAND_DATA9 (IOCFG33) */
544 0x094 0 /* NAND_DATA10 (IOCFG34) */
545 0x098 0 /* NAND_DATA11 (IOCFG35) */
546 0x09c 0 /* NAND_DATA12 (IOCFG36) */
547 0x0a0 0 /* NAND_DATA13 (IOCFG37) */
548 0x0a4 0 /* NAND_DATA14 (IOCFG38) */
549 0x0a8 0 /* NAND_DATA15 (IOCFG39) */
551 pinctrl-single,bias-pulldown = <0 2 0 2>;
552 pinctrl-single,bias-pullup = <1 1 0 1>;
553 pinctrl-single,drive-strength = <0x30 0xf0>;
555 sd_cfg_func1: sd_cfg_func1 {
556 pinctrl-single,pins = <
557 0x18c 0 /* SD_CLK (IOCFG107) */
558 0x190 0 /* SD_CMD (IOCFG108) */
560 pinctrl-single,bias-pulldown = <2 2 0 2>;
561 pinctrl-single,bias-pullup = <0 1 0 1>;
562 pinctrl-single,drive-strength = <0x30 0xf0>;
564 sd_cfg_func2: sd_cfg_func2 {
565 pinctrl-single,pins = <
566 0x194 0 /* SD_DATA0 (IOCFG109) */
567 0x198 0 /* SD_DATA1 (IOCFG110) */
568 0x19c 0 /* SD_DATA2 (IOCFG111) */
569 0x1a0 0 /* SD_DATA3 (IOCFG112) */
571 pinctrl-single,bias-pulldown = <2 2 0 2>;
572 pinctrl-single,bias-pullup = <0 1 0 1>;
573 pinctrl-single,drive-strength = <0x70 0xf0>;
575 nand_cfg_func1: nand_cfg_func1 {
576 pinctrl-single,pins = <
577 0x03c 0 /* NAND_ALE (IOCFG12) */
578 0x040 0 /* NAND_CLE (IOCFG13) */
579 0x06c 0 /* NAND_DATA0 (IOCFG24) */
580 0x070 0 /* NAND_DATA1 (IOCFG25) */
581 0x074 0 /* NAND_DATA2 (IOCFG26) */
582 0x078 0 /* NAND_DATA3 (IOCFG27) */
583 0x07c 0 /* NAND_DATA4 (IOCFG28) */
584 0x080 0 /* NAND_DATA5 (IOCFG29) */
585 0x084 0 /* NAND_DATA6 (IOCFG30) */
586 0x088 0 /* NAND_DATA7 (IOCFG31) */
587 0x08c 0 /* NAND_DATA8 (IOCFG32) */
588 0x090 0 /* NAND_DATA9 (IOCFG33) */
589 0x094 0 /* NAND_DATA10 (IOCFG34) */
590 0x098 0 /* NAND_DATA11 (IOCFG35) */
591 0x09c 0 /* NAND_DATA12 (IOCFG36) */
592 0x0a0 0 /* NAND_DATA13 (IOCFG37) */
593 0x0a4 0 /* NAND_DATA14 (IOCFG38) */
594 0x0a8 0 /* NAND_DATA15 (IOCFG39) */
596 pinctrl-single,bias-pulldown = <2 2 0 2>;
597 pinctrl-single,bias-pullup = <0 1 0 1>;
598 pinctrl-single,drive-strength = <0x30 0xf0>;
600 nand_cfg_func2: nand_cfg_func2 {
601 pinctrl-single,pins = <
602 0x044 0 /* NAND_RE_N (IOCFG14) */
603 0x048 0 /* NAND_WE_N (IOCFG15) */
604 0x04c 0 /* NAND_CS0_N (IOCFG16) */
605 0x050 0 /* NAND_CS1_N (IOCFG17) */
606 0x054 0 /* NAND_CS2_N (IOCFG18) */
607 0x058 0 /* NAND_CS3_N (IOCFG19) */
608 0x05c 0 /* NAND_BUSY0_N (IOCFG20) */
609 0x060 0 /* NAND_BUSY1_N (IOCFG21) */
610 0x064 0 /* NAND_BUSY2_N (IOCFG22) */
611 0x068 0 /* NAND_BUSY3_N (IOCFG23) */
613 pinctrl-single,bias-pulldown = <0 2 0 2>;
614 pinctrl-single,bias-pullup = <1 1 0 1>;
615 pinctrl-single,drive-strength = <0x30 0xf0>;
617 sdio_cfg_func: sdio_cfg_func {
618 pinctrl-single,pins = <
619 0x1a4 0 /* SDIO0_CLK (IOCG113) */
620 0x1a8 0 /* SDIO0_CMD (IOCG114) */
621 0x1ac 0 /* SDIO0_DATA0 (IOCG115) */
622 0x1b0 0 /* SDIO0_DATA1 (IOCG116) */
623 0x1b4 0 /* SDIO0_DATA2 (IOCG117) */
624 0x1b8 0 /* SDIO0_DATA3 (IOCG118) */
626 pinctrl-single,bias-pulldown = <2 2 0 2>;
627 pinctrl-single,bias-pullup = <0 1 0 1>;
628 pinctrl-single,drive-strength = <0x30 0xf0>;
630 audio_out_cfg_func: audio_out_cfg_func {
631 pinctrl-single,pins = <
632 0x200 0 /* GPIO (IOCFG136) */
633 0x204 0 /* GPIO (IOCFG137) */
635 pinctrl-single,bias-pulldown = <2 2 0 2>;
636 pinctrl-single,bias-pullup = <0 1 0 1>;
642 compatible = "gpio-keys";
646 gpios = <&gpio17 2 0>;
647 linux,code = <169>; /* KEY_PHONE */