diff options
author | Haojian Zhuang <haojian.zhuang@linaro.org> | 2013-12-11 02:54:51 -0500 |
---|---|---|
committer | Kevin Hilman <khilman@linaro.org> | 2013-12-17 19:43:32 -0500 |
commit | fa8962a8bb84cad2902cc7e2f3682cbc7450ab86 (patch) | |
tree | 2dede6e2c563ca71450605c90fdaa34410f98189 /arch/arm/boot/dts/hi4511.dts | |
parent | 2c7268c70fc1099ce4aac83c194675efd927e90f (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.dts | 648 |
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 | }; | ||