diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-10-02 19:20:20 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-10-02 19:20:20 -0400 |
commit | 06fe918e9f177dc2a0592b0ad40a6ce4920b2033 (patch) | |
tree | ea58ad79ba9688e8033d8ea762682fc664031b8c /drivers/pinctrl | |
parent | dff8360a4a079692e65e55fbaa6c5dc605528403 (diff) | |
parent | e1b2dc70cd5b00e17c703163a463d82354b1cc76 (diff) |
Merge tag 'pinctrl-for-v3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl
Pull pinctrl changes from Linus Walleij:
"Some of this stuff is hitting arch/arm/* and have been ACKed by the
ARM SoC folks, or it's device tree bindings pertaining to the specific
driver.
These are the bulk pinctrl changes for kernel v3.7:
- Add subdrivers for the DB8540 and NHK8815 Nomadik-type ASICs,
provide platform config for the Nomadik.
- Add a driver for the i.MX35.
- Add a driver for the BCM2835, an advanced GPIO expander.
- Various fixes and clean-ups and minor improvements for the core,
Nomadik, pinctr-single, sirf drivers.
- Some platform config for the ux500."
* tag 'pinctrl-for-v3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (27 commits)
pinctrl: add bcm2835 driver
pinctrl: clarify idle vs sleep states
pinctrl/nomadik: use irq_find_mapping()
pinctrl: sirf: add lost chained_irq_enter and exit in sirfsoc_gpio_handle_irq
pinctrl: sirf: initialize the irq_chip pointer of pinctrl_gpio_range
pinctrl: sirf: fix spinlock deadlock in sirfsoc_gpio_set_input
pinctrl: sirf: add missing pins to pinctrl list
pinctrl: sirf: fix a typo in sirfsoc_gpio_probe
pinctrl: pinctrl-single: add debugfs pin h/w state info
ARM: ux500: 8500: update I2C sleep states pinctrl
pinctrl: Fix potential memory leak in pinctrl_register_one_pin()
ARM: ux500: tidy up pin sleep modes
ARM: ux500: fix spi2 pin group
pinctrl: imx: remove duplicated const
pinctrl: document semantics vs GPIO
ARM: ux500: 8500: use hsit_a_2 group for HSI
pinctrl: use kasprintf() in pinmux_request_gpio()
pinctrl: pinctrl-single: Add pinctrl-single,bits type of mux
pinctrl/nomadik : add MC1_a_2 pin MC1 function group list
pinctrl: pinctrl-single: Make sure we do not change bits outside of mask
...
Diffstat (limited to 'drivers/pinctrl')
-rw-r--r-- | drivers/pinctrl/Kconfig | 21 | ||||
-rw-r--r-- | drivers/pinctrl/Makefile | 4 | ||||
-rw-r--r-- | drivers/pinctrl/core.c | 4 | ||||
-rw-r--r-- | drivers/pinctrl/pinctrl-bcm2835.c | 1075 | ||||
-rw-r--r-- | drivers/pinctrl/pinctrl-imx.c | 2 | ||||
-rw-r--r-- | drivers/pinctrl/pinctrl-imx35.c | 1595 | ||||
-rw-r--r-- | drivers/pinctrl/pinctrl-imx51.c | 490 | ||||
-rw-r--r-- | drivers/pinctrl/pinctrl-imx53.c | 402 | ||||
-rw-r--r-- | drivers/pinctrl/pinctrl-nomadik-db8500.c | 5 | ||||
-rw-r--r-- | drivers/pinctrl/pinctrl-nomadik-db8540.c | 999 | ||||
-rw-r--r-- | drivers/pinctrl/pinctrl-nomadik-stn8815.c | 357 | ||||
-rw-r--r-- | drivers/pinctrl/pinctrl-nomadik.c | 10 | ||||
-rw-r--r-- | drivers/pinctrl/pinctrl-nomadik.h | 27 | ||||
-rw-r--r-- | drivers/pinctrl/pinctrl-single.c | 56 | ||||
-rw-r--r-- | drivers/pinctrl/pinctrl-sirf.c | 23 | ||||
-rw-r--r-- | drivers/pinctrl/pinmux.c | 5 |
16 files changed, 4602 insertions, 473 deletions
diff --git a/drivers/pinctrl/Kconfig b/drivers/pinctrl/Kconfig index 34e94c7f68ca..1ef6e1e8c6c6 100644 --- a/drivers/pinctrl/Kconfig +++ b/drivers/pinctrl/Kconfig | |||
@@ -26,11 +26,24 @@ config DEBUG_PINCTRL | |||
26 | help | 26 | help |
27 | Say Y here to add some extra checks and diagnostics to PINCTRL calls. | 27 | Say Y here to add some extra checks and diagnostics to PINCTRL calls. |
28 | 28 | ||
29 | config PINCTRL_BCM2835 | ||
30 | bool | ||
31 | select PINMUX | ||
32 | select PINCONF | ||
33 | |||
29 | config PINCTRL_IMX | 34 | config PINCTRL_IMX |
30 | bool | 35 | bool |
31 | select PINMUX | 36 | select PINMUX |
32 | select PINCONF | 37 | select PINCONF |
33 | 38 | ||
39 | config PINCTRL_IMX35 | ||
40 | bool "IMX35 pinctrl driver" | ||
41 | depends on OF | ||
42 | depends on SOC_IMX35 | ||
43 | select PINCTRL_IMX | ||
44 | help | ||
45 | Say Y here to enable the imx35 pinctrl driver | ||
46 | |||
34 | config PINCTRL_IMX51 | 47 | config PINCTRL_IMX51 |
35 | bool "IMX51 pinctrl driver" | 48 | bool "IMX51 pinctrl driver" |
36 | depends on OF | 49 | depends on OF |
@@ -86,10 +99,18 @@ config PINCTRL_NOMADIK | |||
86 | select PINMUX | 99 | select PINMUX |
87 | select PINCONF | 100 | select PINCONF |
88 | 101 | ||
102 | config PINCTRL_STN8815 | ||
103 | bool "STN8815 pin controller driver" | ||
104 | depends on PINCTRL_NOMADIK && ARCH_NOMADIK | ||
105 | |||
89 | config PINCTRL_DB8500 | 106 | config PINCTRL_DB8500 |
90 | bool "DB8500 pin controller driver" | 107 | bool "DB8500 pin controller driver" |
91 | depends on PINCTRL_NOMADIK && ARCH_U8500 | 108 | depends on PINCTRL_NOMADIK && ARCH_U8500 |
92 | 109 | ||
110 | config PINCTRL_DB8540 | ||
111 | bool "DB8540 pin controller driver" | ||
112 | depends on PINCTRL_NOMADIK && ARCH_U8500 | ||
113 | |||
93 | config PINCTRL_PXA168 | 114 | config PINCTRL_PXA168 |
94 | bool "PXA168 pin controller driver" | 115 | bool "PXA168 pin controller driver" |
95 | depends on ARCH_MMP | 116 | depends on ARCH_MMP |
diff --git a/drivers/pinctrl/Makefile b/drivers/pinctrl/Makefile index 6a88113e11d9..698527dce29d 100644 --- a/drivers/pinctrl/Makefile +++ b/drivers/pinctrl/Makefile | |||
@@ -9,7 +9,9 @@ ifeq ($(CONFIG_OF),y) | |||
9 | obj-$(CONFIG_PINCTRL) += devicetree.o | 9 | obj-$(CONFIG_PINCTRL) += devicetree.o |
10 | endif | 10 | endif |
11 | obj-$(CONFIG_GENERIC_PINCONF) += pinconf-generic.o | 11 | obj-$(CONFIG_GENERIC_PINCONF) += pinconf-generic.o |
12 | obj-$(CONFIG_PINCTRL_BCM2835) += pinctrl-bcm2835.o | ||
12 | obj-$(CONFIG_PINCTRL_IMX) += pinctrl-imx.o | 13 | obj-$(CONFIG_PINCTRL_IMX) += pinctrl-imx.o |
14 | obj-$(CONFIG_PINCTRL_IMX35) += pinctrl-imx35.o | ||
13 | obj-$(CONFIG_PINCTRL_IMX51) += pinctrl-imx51.o | 15 | obj-$(CONFIG_PINCTRL_IMX51) += pinctrl-imx51.o |
14 | obj-$(CONFIG_PINCTRL_IMX53) += pinctrl-imx53.o | 16 | obj-$(CONFIG_PINCTRL_IMX53) += pinctrl-imx53.o |
15 | obj-$(CONFIG_PINCTRL_IMX6Q) += pinctrl-imx6q.o | 17 | obj-$(CONFIG_PINCTRL_IMX6Q) += pinctrl-imx6q.o |
@@ -19,7 +21,9 @@ obj-$(CONFIG_PINCTRL_MXS) += pinctrl-mxs.o | |||
19 | obj-$(CONFIG_PINCTRL_IMX23) += pinctrl-imx23.o | 21 | obj-$(CONFIG_PINCTRL_IMX23) += pinctrl-imx23.o |
20 | obj-$(CONFIG_PINCTRL_IMX28) += pinctrl-imx28.o | 22 | obj-$(CONFIG_PINCTRL_IMX28) += pinctrl-imx28.o |
21 | obj-$(CONFIG_PINCTRL_NOMADIK) += pinctrl-nomadik.o | 23 | obj-$(CONFIG_PINCTRL_NOMADIK) += pinctrl-nomadik.o |
24 | obj-$(CONFIG_PINCTRL_STN8815) += pinctrl-nomadik-stn8815.o | ||
22 | obj-$(CONFIG_PINCTRL_DB8500) += pinctrl-nomadik-db8500.o | 25 | obj-$(CONFIG_PINCTRL_DB8500) += pinctrl-nomadik-db8500.o |
26 | obj-$(CONFIG_PINCTRL_DB8540) += pinctrl-nomadik-db8540.o | ||
23 | obj-$(CONFIG_PINCTRL_PXA168) += pinctrl-pxa168.o | 27 | obj-$(CONFIG_PINCTRL_PXA168) += pinctrl-pxa168.o |
24 | obj-$(CONFIG_PINCTRL_PXA910) += pinctrl-pxa910.o | 28 | obj-$(CONFIG_PINCTRL_PXA910) += pinctrl-pxa910.o |
25 | obj-$(CONFIG_PINCTRL_SINGLE) += pinctrl-single.o | 29 | obj-$(CONFIG_PINCTRL_SINGLE) += pinctrl-single.o |
diff --git a/drivers/pinctrl/core.c b/drivers/pinctrl/core.c index dc5c126e398a..0f1ec9e8ff14 100644 --- a/drivers/pinctrl/core.c +++ b/drivers/pinctrl/core.c | |||
@@ -230,8 +230,10 @@ static int pinctrl_register_one_pin(struct pinctrl_dev *pctldev, | |||
230 | pindesc->name = name; | 230 | pindesc->name = name; |
231 | } else { | 231 | } else { |
232 | pindesc->name = kasprintf(GFP_KERNEL, "PIN%u", number); | 232 | pindesc->name = kasprintf(GFP_KERNEL, "PIN%u", number); |
233 | if (pindesc->name == NULL) | 233 | if (pindesc->name == NULL) { |
234 | kfree(pindesc); | ||
234 | return -ENOMEM; | 235 | return -ENOMEM; |
236 | } | ||
235 | pindesc->dynamic_name = true; | 237 | pindesc->dynamic_name = true; |
236 | } | 238 | } |
237 | 239 | ||
diff --git a/drivers/pinctrl/pinctrl-bcm2835.c b/drivers/pinctrl/pinctrl-bcm2835.c new file mode 100644 index 000000000000..a4adee633fa9 --- /dev/null +++ b/drivers/pinctrl/pinctrl-bcm2835.c | |||
@@ -0,0 +1,1075 @@ | |||
1 | /* | ||
2 | * Driver for Broadcom BCM2835 GPIO unit (pinctrl + GPIO) | ||
3 | * | ||
4 | * Copyright (C) 2012 Chris Boot, Simon Arlott, Stephen Warren | ||
5 | * | ||
6 | * This driver is inspired by: | ||
7 | * pinctrl-nomadik.c, please see original file for copyright information | ||
8 | * pinctrl-tegra.c, please see original file for copyright information | ||
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 as published by | ||
12 | * the Free Software Foundation; either version 2 of the License, or | ||
13 | * (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
18 | * GNU General Public License for more details. | ||
19 | */ | ||
20 | |||
21 | #include <linux/bitmap.h> | ||
22 | #include <linux/bug.h> | ||
23 | #include <linux/delay.h> | ||
24 | #include <linux/device.h> | ||
25 | #include <linux/err.h> | ||
26 | #include <linux/gpio.h> | ||
27 | #include <linux/interrupt.h> | ||
28 | #include <linux/io.h> | ||
29 | #include <linux/irq.h> | ||
30 | #include <linux/irqdesc.h> | ||
31 | #include <linux/irqdomain.h> | ||
32 | #include <linux/irq.h> | ||
33 | #include <linux/module.h> | ||
34 | #include <linux/of_address.h> | ||
35 | #include <linux/of.h> | ||
36 | #include <linux/of_irq.h> | ||
37 | #include <linux/pinctrl/consumer.h> | ||
38 | #include <linux/pinctrl/machine.h> | ||
39 | #include <linux/pinctrl/pinconf.h> | ||
40 | #include <linux/pinctrl/pinctrl.h> | ||
41 | #include <linux/pinctrl/pinmux.h> | ||
42 | #include <linux/platform_device.h> | ||
43 | #include <linux/seq_file.h> | ||
44 | #include <linux/slab.h> | ||
45 | #include <linux/spinlock.h> | ||
46 | #include <linux/types.h> | ||
47 | |||
48 | #define MODULE_NAME "pinctrl-bcm2835" | ||
49 | #define BCM2835_NUM_GPIOS 54 | ||
50 | #define BCM2835_NUM_BANKS 2 | ||
51 | |||
52 | #define BCM2835_PIN_BITMAP_SZ \ | ||
53 | DIV_ROUND_UP(BCM2835_NUM_GPIOS, sizeof(unsigned long) * 8) | ||
54 | |||
55 | /* GPIO register offsets */ | ||
56 | #define GPFSEL0 0x0 /* Function Select */ | ||
57 | #define GPSET0 0x1c /* Pin Output Set */ | ||
58 | #define GPCLR0 0x28 /* Pin Output Clear */ | ||
59 | #define GPLEV0 0x34 /* Pin Level */ | ||
60 | #define GPEDS0 0x40 /* Pin Event Detect Status */ | ||
61 | #define GPREN0 0x4c /* Pin Rising Edge Detect Enable */ | ||
62 | #define GPFEN0 0x58 /* Pin Falling Edge Detect Enable */ | ||
63 | #define GPHEN0 0x64 /* Pin High Detect Enable */ | ||
64 | #define GPLEN0 0x70 /* Pin Low Detect Enable */ | ||
65 | #define GPAREN0 0x7c /* Pin Async Rising Edge Detect */ | ||
66 | #define GPAFEN0 0x88 /* Pin Async Falling Edge Detect */ | ||
67 | #define GPPUD 0x94 /* Pin Pull-up/down Enable */ | ||
68 | #define GPPUDCLK0 0x98 /* Pin Pull-up/down Enable Clock */ | ||
69 | |||
70 | #define FSEL_REG(p) (GPFSEL0 + (((p) / 10) * 4)) | ||
71 | #define FSEL_SHIFT(p) (((p) % 10) * 3) | ||
72 | #define GPIO_REG_OFFSET(p) ((p) / 32) | ||
73 | #define GPIO_REG_SHIFT(p) ((p) % 32) | ||
74 | |||
75 | enum bcm2835_pinconf_param { | ||
76 | /* argument: bcm2835_pinconf_pull */ | ||
77 | BCM2835_PINCONF_PARAM_PULL, | ||
78 | }; | ||
79 | |||
80 | enum bcm2835_pinconf_pull { | ||
81 | BCM2835_PINCONFIG_PULL_NONE, | ||
82 | BCM2835_PINCONFIG_PULL_DOWN, | ||
83 | BCM2835_PINCONFIG_PULL_UP, | ||
84 | }; | ||
85 | |||
86 | #define BCM2835_PINCONF_PACK(_param_, _arg_) ((_param_) << 16 | (_arg_)) | ||
87 | #define BCM2835_PINCONF_UNPACK_PARAM(_conf_) ((_conf_) >> 16) | ||
88 | #define BCM2835_PINCONF_UNPACK_ARG(_conf_) ((_conf_) & 0xffff) | ||
89 | |||
90 | struct bcm2835_gpio_irqdata { | ||
91 | struct bcm2835_pinctrl *pc; | ||
92 | int bank; | ||
93 | }; | ||
94 | |||
95 | struct bcm2835_pinctrl { | ||
96 | struct device *dev; | ||
97 | void __iomem *base; | ||
98 | int irq[BCM2835_NUM_BANKS]; | ||
99 | |||
100 | /* note: locking assumes each bank will have its own unsigned long */ | ||
101 | unsigned long enabled_irq_map[BCM2835_NUM_BANKS]; | ||
102 | unsigned int irq_type[BCM2835_NUM_GPIOS]; | ||
103 | |||
104 | struct pinctrl_dev *pctl_dev; | ||
105 | struct irq_domain *irq_domain; | ||
106 | struct gpio_chip gpio_chip; | ||
107 | struct pinctrl_gpio_range gpio_range; | ||
108 | |||
109 | struct bcm2835_gpio_irqdata irq_data[BCM2835_NUM_BANKS]; | ||
110 | spinlock_t irq_lock[BCM2835_NUM_BANKS]; | ||
111 | }; | ||
112 | |||
113 | static struct lock_class_key gpio_lock_class; | ||
114 | |||
115 | /* pins are just named GPIO0..GPIO53 */ | ||
116 | #define BCM2835_GPIO_PIN(a) PINCTRL_PIN(a, "gpio" #a) | ||
117 | struct pinctrl_pin_desc bcm2835_gpio_pins[] = { | ||
118 | BCM2835_GPIO_PIN(0), | ||
119 | BCM2835_GPIO_PIN(1), | ||
120 | BCM2835_GPIO_PIN(2), | ||
121 | BCM2835_GPIO_PIN(3), | ||
122 | BCM2835_GPIO_PIN(4), | ||
123 | BCM2835_GPIO_PIN(5), | ||
124 | BCM2835_GPIO_PIN(6), | ||
125 | BCM2835_GPIO_PIN(7), | ||
126 | BCM2835_GPIO_PIN(8), | ||
127 | BCM2835_GPIO_PIN(9), | ||
128 | BCM2835_GPIO_PIN(10), | ||
129 | BCM2835_GPIO_PIN(11), | ||
130 | BCM2835_GPIO_PIN(12), | ||
131 | BCM2835_GPIO_PIN(13), | ||
132 | BCM2835_GPIO_PIN(14), | ||
133 | BCM2835_GPIO_PIN(15), | ||
134 | BCM2835_GPIO_PIN(16), | ||
135 | BCM2835_GPIO_PIN(17), | ||
136 | BCM2835_GPIO_PIN(18), | ||
137 | BCM2835_GPIO_PIN(19), | ||
138 | BCM2835_GPIO_PIN(20), | ||
139 | BCM2835_GPIO_PIN(21), | ||
140 | BCM2835_GPIO_PIN(22), | ||
141 | BCM2835_GPIO_PIN(23), | ||
142 | BCM2835_GPIO_PIN(24), | ||
143 | BCM2835_GPIO_PIN(25), | ||
144 | BCM2835_GPIO_PIN(26), | ||
145 | BCM2835_GPIO_PIN(27), | ||
146 | BCM2835_GPIO_PIN(28), | ||
147 | BCM2835_GPIO_PIN(29), | ||
148 | BCM2835_GPIO_PIN(30), | ||
149 | BCM2835_GPIO_PIN(31), | ||
150 | BCM2835_GPIO_PIN(32), | ||
151 | BCM2835_GPIO_PIN(33), | ||
152 | BCM2835_GPIO_PIN(34), | ||
153 | BCM2835_GPIO_PIN(35), | ||
154 | BCM2835_GPIO_PIN(36), | ||
155 | BCM2835_GPIO_PIN(37), | ||
156 | BCM2835_GPIO_PIN(38), | ||
157 | BCM2835_GPIO_PIN(39), | ||
158 | BCM2835_GPIO_PIN(40), | ||
159 | BCM2835_GPIO_PIN(41), | ||
160 | BCM2835_GPIO_PIN(42), | ||
161 | BCM2835_GPIO_PIN(43), | ||
162 | BCM2835_GPIO_PIN(44), | ||
163 | BCM2835_GPIO_PIN(45), | ||
164 | BCM2835_GPIO_PIN(46), | ||
165 | BCM2835_GPIO_PIN(47), | ||
166 | BCM2835_GPIO_PIN(48), | ||
167 | BCM2835_GPIO_PIN(49), | ||
168 | BCM2835_GPIO_PIN(50), | ||
169 | BCM2835_GPIO_PIN(51), | ||
170 | BCM2835_GPIO_PIN(52), | ||
171 | BCM2835_GPIO_PIN(53), | ||
172 | }; | ||
173 | |||
174 | /* one pin per group */ | ||
175 | static const char * const bcm2835_gpio_groups[] = { | ||
176 | "gpio0", | ||
177 | "gpio1", | ||
178 | "gpio2", | ||
179 | "gpio3", | ||
180 | "gpio4", | ||
181 | "gpio5", | ||
182 | "gpio6", | ||
183 | "gpio7", | ||
184 | "gpio8", | ||
185 | "gpio9", | ||
186 | "gpio10", | ||
187 | "gpio11", | ||
188 | "gpio12", | ||
189 | "gpio13", | ||
190 | "gpio14", | ||
191 | "gpio15", | ||
192 | "gpio16", | ||
193 | "gpio17", | ||
194 | "gpio18", | ||
195 | "gpio19", | ||
196 | "gpio20", | ||
197 | "gpio21", | ||
198 | "gpio22", | ||
199 | "gpio23", | ||
200 | "gpio24", | ||
201 | "gpio25", | ||
202 | "gpio26", | ||
203 | "gpio27", | ||
204 | "gpio28", | ||
205 | "gpio29", | ||
206 | "gpio30", | ||
207 | "gpio31", | ||
208 | "gpio32", | ||
209 | "gpio33", | ||
210 | "gpio34", | ||
211 | "gpio35", | ||
212 | "gpio36", | ||
213 | "gpio37", | ||
214 | "gpio38", | ||
215 | "gpio39", | ||
216 | "gpio40", | ||
217 | "gpio41", | ||
218 | "gpio42", | ||
219 | "gpio43", | ||
220 | "gpio44", | ||
221 | "gpio45", | ||
222 | "gpio46", | ||
223 | "gpio47", | ||
224 | "gpio48", | ||
225 | "gpio49", | ||
226 | "gpio50", | ||
227 | "gpio51", | ||
228 | "gpio52", | ||
229 | "gpio53", | ||
230 | }; | ||
231 | |||
232 | enum bcm2835_fsel { | ||
233 | BCM2835_FSEL_GPIO_IN = 0, | ||
234 | BCM2835_FSEL_GPIO_OUT = 1, | ||
235 | BCM2835_FSEL_ALT0 = 4, | ||
236 | BCM2835_FSEL_ALT1 = 5, | ||
237 | BCM2835_FSEL_ALT2 = 6, | ||
238 | BCM2835_FSEL_ALT3 = 7, | ||
239 | BCM2835_FSEL_ALT4 = 3, | ||
240 | BCM2835_FSEL_ALT5 = 2, | ||
241 | BCM2835_FSEL_COUNT = 8, | ||
242 | BCM2835_FSEL_MASK = 0x7, | ||
243 | }; | ||
244 | |||
245 | static const char * const bcm2835_functions[BCM2835_FSEL_COUNT] = { | ||
246 | [BCM2835_FSEL_GPIO_IN] = "gpio_in", | ||
247 | [BCM2835_FSEL_GPIO_OUT] = "gpio_out", | ||
248 | [BCM2835_FSEL_ALT0] = "alt0", | ||
249 | [BCM2835_FSEL_ALT1] = "alt1", | ||
250 | [BCM2835_FSEL_ALT2] = "alt2", | ||
251 | [BCM2835_FSEL_ALT3] = "alt3", | ||
252 | [BCM2835_FSEL_ALT4] = "alt4", | ||
253 | [BCM2835_FSEL_ALT5] = "alt5", | ||
254 | }; | ||
255 | |||
256 | static const char * const irq_type_names[] = { | ||
257 | [IRQ_TYPE_NONE] = "none", | ||
258 | [IRQ_TYPE_EDGE_RISING] = "edge-rising", | ||
259 | [IRQ_TYPE_EDGE_FALLING] = "edge-falling", | ||
260 | [IRQ_TYPE_EDGE_BOTH] = "edge-both", | ||
261 | [IRQ_TYPE_LEVEL_HIGH] = "level-high", | ||
262 | [IRQ_TYPE_LEVEL_LOW] = "level-low", | ||
263 | }; | ||
264 | |||
265 | static inline u32 bcm2835_gpio_rd(struct bcm2835_pinctrl *pc, unsigned reg) | ||
266 | { | ||
267 | return readl(pc->base + reg); | ||
268 | } | ||
269 | |||
270 | static inline void bcm2835_gpio_wr(struct bcm2835_pinctrl *pc, unsigned reg, | ||
271 | u32 val) | ||
272 | { | ||
273 | writel(val, pc->base + reg); | ||
274 | } | ||
275 | |||
276 | static inline int bcm2835_gpio_get_bit(struct bcm2835_pinctrl *pc, unsigned reg, | ||
277 | unsigned bit) | ||
278 | { | ||
279 | reg += GPIO_REG_OFFSET(bit) * 4; | ||
280 | return (bcm2835_gpio_rd(pc, reg) >> GPIO_REG_SHIFT(bit)) & 1; | ||
281 | } | ||
282 | |||
283 | /* note NOT a read/modify/write cycle */ | ||
284 | static inline void bcm2835_gpio_set_bit(struct bcm2835_pinctrl *pc, | ||
285 | unsigned reg, unsigned bit) | ||
286 | { | ||
287 | reg += GPIO_REG_OFFSET(bit) * 4; | ||
288 | bcm2835_gpio_wr(pc, reg, BIT(GPIO_REG_SHIFT(bit))); | ||
289 | } | ||
290 | |||
291 | static inline enum bcm2835_fsel bcm2835_pinctrl_fsel_get( | ||
292 | struct bcm2835_pinctrl *pc, unsigned pin) | ||
293 | { | ||
294 | u32 val = bcm2835_gpio_rd(pc, FSEL_REG(pin)); | ||
295 | enum bcm2835_fsel status = (val >> FSEL_SHIFT(pin)) & BCM2835_FSEL_MASK; | ||
296 | |||
297 | dev_dbg(pc->dev, "get %08x (%u => %s)\n", val, pin, | ||
298 | bcm2835_functions[status]); | ||
299 | |||
300 | return status; | ||
301 | } | ||
302 | |||
303 | static inline void bcm2835_pinctrl_fsel_set( | ||
304 | struct bcm2835_pinctrl *pc, unsigned pin, | ||
305 | enum bcm2835_fsel fsel) | ||
306 | { | ||
307 | u32 val = bcm2835_gpio_rd(pc, FSEL_REG(pin)); | ||
308 | enum bcm2835_fsel cur = (val >> FSEL_SHIFT(pin)) & BCM2835_FSEL_MASK; | ||
309 | |||
310 | dev_dbg(pc->dev, "read %08x (%u => %s)\n", val, pin, | ||
311 | bcm2835_functions[cur]); | ||
312 | |||
313 | if (cur == fsel) | ||
314 | return; | ||
315 | |||
316 | if (cur != BCM2835_FSEL_GPIO_IN && fsel != BCM2835_FSEL_GPIO_IN) { | ||
317 | /* always transition through GPIO_IN */ | ||
318 | val &= ~(BCM2835_FSEL_MASK << FSEL_SHIFT(pin)); | ||
319 | val |= BCM2835_FSEL_GPIO_IN << FSEL_SHIFT(pin); | ||
320 | |||
321 | dev_dbg(pc->dev, "trans %08x (%u <= %s)\n", val, pin, | ||
322 | bcm2835_functions[BCM2835_FSEL_GPIO_IN]); | ||
323 | bcm2835_gpio_wr(pc, FSEL_REG(pin), val); | ||
324 | } | ||
325 | |||
326 | val &= ~(BCM2835_FSEL_MASK << FSEL_SHIFT(pin)); | ||
327 | val |= fsel << FSEL_SHIFT(pin); | ||
328 | |||
329 | dev_dbg(pc->dev, "write %08x (%u <= %s)\n", val, pin, | ||
330 | bcm2835_functions[fsel]); | ||
331 | bcm2835_gpio_wr(pc, FSEL_REG(pin), val); | ||
332 | } | ||
333 | |||
334 | static int bcm2835_gpio_request(struct gpio_chip *chip, unsigned offset) | ||
335 | { | ||
336 | return pinctrl_request_gpio(chip->base + offset); | ||
337 | } | ||
338 | |||
339 | static void bcm2835_gpio_free(struct gpio_chip *chip, unsigned offset) | ||
340 | { | ||
341 | pinctrl_free_gpio(chip->base + offset); | ||
342 | } | ||
343 | |||
344 | static int bcm2835_gpio_direction_input(struct gpio_chip *chip, unsigned offset) | ||
345 | { | ||
346 | return pinctrl_gpio_direction_input(chip->base + offset); | ||
347 | } | ||
348 | |||
349 | static int bcm2835_gpio_get(struct gpio_chip *chip, unsigned offset) | ||
350 | { | ||
351 | struct bcm2835_pinctrl *pc = dev_get_drvdata(chip->dev); | ||
352 | |||
353 | return bcm2835_gpio_get_bit(pc, GPLEV0, offset); | ||
354 | } | ||
355 | |||
356 | static int bcm2835_gpio_direction_output(struct gpio_chip *chip, | ||
357 | unsigned offset, int value) | ||
358 | { | ||
359 | return pinctrl_gpio_direction_output(chip->base + offset); | ||
360 | } | ||
361 | |||
362 | static void bcm2835_gpio_set(struct gpio_chip *chip, unsigned offset, int value) | ||
363 | { | ||
364 | struct bcm2835_pinctrl *pc = dev_get_drvdata(chip->dev); | ||
365 | |||
366 | bcm2835_gpio_set_bit(pc, value ? GPSET0 : GPCLR0, offset); | ||
367 | } | ||
368 | |||
369 | static int bcm2835_gpio_to_irq(struct gpio_chip *chip, unsigned offset) | ||
370 | { | ||
371 | struct bcm2835_pinctrl *pc = dev_get_drvdata(chip->dev); | ||
372 | |||
373 | return irq_linear_revmap(pc->irq_domain, offset); | ||
374 | } | ||
375 | |||
376 | static struct gpio_chip bcm2835_gpio_chip __devinitconst = { | ||
377 | .label = MODULE_NAME, | ||
378 | .owner = THIS_MODULE, | ||
379 | .request = bcm2835_gpio_request, | ||
380 | .free = bcm2835_gpio_free, | ||
381 | .direction_input = bcm2835_gpio_direction_input, | ||
382 | .direction_output = bcm2835_gpio_direction_output, | ||
383 | .get = bcm2835_gpio_get, | ||
384 | .set = bcm2835_gpio_set, | ||
385 | .to_irq = bcm2835_gpio_to_irq, | ||
386 | .base = -1, | ||
387 | .ngpio = BCM2835_NUM_GPIOS, | ||
388 | .can_sleep = 0, | ||
389 | }; | ||
390 | |||
391 | static irqreturn_t bcm2835_gpio_irq_handler(int irq, void *dev_id) | ||
392 | { | ||
393 | struct bcm2835_gpio_irqdata *irqdata = dev_id; | ||
394 | struct bcm2835_pinctrl *pc = irqdata->pc; | ||
395 | int bank = irqdata->bank; | ||
396 | unsigned long events; | ||
397 | unsigned offset; | ||
398 | unsigned gpio; | ||
399 | unsigned int type; | ||
400 | |||
401 | events = bcm2835_gpio_rd(pc, GPEDS0 + bank * 4); | ||
402 | events &= pc->enabled_irq_map[bank]; | ||
403 | for_each_set_bit(offset, &events, 32) { | ||
404 | gpio = (32 * bank) + offset; | ||
405 | type = pc->irq_type[gpio]; | ||
406 | |||
407 | /* ack edge triggered IRQs immediately */ | ||
408 | if (!(type & IRQ_TYPE_LEVEL_MASK)) | ||
409 | bcm2835_gpio_set_bit(pc, GPEDS0, gpio); | ||
410 | |||
411 | generic_handle_irq(irq_linear_revmap(pc->irq_domain, gpio)); | ||
412 | |||
413 | /* ack level triggered IRQ after handling them */ | ||
414 | if (type & IRQ_TYPE_LEVEL_MASK) | ||
415 | bcm2835_gpio_set_bit(pc, GPEDS0, gpio); | ||
416 | } | ||
417 | return events ? IRQ_HANDLED : IRQ_NONE; | ||
418 | } | ||
419 | |||
420 | static inline void __bcm2835_gpio_irq_config(struct bcm2835_pinctrl *pc, | ||
421 | unsigned reg, unsigned offset, bool enable) | ||
422 | { | ||
423 | u32 value; | ||
424 | reg += GPIO_REG_OFFSET(offset) * 4; | ||
425 | value = bcm2835_gpio_rd(pc, reg); | ||
426 | if (enable) | ||
427 | value |= BIT(GPIO_REG_SHIFT(offset)); | ||
428 | else | ||
429 | value &= ~(BIT(GPIO_REG_SHIFT(offset))); | ||
430 | bcm2835_gpio_wr(pc, reg, value); | ||
431 | } | ||
432 | |||
433 | /* fast path for IRQ handler */ | ||
434 | static void bcm2835_gpio_irq_config(struct bcm2835_pinctrl *pc, | ||
435 | unsigned offset, bool enable) | ||
436 | { | ||
437 | switch (pc->irq_type[offset]) { | ||
438 | case IRQ_TYPE_EDGE_RISING: | ||
439 | __bcm2835_gpio_irq_config(pc, GPREN0, offset, enable); | ||
440 | break; | ||
441 | |||
442 | case IRQ_TYPE_EDGE_FALLING: | ||
443 | __bcm2835_gpio_irq_config(pc, GPFEN0, offset, enable); | ||
444 | break; | ||
445 | |||
446 | case IRQ_TYPE_EDGE_BOTH: | ||
447 | __bcm2835_gpio_irq_config(pc, GPREN0, offset, enable); | ||
448 | __bcm2835_gpio_irq_config(pc, GPFEN0, offset, enable); | ||
449 | break; | ||
450 | |||
451 | case IRQ_TYPE_LEVEL_HIGH: | ||
452 | __bcm2835_gpio_irq_config(pc, GPHEN0, offset, enable); | ||
453 | break; | ||
454 | |||
455 | case IRQ_TYPE_LEVEL_LOW: | ||
456 | __bcm2835_gpio_irq_config(pc, GPLEN0, offset, enable); | ||
457 | break; | ||
458 | } | ||
459 | } | ||
460 | |||
461 | static void bcm2835_gpio_irq_enable(struct irq_data *data) | ||
462 | { | ||
463 | struct bcm2835_pinctrl *pc = irq_data_get_irq_chip_data(data); | ||
464 | unsigned gpio = irqd_to_hwirq(data); | ||
465 | unsigned offset = GPIO_REG_SHIFT(gpio); | ||
466 | unsigned bank = GPIO_REG_OFFSET(gpio); | ||
467 | unsigned long flags; | ||
468 | |||
469 | spin_lock_irqsave(&pc->irq_lock[bank], flags); | ||
470 | set_bit(offset, &pc->enabled_irq_map[bank]); | ||
471 | bcm2835_gpio_irq_config(pc, gpio, true); | ||
472 | spin_unlock_irqrestore(&pc->irq_lock[bank], flags); | ||
473 | } | ||
474 | |||
475 | static void bcm2835_gpio_irq_disable(struct irq_data *data) | ||
476 | { | ||
477 | struct bcm2835_pinctrl *pc = irq_data_get_irq_chip_data(data); | ||
478 | unsigned gpio = irqd_to_hwirq(data); | ||
479 | unsigned offset = GPIO_REG_SHIFT(gpio); | ||
480 | unsigned bank = GPIO_REG_OFFSET(gpio); | ||
481 | unsigned long flags; | ||
482 | |||
483 | spin_lock_irqsave(&pc->irq_lock[bank], flags); | ||
484 | bcm2835_gpio_irq_config(pc, gpio, false); | ||
485 | clear_bit(offset, &pc->enabled_irq_map[bank]); | ||
486 | spin_unlock_irqrestore(&pc->irq_lock[bank], flags); | ||
487 | } | ||
488 | |||
489 | static int __bcm2835_gpio_irq_set_type_disabled(struct bcm2835_pinctrl *pc, | ||
490 | unsigned offset, unsigned int type) | ||
491 | { | ||
492 | switch (type) { | ||
493 | case IRQ_TYPE_NONE: | ||
494 | case IRQ_TYPE_EDGE_RISING: | ||
495 | case IRQ_TYPE_EDGE_FALLING: | ||
496 | case IRQ_TYPE_EDGE_BOTH: | ||
497 | case IRQ_TYPE_LEVEL_HIGH: | ||
498 | case IRQ_TYPE_LEVEL_LOW: | ||
499 | pc->irq_type[offset] = type; | ||
500 | break; | ||
501 | |||
502 | default: | ||
503 | return -EINVAL; | ||
504 | } | ||
505 | return 0; | ||
506 | } | ||
507 | |||
508 | /* slower path for reconfiguring IRQ type */ | ||
509 | static int __bcm2835_gpio_irq_set_type_enabled(struct bcm2835_pinctrl *pc, | ||
510 | unsigned offset, unsigned int type) | ||
511 | { | ||
512 | switch (type) { | ||
513 | case IRQ_TYPE_NONE: | ||
514 | if (pc->irq_type[offset] != type) { | ||
515 | bcm2835_gpio_irq_config(pc, offset, false); | ||
516 | pc->irq_type[offset] = type; | ||
517 | } | ||
518 | break; | ||
519 | |||
520 | case IRQ_TYPE_EDGE_RISING: | ||
521 | if (pc->irq_type[offset] == IRQ_TYPE_EDGE_BOTH) { | ||
522 | /* RISING already enabled, disable FALLING */ | ||
523 | pc->irq_type[offset] = IRQ_TYPE_EDGE_FALLING; | ||
524 | bcm2835_gpio_irq_config(pc, offset, false); | ||
525 | pc->irq_type[offset] = type; | ||
526 | } else if (pc->irq_type[offset] != type) { | ||
527 | bcm2835_gpio_irq_config(pc, offset, false); | ||
528 | pc->irq_type[offset] = type; | ||
529 | bcm2835_gpio_irq_config(pc, offset, true); | ||
530 | } | ||
531 | break; | ||
532 | |||
533 | case IRQ_TYPE_EDGE_FALLING: | ||
534 | if (pc->irq_type[offset] == IRQ_TYPE_EDGE_BOTH) { | ||
535 | /* FALLING already enabled, disable RISING */ | ||
536 | pc->irq_type[offset] = IRQ_TYPE_EDGE_RISING; | ||
537 | bcm2835_gpio_irq_config(pc, offset, false); | ||
538 | pc->irq_type[offset] = type; | ||
539 | } else if (pc->irq_type[offset] != type) { | ||
540 | bcm2835_gpio_irq_config(pc, offset, false); | ||
541 | pc->irq_type[offset] = type; | ||
542 | bcm2835_gpio_irq_config(pc, offset, true); | ||
543 | } | ||
544 | break; | ||
545 | |||
546 | case IRQ_TYPE_EDGE_BOTH: | ||
547 | if (pc->irq_type[offset] == IRQ_TYPE_EDGE_RISING) { | ||
548 | /* RISING already enabled, enable FALLING too */ | ||
549 | pc->irq_type[offset] = IRQ_TYPE_EDGE_FALLING; | ||
550 | bcm2835_gpio_irq_config(pc, offset, true); | ||
551 | pc->irq_type[offset] = type; | ||
552 | } else if (pc->irq_type[offset] == IRQ_TYPE_EDGE_FALLING) { | ||
553 | /* FALLING already enabled, enable RISING too */ | ||
554 | pc->irq_type[offset] = IRQ_TYPE_EDGE_RISING; | ||
555 | bcm2835_gpio_irq_config(pc, offset, true); | ||
556 | pc->irq_type[offset] = type; | ||
557 | } else if (pc->irq_type[offset] != type) { | ||
558 | bcm2835_gpio_irq_config(pc, offset, false); | ||
559 | pc->irq_type[offset] = type; | ||
560 | bcm2835_gpio_irq_config(pc, offset, true); | ||
561 | } | ||
562 | break; | ||
563 | |||
564 | case IRQ_TYPE_LEVEL_HIGH: | ||
565 | case IRQ_TYPE_LEVEL_LOW: | ||
566 | if (pc->irq_type[offset] != type) { | ||
567 | bcm2835_gpio_irq_config(pc, offset, false); | ||
568 | pc->irq_type[offset] = type; | ||
569 | bcm2835_gpio_irq_config(pc, offset, true); | ||
570 | } | ||
571 | break; | ||
572 | |||
573 | default: | ||
574 | return -EINVAL; | ||
575 | } | ||
576 | return 0; | ||
577 | } | ||
578 | |||
579 | static int bcm2835_gpio_irq_set_type(struct irq_data *data, unsigned int type) | ||
580 | { | ||
581 | struct bcm2835_pinctrl *pc = irq_data_get_irq_chip_data(data); | ||
582 | unsigned gpio = irqd_to_hwirq(data); | ||
583 | unsigned offset = GPIO_REG_SHIFT(gpio); | ||
584 | unsigned bank = GPIO_REG_OFFSET(gpio); | ||
585 | unsigned long flags; | ||
586 | int ret; | ||
587 | |||
588 | spin_lock_irqsave(&pc->irq_lock[bank], flags); | ||
589 | |||
590 | if (test_bit(offset, &pc->enabled_irq_map[bank])) | ||
591 | ret = __bcm2835_gpio_irq_set_type_enabled(pc, gpio, type); | ||
592 | else | ||
593 | ret = __bcm2835_gpio_irq_set_type_disabled(pc, gpio, type); | ||
594 | |||
595 | spin_unlock_irqrestore(&pc->irq_lock[bank], flags); | ||
596 | |||
597 | return ret; | ||
598 | } | ||
599 | |||
600 | static struct irq_chip bcm2835_gpio_irq_chip = { | ||
601 | .name = MODULE_NAME, | ||
602 | .irq_enable = bcm2835_gpio_irq_enable, | ||
603 | .irq_disable = bcm2835_gpio_irq_disable, | ||
604 | .irq_set_type = bcm2835_gpio_irq_set_type, | ||
605 | }; | ||
606 | |||
607 | static int bcm2835_pctl_get_groups_count(struct pinctrl_dev *pctldev) | ||
608 | { | ||
609 | return ARRAY_SIZE(bcm2835_gpio_groups); | ||
610 | } | ||
611 | |||
612 | static const char *bcm2835_pctl_get_group_name(struct pinctrl_dev *pctldev, | ||
613 | unsigned selector) | ||
614 | { | ||
615 | return bcm2835_gpio_groups[selector]; | ||
616 | } | ||
617 | |||
618 | static int bcm2835_pctl_get_group_pins(struct pinctrl_dev *pctldev, | ||
619 | unsigned selector, | ||
620 | const unsigned **pins, | ||
621 | unsigned *num_pins) | ||
622 | { | ||
623 | *pins = &bcm2835_gpio_pins[selector].number; | ||
624 | *num_pins = 1; | ||
625 | |||
626 | return 0; | ||
627 | } | ||
628 | |||
629 | static void bcm2835_pctl_pin_dbg_show(struct pinctrl_dev *pctldev, | ||
630 | struct seq_file *s, | ||
631 | unsigned offset) | ||
632 | { | ||
633 | struct bcm2835_pinctrl *pc = pinctrl_dev_get_drvdata(pctldev); | ||
634 | enum bcm2835_fsel fsel = bcm2835_pinctrl_fsel_get(pc, offset); | ||
635 | const char *fname = bcm2835_functions[fsel]; | ||
636 | int value = bcm2835_gpio_get_bit(pc, GPLEV0, offset); | ||
637 | int irq = irq_find_mapping(pc->irq_domain, offset); | ||
638 | |||
639 | seq_printf(s, "function %s in %s; irq %d (%s)", | ||
640 | fname, value ? "hi" : "lo", | ||
641 | irq, irq_type_names[pc->irq_type[offset]]); | ||
642 | } | ||
643 | |||
644 | static void bcm2835_pctl_dt_free_map(struct pinctrl_dev *pctldev, | ||
645 | struct pinctrl_map *maps, unsigned num_maps) | ||
646 | { | ||
647 | int i; | ||
648 | |||
649 | for (i = 0; i < num_maps; i++) | ||
650 | if (maps[i].type == PIN_MAP_TYPE_CONFIGS_PIN) | ||
651 | kfree(maps[i].data.configs.configs); | ||
652 | |||
653 | kfree(maps); | ||
654 | } | ||
655 | |||
656 | static int bcm2835_pctl_dt_node_to_map_func(struct bcm2835_pinctrl *pc, | ||
657 | struct device_node *np, u32 pin, u32 fnum, | ||
658 | struct pinctrl_map **maps) | ||
659 | { | ||
660 | struct pinctrl_map *map = *maps; | ||
661 | |||
662 | if (fnum >= ARRAY_SIZE(bcm2835_functions)) { | ||
663 | dev_err(pc->dev, "%s: invalid brcm,function %d\n", | ||
664 | of_node_full_name(np), fnum); | ||
665 | return -EINVAL; | ||
666 | } | ||
667 | |||
668 | map->type = PIN_MAP_TYPE_MUX_GROUP; | ||
669 | map->data.mux.group = bcm2835_gpio_groups[pin]; | ||
670 | map->data.mux.function = bcm2835_functions[fnum]; | ||
671 | (*maps)++; | ||
672 | |||
673 | return 0; | ||
674 | } | ||
675 | |||
676 | static int bcm2835_pctl_dt_node_to_map_pull(struct bcm2835_pinctrl *pc, | ||
677 | struct device_node *np, u32 pin, u32 pull, | ||
678 | struct pinctrl_map **maps) | ||
679 | { | ||
680 | struct pinctrl_map *map = *maps; | ||
681 | unsigned long *configs; | ||
682 | |||
683 | if (pull > 2) { | ||
684 | dev_err(pc->dev, "%s: invalid brcm,pull %d\n", | ||
685 | of_node_full_name(np), pull); | ||
686 | return -EINVAL; | ||
687 | } | ||
688 | |||
689 | configs = kzalloc(sizeof(*configs), GFP_KERNEL); | ||
690 | if (!configs) | ||
691 | return -ENOMEM; | ||
692 | configs[0] = BCM2835_PINCONF_PACK(BCM2835_PINCONF_PARAM_PULL, pull); | ||
693 | |||
694 | map->type = PIN_MAP_TYPE_CONFIGS_PIN; | ||
695 | map->data.configs.group_or_pin = bcm2835_gpio_pins[pin].name; | ||
696 | map->data.configs.configs = configs; | ||
697 | map->data.configs.num_configs = 1; | ||
698 | (*maps)++; | ||
699 | |||
700 | return 0; | ||
701 | } | ||
702 | |||
703 | static inline u32 prop_u32(struct property *p, int i) | ||
704 | { | ||
705 | return be32_to_cpup(((__be32 *)p->value) + i); | ||
706 | } | ||
707 | |||
708 | static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev, | ||
709 | struct device_node *np, | ||
710 | struct pinctrl_map **map, unsigned *num_maps) | ||
711 | { | ||
712 | struct bcm2835_pinctrl *pc = pinctrl_dev_get_drvdata(pctldev); | ||
713 | struct property *pins, *funcs, *pulls; | ||
714 | int num_pins, num_funcs, num_pulls, maps_per_pin; | ||
715 | struct pinctrl_map *maps, *cur_map; | ||
716 | int i, err; | ||
717 | u32 pin, func, pull; | ||
718 | |||
719 | pins = of_find_property(np, "brcm,pins", NULL); | ||
720 | if (!pins) { | ||
721 | dev_err(pc->dev, "%s: missing brcm,pins property\n", | ||
722 | of_node_full_name(np)); | ||
723 | return -EINVAL; | ||
724 | } | ||
725 | |||
726 | funcs = of_find_property(np, "brcm,function", NULL); | ||
727 | pulls = of_find_property(np, "brcm,pull", NULL); | ||
728 | |||
729 | if (!funcs && !pulls) { | ||
730 | dev_err(pc->dev, | ||
731 | "%s: neither brcm,function nor brcm,pull specified\n", | ||
732 | of_node_full_name(np)); | ||
733 | return -EINVAL; | ||
734 | } | ||
735 | |||
736 | num_pins = pins->length / 4; | ||
737 | num_funcs = funcs ? (funcs->length / 4) : 0; | ||
738 | num_pulls = pulls ? (pulls->length / 4) : 0; | ||
739 | |||
740 | if (num_funcs > 1 && num_funcs != num_pins) { | ||
741 | dev_err(pc->dev, | ||
742 | "%s: brcm,function must have 1 or %d entries\n", | ||
743 | of_node_full_name(np), num_pins); | ||
744 | return -EINVAL; | ||
745 | } | ||
746 | |||
747 | if (num_pulls > 1 && num_pulls != num_pins) { | ||
748 | dev_err(pc->dev, | ||
749 | "%s: brcm,pull must have 1 or %d entries\n", | ||
750 | of_node_full_name(np), num_pins); | ||
751 | return -EINVAL; | ||
752 | } | ||
753 | |||
754 | maps_per_pin = 0; | ||
755 | if (num_funcs) | ||
756 | maps_per_pin++; | ||
757 | if (num_pulls) | ||
758 | maps_per_pin++; | ||
759 | cur_map = maps = kzalloc(num_pins * maps_per_pin * sizeof(*maps), | ||
760 | GFP_KERNEL); | ||
761 | if (!maps) | ||
762 | return -ENOMEM; | ||
763 | |||
764 | for (i = 0; i < num_pins; i++) { | ||
765 | pin = prop_u32(pins, i); | ||
766 | if (pin >= ARRAY_SIZE(bcm2835_gpio_pins)) { | ||
767 | dev_err(pc->dev, "%s: invalid brcm,pins value %d\n", | ||
768 | of_node_full_name(np), pin); | ||
769 | err = -EINVAL; | ||
770 | goto out; | ||
771 | } | ||
772 | |||
773 | if (num_funcs) { | ||
774 | func = prop_u32(funcs, (num_funcs > 1) ? i : 0); | ||
775 | err = bcm2835_pctl_dt_node_to_map_func(pc, np, pin, | ||
776 | func, &cur_map); | ||
777 | if (err) | ||
778 | goto out; | ||
779 | } | ||
780 | if (num_pulls) { | ||
781 | pull = prop_u32(pulls, (num_pulls > 1) ? i : 0); | ||
782 | err = bcm2835_pctl_dt_node_to_map_pull(pc, np, pin, | ||
783 | pull, &cur_map); | ||
784 | if (err) | ||
785 | goto out; | ||
786 | } | ||
787 | } | ||
788 | |||
789 | *map = maps; | ||
790 | *num_maps = num_pins * maps_per_pin; | ||
791 | |||
792 | return 0; | ||
793 | |||
794 | out: | ||
795 | kfree(maps); | ||
796 | return err; | ||
797 | } | ||
798 | |||
799 | static struct pinctrl_ops bcm2835_pctl_ops = { | ||
800 | .get_groups_count = bcm2835_pctl_get_groups_count, | ||
801 | .get_group_name = bcm2835_pctl_get_group_name, | ||
802 | .get_group_pins = bcm2835_pctl_get_group_pins, | ||
803 | .pin_dbg_show = bcm2835_pctl_pin_dbg_show, | ||
804 | .dt_node_to_map = bcm2835_pctl_dt_node_to_map, | ||
805 | .dt_free_map = bcm2835_pctl_dt_free_map, | ||
806 | }; | ||
807 | |||
808 | static int bcm2835_pmx_get_functions_count(struct pinctrl_dev *pctldev) | ||
809 | { | ||
810 | return BCM2835_FSEL_COUNT; | ||
811 | } | ||
812 | |||
813 | static const char *bcm2835_pmx_get_function_name(struct pinctrl_dev *pctldev, | ||
814 | unsigned selector) | ||
815 | { | ||
816 | return bcm2835_functions[selector]; | ||
817 | } | ||
818 | |||
819 | static int bcm2835_pmx_get_function_groups(struct pinctrl_dev *pctldev, | ||
820 | unsigned selector, | ||
821 | const char * const **groups, | ||
822 | unsigned * const num_groups) | ||
823 | { | ||
824 | /* every pin can do every function */ | ||
825 | *groups = bcm2835_gpio_groups; | ||
826 | *num_groups = ARRAY_SIZE(bcm2835_gpio_groups); | ||
827 | |||
828 | return 0; | ||
829 | } | ||
830 | |||
831 | static int bcm2835_pmx_enable(struct pinctrl_dev *pctldev, | ||
832 | unsigned func_selector, | ||
833 | unsigned group_selector) | ||
834 | { | ||
835 | struct bcm2835_pinctrl *pc = pinctrl_dev_get_drvdata(pctldev); | ||
836 | |||
837 | bcm2835_pinctrl_fsel_set(pc, group_selector, func_selector); | ||
838 | |||
839 | return 0; | ||
840 | } | ||
841 | |||
842 | static void bcm2835_pmx_disable(struct pinctrl_dev *pctldev, | ||
843 | unsigned func_selector, | ||
844 | unsigned group_selector) | ||
845 | { | ||
846 | struct bcm2835_pinctrl *pc = pinctrl_dev_get_drvdata(pctldev); | ||
847 | |||
848 | /* disable by setting to GPIO_IN */ | ||
849 | bcm2835_pinctrl_fsel_set(pc, group_selector, BCM2835_FSEL_GPIO_IN); | ||
850 | } | ||
851 | |||
852 | static void bcm2835_pmx_gpio_disable_free(struct pinctrl_dev *pctldev, | ||
853 | struct pinctrl_gpio_range *range, | ||
854 | unsigned offset) | ||
855 | { | ||
856 | struct bcm2835_pinctrl *pc = pinctrl_dev_get_drvdata(pctldev); | ||
857 | |||
858 | /* disable by setting to GPIO_IN */ | ||
859 | bcm2835_pinctrl_fsel_set(pc, offset, BCM2835_FSEL_GPIO_IN); | ||
860 | } | ||
861 | |||
862 | static int bcm2835_pmx_gpio_set_direction(struct pinctrl_dev *pctldev, | ||
863 | struct pinctrl_gpio_range *range, | ||
864 | unsigned offset, | ||
865 | bool input) | ||
866 | { | ||
867 | struct bcm2835_pinctrl *pc = pinctrl_dev_get_drvdata(pctldev); | ||
868 | enum bcm2835_fsel fsel = input ? | ||
869 | BCM2835_FSEL_GPIO_IN : BCM2835_FSEL_GPIO_OUT; | ||
870 | |||
871 | bcm2835_pinctrl_fsel_set(pc, offset, fsel); | ||
872 | |||
873 | return 0; | ||
874 | } | ||
875 | |||
876 | static struct pinmux_ops bcm2835_pmx_ops = { | ||
877 | .get_functions_count = bcm2835_pmx_get_functions_count, | ||
878 | .get_function_name = bcm2835_pmx_get_function_name, | ||
879 | .get_function_groups = bcm2835_pmx_get_function_groups, | ||
880 | .enable = bcm2835_pmx_enable, | ||
881 | .disable = bcm2835_pmx_disable, | ||
882 | .gpio_disable_free = bcm2835_pmx_gpio_disable_free, | ||
883 | .gpio_set_direction = bcm2835_pmx_gpio_set_direction, | ||
884 | }; | ||
885 | |||
886 | static int bcm2835_pinconf_get(struct pinctrl_dev *pctldev, | ||
887 | unsigned pin, unsigned long *config) | ||
888 | { | ||
889 | /* No way to read back config in HW */ | ||
890 | return -ENOTSUPP; | ||
891 | } | ||
892 | |||
893 | static int bcm2835_pinconf_set(struct pinctrl_dev *pctldev, | ||
894 | unsigned pin, unsigned long config) | ||
895 | { | ||
896 | struct bcm2835_pinctrl *pc = pinctrl_dev_get_drvdata(pctldev); | ||
897 | enum bcm2835_pinconf_param param = BCM2835_PINCONF_UNPACK_PARAM(config); | ||
898 | u16 arg = BCM2835_PINCONF_UNPACK_ARG(config); | ||
899 | u32 off, bit; | ||
900 | |||
901 | if (param != BCM2835_PINCONF_PARAM_PULL) | ||
902 | return -EINVAL; | ||
903 | |||
904 | off = GPIO_REG_OFFSET(pin); | ||
905 | bit = GPIO_REG_SHIFT(pin); | ||
906 | |||
907 | bcm2835_gpio_wr(pc, GPPUD, arg & 3); | ||
908 | /* | ||
909 | * Docs say to wait 150 cycles, but not of what. We assume a | ||
910 | * 1 MHz clock here, which is pretty slow... | ||
911 | */ | ||
912 | udelay(150); | ||
913 | bcm2835_gpio_wr(pc, GPPUDCLK0 + (off * 4), BIT(bit)); | ||
914 | udelay(150); | ||
915 | bcm2835_gpio_wr(pc, GPPUDCLK0 + (off * 4), 0); | ||
916 | |||
917 | return 0; | ||
918 | } | ||
919 | |||
920 | struct pinconf_ops bcm2835_pinconf_ops = { | ||
921 | .pin_config_get = bcm2835_pinconf_get, | ||
922 | .pin_config_set = bcm2835_pinconf_set, | ||
923 | }; | ||
924 | |||
925 | static struct pinctrl_desc bcm2835_pinctrl_desc = { | ||
926 | .name = MODULE_NAME, | ||
927 | .pins = bcm2835_gpio_pins, | ||
928 | .npins = ARRAY_SIZE(bcm2835_gpio_pins), | ||
929 | .pctlops = &bcm2835_pctl_ops, | ||
930 | .pmxops = &bcm2835_pmx_ops, | ||
931 | .confops = &bcm2835_pinconf_ops, | ||
932 | .owner = THIS_MODULE, | ||
933 | }; | ||
934 | |||
935 | static struct pinctrl_gpio_range bcm2835_pinctrl_gpio_range __devinitconst = { | ||
936 | .name = MODULE_NAME, | ||
937 | .npins = BCM2835_NUM_GPIOS, | ||
938 | }; | ||
939 | |||
940 | static int __devinit bcm2835_pinctrl_probe(struct platform_device *pdev) | ||
941 | { | ||
942 | struct device *dev = &pdev->dev; | ||
943 | struct device_node *np = dev->of_node; | ||
944 | struct bcm2835_pinctrl *pc; | ||
945 | struct resource iomem; | ||
946 | int err, i; | ||
947 | BUILD_BUG_ON(ARRAY_SIZE(bcm2835_gpio_pins) != BCM2835_NUM_GPIOS); | ||
948 | BUILD_BUG_ON(ARRAY_SIZE(bcm2835_gpio_groups) != BCM2835_NUM_GPIOS); | ||
949 | |||
950 | pc = devm_kzalloc(dev, sizeof(*pc), GFP_KERNEL); | ||
951 | if (!pc) | ||
952 | return -ENOMEM; | ||
953 | |||
954 | platform_set_drvdata(pdev, pc); | ||
955 | pc->dev = dev; | ||
956 | |||
957 | err = of_address_to_resource(np, 0, &iomem); | ||
958 | if (err) { | ||
959 | dev_err(dev, "could not get IO memory\n"); | ||
960 | return err; | ||
961 | } | ||
962 | |||
963 | pc->base = devm_request_and_ioremap(&pdev->dev, &iomem); | ||
964 | if (!pc->base) | ||
965 | return -EADDRNOTAVAIL; | ||
966 | |||
967 | pc->gpio_chip = bcm2835_gpio_chip; | ||
968 | pc->gpio_chip.dev = dev; | ||
969 | pc->gpio_chip.of_node = np; | ||
970 | |||
971 | pc->irq_domain = irq_domain_add_linear(np, BCM2835_NUM_GPIOS, | ||
972 | &irq_domain_simple_ops, NULL); | ||
973 | if (!pc->irq_domain) { | ||
974 | dev_err(dev, "could not create IRQ domain\n"); | ||
975 | return -ENOMEM; | ||
976 | } | ||
977 | |||
978 | for (i = 0; i < BCM2835_NUM_GPIOS; i++) { | ||
979 | int irq = irq_create_mapping(pc->irq_domain, i); | ||
980 | irq_set_lockdep_class(irq, &gpio_lock_class); | ||
981 | irq_set_chip_and_handler(irq, &bcm2835_gpio_irq_chip, | ||
982 | handle_simple_irq); | ||
983 | irq_set_chip_data(irq, pc); | ||
984 | set_irq_flags(irq, IRQF_VALID); | ||
985 | } | ||
986 | |||
987 | for (i = 0; i < BCM2835_NUM_BANKS; i++) { | ||
988 | unsigned long events; | ||
989 | unsigned offset; | ||
990 | int len; | ||
991 | char *name; | ||
992 | |||
993 | /* clear event detection flags */ | ||
994 | bcm2835_gpio_wr(pc, GPREN0 + i * 4, 0); | ||
995 | bcm2835_gpio_wr(pc, GPFEN0 + i * 4, 0); | ||
996 | bcm2835_gpio_wr(pc, GPHEN0 + i * 4, 0); | ||
997 | bcm2835_gpio_wr(pc, GPLEN0 + i * 4, 0); | ||
998 | bcm2835_gpio_wr(pc, GPAREN0 + i * 4, 0); | ||
999 | bcm2835_gpio_wr(pc, GPAFEN0 + i * 4, 0); | ||
1000 | |||
1001 | /* clear all the events */ | ||
1002 | events = bcm2835_gpio_rd(pc, GPEDS0 + i * 4); | ||
1003 | for_each_set_bit(offset, &events, 32) | ||
1004 | bcm2835_gpio_wr(pc, GPEDS0 + i * 4, BIT(offset)); | ||
1005 | |||
1006 | pc->irq[i] = irq_of_parse_and_map(np, i); | ||
1007 | pc->irq_data[i].pc = pc; | ||
1008 | pc->irq_data[i].bank = i; | ||
1009 | spin_lock_init(&pc->irq_lock[i]); | ||
1010 | |||
1011 | len = strlen(dev_name(pc->dev)) + 16; | ||
1012 | name = devm_kzalloc(pc->dev, len, GFP_KERNEL); | ||
1013 | if (!name) | ||
1014 | return -ENOMEM; | ||
1015 | snprintf(name, len, "%s:bank%d", dev_name(pc->dev), i); | ||
1016 | |||
1017 | err = devm_request_irq(dev, pc->irq[i], | ||
1018 | bcm2835_gpio_irq_handler, IRQF_SHARED, | ||
1019 | name, &pc->irq_data[i]); | ||
1020 | if (err) { | ||
1021 | dev_err(dev, "unable to request IRQ %d\n", pc->irq[i]); | ||
1022 | return err; | ||
1023 | } | ||
1024 | } | ||
1025 | |||
1026 | err = gpiochip_add(&pc->gpio_chip); | ||
1027 | if (err) { | ||
1028 | dev_err(dev, "could not add GPIO chip\n"); | ||
1029 | return err; | ||
1030 | } | ||
1031 | |||
1032 | pc->pctl_dev = pinctrl_register(&bcm2835_pinctrl_desc, dev, pc); | ||
1033 | if (!pc->pctl_dev) { | ||
1034 | gpiochip_remove(&pc->gpio_chip); | ||
1035 | return PTR_ERR(pc->pctl_dev); | ||
1036 | } | ||
1037 | |||
1038 | pc->gpio_range = bcm2835_pinctrl_gpio_range; | ||
1039 | pc->gpio_range.base = pc->gpio_chip.base; | ||
1040 | pc->gpio_range.gc = &pc->gpio_chip; | ||
1041 | pinctrl_add_gpio_range(pc->pctl_dev, &pc->gpio_range); | ||
1042 | |||
1043 | return 0; | ||
1044 | } | ||
1045 | |||
1046 | static int __devexit bcm2835_pinctrl_remove(struct platform_device *pdev) | ||
1047 | { | ||
1048 | struct bcm2835_pinctrl *pc = platform_get_drvdata(pdev); | ||
1049 | |||
1050 | pinctrl_unregister(pc->pctl_dev); | ||
1051 | gpiochip_remove(&pc->gpio_chip); | ||
1052 | |||
1053 | return 0; | ||
1054 | } | ||
1055 | |||
1056 | static struct of_device_id bcm2835_pinctrl_match[] __devinitconst = { | ||
1057 | { .compatible = "brcm,bcm2835-gpio" }, | ||
1058 | {} | ||
1059 | }; | ||
1060 | MODULE_DEVICE_TABLE(of, bcm2835_pinctrl_match); | ||
1061 | |||
1062 | static struct platform_driver bcm2835_pinctrl_driver = { | ||
1063 | .probe = bcm2835_pinctrl_probe, | ||
1064 | .remove = bcm2835_pinctrl_remove, | ||
1065 | .driver = { | ||
1066 | .name = MODULE_NAME, | ||
1067 | .owner = THIS_MODULE, | ||
1068 | .of_match_table = bcm2835_pinctrl_match, | ||
1069 | }, | ||
1070 | }; | ||
1071 | module_platform_driver(bcm2835_pinctrl_driver); | ||
1072 | |||
1073 | MODULE_AUTHOR("Chris Boot, Simon Arlott, Stephen Warren"); | ||
1074 | MODULE_DESCRIPTION("BCM2835 Pin control driver"); | ||
1075 | MODULE_LICENSE("GPL"); | ||
diff --git a/drivers/pinctrl/pinctrl-imx.c b/drivers/pinctrl/pinctrl-imx.c index 44e97265cd7d..63866d95357d 100644 --- a/drivers/pinctrl/pinctrl-imx.c +++ b/drivers/pinctrl/pinctrl-imx.c | |||
@@ -432,7 +432,7 @@ static int __devinit imx_pinctrl_parse_groups(struct device_node *np, | |||
432 | { | 432 | { |
433 | unsigned int pin_func_id; | 433 | unsigned int pin_func_id; |
434 | int ret, size; | 434 | int ret, size; |
435 | const const __be32 *list; | 435 | const __be32 *list; |
436 | int i, j; | 436 | int i, j; |
437 | u32 config; | 437 | u32 config; |
438 | 438 | ||
diff --git a/drivers/pinctrl/pinctrl-imx35.c b/drivers/pinctrl/pinctrl-imx35.c new file mode 100644 index 000000000000..82f109e26f27 --- /dev/null +++ b/drivers/pinctrl/pinctrl-imx35.c | |||
@@ -0,0 +1,1595 @@ | |||
1 | /* | ||
2 | * imx35 pinctrl driver. | ||
3 | * | ||
4 | * This driver was mostly copied from the imx51 pinctrl driver which has: | ||
5 | * | ||
6 | * Copyright (C) 2012 Freescale Semiconductor, Inc. | ||
7 | * Copyright (C) 2012 Linaro, Inc. | ||
8 | * | ||
9 | * Author: Dong Aisheng <dong.aisheng@linaro.org> | ||
10 | * | ||
11 | * This program is free software; you can redistribute it and/or modify | ||
12 | * it under the terms of the GNU General Public License version 2 as published | ||
13 | * by the Free Software Foundation. | ||
14 | */ | ||
15 | |||
16 | #include <linux/err.h> | ||
17 | #include <linux/init.h> | ||
18 | #include <linux/io.h> | ||
19 | #include <linux/module.h> | ||
20 | #include <linux/of.h> | ||
21 | #include <linux/of_device.h> | ||
22 | #include <linux/pinctrl/pinctrl.h> | ||
23 | |||
24 | #include "pinctrl-imx.h" | ||
25 | |||
26 | enum imx35_pads { | ||
27 | MX35_PAD_CAPTURE = 0, | ||
28 | MX35_PAD_COMPARE = 1, | ||
29 | MX35_PAD_WDOG_RST = 2, | ||
30 | MX35_PAD_GPIO1_0 = 3, | ||
31 | MX35_PAD_GPIO1_1 = 4, | ||
32 | MX35_PAD_GPIO2_0 = 5, | ||
33 | MX35_PAD_GPIO3_0 = 6, | ||
34 | MX35_PAD_RESET_IN_B = 7, | ||
35 | MX35_PAD_POR_B = 8, | ||
36 | MX35_PAD_CLKO = 9, | ||
37 | MX35_PAD_BOOT_MODE0 = 10, | ||
38 | MX35_PAD_BOOT_MODE1 = 11, | ||
39 | MX35_PAD_CLK_MODE0 = 12, | ||
40 | MX35_PAD_CLK_MODE1 = 13, | ||
41 | MX35_PAD_POWER_FAIL = 14, | ||
42 | MX35_PAD_VSTBY = 15, | ||
43 | MX35_PAD_A0 = 16, | ||
44 | MX35_PAD_A1 = 17, | ||
45 | MX35_PAD_A2 = 18, | ||
46 | MX35_PAD_A3 = 19, | ||
47 | MX35_PAD_A4 = 20, | ||
48 | MX35_PAD_A5 = 21, | ||
49 | MX35_PAD_A6 = 22, | ||
50 | MX35_PAD_A7 = 23, | ||
51 | MX35_PAD_A8 = 24, | ||
52 | MX35_PAD_A9 = 25, | ||
53 | MX35_PAD_A10 = 26, | ||
54 | MX35_PAD_MA10 = 27, | ||
55 | MX35_PAD_A11 = 28, | ||
56 | MX35_PAD_A12 = 29, | ||
57 | MX35_PAD_A13 = 30, | ||
58 | MX35_PAD_A14 = 31, | ||
59 | MX35_PAD_A15 = 32, | ||
60 | MX35_PAD_A16 = 33, | ||
61 | MX35_PAD_A17 = 34, | ||
62 | MX35_PAD_A18 = 35, | ||
63 | MX35_PAD_A19 = 36, | ||
64 | MX35_PAD_A20 = 37, | ||
65 | MX35_PAD_A21 = 38, | ||
66 | MX35_PAD_A22 = 39, | ||
67 | MX35_PAD_A23 = 40, | ||
68 | MX35_PAD_A24 = 41, | ||
69 | MX35_PAD_A25 = 42, | ||
70 | MX35_PAD_SDBA1 = 43, | ||
71 | MX35_PAD_SDBA0 = 44, | ||
72 | MX35_PAD_SD0 = 45, | ||
73 | MX35_PAD_SD1 = 46, | ||
74 | MX35_PAD_SD2 = 47, | ||
75 | MX35_PAD_SD3 = 48, | ||
76 | MX35_PAD_SD4 = 49, | ||
77 | MX35_PAD_SD5 = 50, | ||
78 | MX35_PAD_SD6 = 51, | ||
79 | MX35_PAD_SD7 = 52, | ||
80 | MX35_PAD_SD8 = 53, | ||
81 | MX35_PAD_SD9 = 54, | ||
82 | MX35_PAD_SD10 = 55, | ||
83 | MX35_PAD_SD11 = 56, | ||
84 | MX35_PAD_SD12 = 57, | ||
85 | MX35_PAD_SD13 = 58, | ||
86 | MX35_PAD_SD14 = 59, | ||
87 | MX35_PAD_SD15 = 60, | ||
88 | MX35_PAD_SD16 = 61, | ||
89 | MX35_PAD_SD17 = 62, | ||
90 | MX35_PAD_SD18 = 63, | ||
91 | MX35_PAD_SD19 = 64, | ||
92 | MX35_PAD_SD20 = 65, | ||
93 | MX35_PAD_SD21 = 66, | ||
94 | MX35_PAD_SD22 = 67, | ||
95 | MX35_PAD_SD23 = 68, | ||
96 | MX35_PAD_SD24 = 69, | ||
97 | MX35_PAD_SD25 = 70, | ||
98 | MX35_PAD_SD26 = 71, | ||
99 | MX35_PAD_SD27 = 72, | ||
100 | MX35_PAD_SD28 = 73, | ||
101 | MX35_PAD_SD29 = 74, | ||
102 | MX35_PAD_SD30 = 75, | ||
103 | MX35_PAD_SD31 = 76, | ||
104 | MX35_PAD_DQM0 = 77, | ||
105 | MX35_PAD_DQM1 = 78, | ||
106 | MX35_PAD_DQM2 = 79, | ||
107 | MX35_PAD_DQM3 = 80, | ||
108 | MX35_PAD_EB0 = 81, | ||
109 | MX35_PAD_EB1 = 82, | ||
110 | MX35_PAD_OE = 83, | ||
111 | MX35_PAD_CS0 = 84, | ||
112 | MX35_PAD_CS1 = 85, | ||
113 | MX35_PAD_CS2 = 86, | ||
114 | MX35_PAD_CS3 = 87, | ||
115 | MX35_PAD_CS4 = 88, | ||
116 | MX35_PAD_CS5 = 89, | ||
117 | MX35_PAD_NF_CE0 = 90, | ||
118 | MX35_PAD_ECB = 91, | ||
119 | MX35_PAD_LBA = 92, | ||
120 | MX35_PAD_BCLK = 93, | ||
121 | MX35_PAD_RW = 94, | ||
122 | MX35_PAD_RAS = 95, | ||
123 | MX35_PAD_CAS = 96, | ||
124 | MX35_PAD_SDWE = 97, | ||
125 | MX35_PAD_SDCKE0 = 98, | ||
126 | MX35_PAD_SDCKE1 = 99, | ||
127 | MX35_PAD_SDCLK = 100, | ||
128 | MX35_PAD_SDQS0 = 101, | ||
129 | MX35_PAD_SDQS1 = 102, | ||
130 | MX35_PAD_SDQS2 = 103, | ||
131 | MX35_PAD_SDQS3 = 104, | ||
132 | MX35_PAD_NFWE_B = 105, | ||
133 | MX35_PAD_NFRE_B = 106, | ||
134 | MX35_PAD_NFALE = 107, | ||
135 | MX35_PAD_NFCLE = 108, | ||
136 | MX35_PAD_NFWP_B = 109, | ||
137 | MX35_PAD_NFRB = 110, | ||
138 | MX35_PAD_D15 = 111, | ||
139 | MX35_PAD_D14 = 112, | ||
140 | MX35_PAD_D13 = 113, | ||
141 | MX35_PAD_D12 = 114, | ||
142 | MX35_PAD_D11 = 115, | ||
143 | MX35_PAD_D10 = 116, | ||
144 | MX35_PAD_D9 = 117, | ||
145 | MX35_PAD_D8 = 118, | ||
146 | MX35_PAD_D7 = 119, | ||
147 | MX35_PAD_D6 = 120, | ||
148 | MX35_PAD_D5 = 121, | ||
149 | MX35_PAD_D4 = 122, | ||
150 | MX35_PAD_D3 = 123, | ||
151 | MX35_PAD_D2 = 124, | ||
152 | MX35_PAD_D1 = 125, | ||
153 | MX35_PAD_D0 = 126, | ||
154 | MX35_PAD_CSI_D8 = 127, | ||
155 | MX35_PAD_CSI_D9 = 128, | ||
156 | MX35_PAD_CSI_D10 = 129, | ||
157 | MX35_PAD_CSI_D11 = 130, | ||
158 | MX35_PAD_CSI_D12 = 131, | ||
159 | MX35_PAD_CSI_D13 = 132, | ||
160 | MX35_PAD_CSI_D14 = 133, | ||
161 | MX35_PAD_CSI_D15 = 134, | ||
162 | MX35_PAD_CSI_MCLK = 135, | ||
163 | MX35_PAD_CSI_VSYNC = 136, | ||
164 | MX35_PAD_CSI_HSYNC = 137, | ||
165 | MX35_PAD_CSI_PIXCLK = 138, | ||
166 | MX35_PAD_I2C1_CLK = 139, | ||
167 | MX35_PAD_I2C1_DAT = 140, | ||
168 | MX35_PAD_I2C2_CLK = 141, | ||
169 | MX35_PAD_I2C2_DAT = 142, | ||
170 | MX35_PAD_STXD4 = 143, | ||
171 | MX35_PAD_SRXD4 = 144, | ||
172 | MX35_PAD_SCK4 = 145, | ||
173 | MX35_PAD_STXFS4 = 146, | ||
174 | MX35_PAD_STXD5 = 147, | ||
175 | MX35_PAD_SRXD5 = 148, | ||
176 | MX35_PAD_SCK5 = 149, | ||
177 | MX35_PAD_STXFS5 = 150, | ||
178 | MX35_PAD_SCKR = 151, | ||
179 | MX35_PAD_FSR = 152, | ||
180 | MX35_PAD_HCKR = 153, | ||
181 | MX35_PAD_SCKT = 154, | ||
182 | MX35_PAD_FST = 155, | ||
183 | MX35_PAD_HCKT = 156, | ||
184 | MX35_PAD_TX5_RX0 = 157, | ||
185 | MX35_PAD_TX4_RX1 = 158, | ||
186 | MX35_PAD_TX3_RX2 = 159, | ||
187 | MX35_PAD_TX2_RX3 = 160, | ||
188 | MX35_PAD_TX1 = 161, | ||
189 | MX35_PAD_TX0 = 162, | ||
190 | MX35_PAD_CSPI1_MOSI = 163, | ||
191 | MX35_PAD_CSPI1_MISO = 164, | ||
192 | MX35_PAD_CSPI1_SS0 = 165, | ||
193 | MX35_PAD_CSPI1_SS1 = 166, | ||
194 | MX35_PAD_CSPI1_SCLK = 167, | ||
195 | MX35_PAD_CSPI1_SPI_RDY = 168, | ||
196 | MX35_PAD_RXD1 = 169, | ||
197 | MX35_PAD_TXD1 = 170, | ||
198 | MX35_PAD_RTS1 = 171, | ||
199 | MX35_PAD_CTS1 = 172, | ||
200 | MX35_PAD_RXD2 = 173, | ||
201 | MX35_PAD_TXD2 = 174, | ||
202 | MX35_PAD_RTS2 = 175, | ||
203 | MX35_PAD_CTS2 = 176, | ||
204 | MX35_PAD_RTCK = 177, | ||
205 | MX35_PAD_TCK = 178, | ||
206 | MX35_PAD_TMS = 179, | ||
207 | MX35_PAD_TDI = 180, | ||
208 | MX35_PAD_TDO = 181, | ||
209 | MX35_PAD_TRSTB = 182, | ||
210 | MX35_PAD_DE_B = 183, | ||
211 | MX35_PAD_SJC_MOD = 184, | ||
212 | MX35_PAD_USBOTG_PWR = 185, | ||
213 | MX35_PAD_USBOTG_OC = 186, | ||
214 | MX35_PAD_LD0 = 187, | ||
215 | MX35_PAD_LD1 = 188, | ||
216 | MX35_PAD_LD2 = 189, | ||
217 | MX35_PAD_LD3 = 190, | ||
218 | MX35_PAD_LD4 = 191, | ||
219 | MX35_PAD_LD5 = 192, | ||
220 | MX35_PAD_LD6 = 193, | ||
221 | MX35_PAD_LD7 = 194, | ||
222 | MX35_PAD_LD8 = 195, | ||
223 | MX35_PAD_LD9 = 196, | ||
224 | MX35_PAD_LD10 = 197, | ||
225 | MX35_PAD_LD11 = 198, | ||
226 | MX35_PAD_LD12 = 199, | ||
227 | MX35_PAD_LD13 = 200, | ||
228 | MX35_PAD_LD14 = 201, | ||
229 | MX35_PAD_LD15 = 202, | ||
230 | MX35_PAD_LD16 = 203, | ||
231 | MX35_PAD_LD17 = 204, | ||
232 | MX35_PAD_LD18 = 205, | ||
233 | MX35_PAD_LD19 = 206, | ||
234 | MX35_PAD_LD20 = 207, | ||
235 | MX35_PAD_LD21 = 208, | ||
236 | MX35_PAD_LD22 = 209, | ||
237 | MX35_PAD_LD23 = 210, | ||
238 | MX35_PAD_D3_HSYNC = 211, | ||
239 | MX35_PAD_D3_FPSHIFT = 212, | ||
240 | MX35_PAD_D3_DRDY = 213, | ||
241 | MX35_PAD_CONTRAST = 214, | ||
242 | MX35_PAD_D3_VSYNC = 215, | ||
243 | MX35_PAD_D3_REV = 216, | ||
244 | MX35_PAD_D3_CLS = 217, | ||
245 | MX35_PAD_D3_SPL = 218, | ||
246 | MX35_PAD_SD1_CMD = 219, | ||
247 | MX35_PAD_SD1_CLK = 220, | ||
248 | MX35_PAD_SD1_DATA0 = 221, | ||
249 | MX35_PAD_SD1_DATA1 = 222, | ||
250 | MX35_PAD_SD1_DATA2 = 223, | ||
251 | MX35_PAD_SD1_DATA3 = 224, | ||
252 | MX35_PAD_SD2_CMD = 225, | ||
253 | MX35_PAD_SD2_CLK = 226, | ||
254 | MX35_PAD_SD2_DATA0 = 227, | ||
255 | MX35_PAD_SD2_DATA1 = 228, | ||
256 | MX35_PAD_SD2_DATA2 = 229, | ||
257 | MX35_PAD_SD2_DATA3 = 230, | ||
258 | MX35_PAD_ATA_CS0 = 231, | ||
259 | MX35_PAD_ATA_CS1 = 232, | ||
260 | MX35_PAD_ATA_DIOR = 233, | ||
261 | MX35_PAD_ATA_DIOW = 234, | ||
262 | MX35_PAD_ATA_DMACK = 235, | ||
263 | MX35_PAD_ATA_RESET_B = 236, | ||
264 | MX35_PAD_ATA_IORDY = 237, | ||
265 | MX35_PAD_ATA_DATA0 = 238, | ||
266 | MX35_PAD_ATA_DATA1 = 239, | ||
267 | MX35_PAD_ATA_DATA2 = 240, | ||
268 | MX35_PAD_ATA_DATA3 = 241, | ||
269 | MX35_PAD_ATA_DATA4 = 242, | ||
270 | MX35_PAD_ATA_DATA5 = 243, | ||
271 | MX35_PAD_ATA_DATA6 = 244, | ||
272 | MX35_PAD_ATA_DATA7 = 245, | ||
273 | MX35_PAD_ATA_DATA8 = 246, | ||
274 | MX35_PAD_ATA_DATA9 = 247, | ||
275 | MX35_PAD_ATA_DATA10 = 248, | ||
276 | MX35_PAD_ATA_DATA11 = 249, | ||
277 | MX35_PAD_ATA_DATA12 = 250, | ||
278 | MX35_PAD_ATA_DATA13 = 251, | ||
279 | MX35_PAD_ATA_DATA14 = 252, | ||
280 | MX35_PAD_ATA_DATA15 = 253, | ||
281 | MX35_PAD_ATA_INTRQ = 254, | ||
282 | MX35_PAD_ATA_BUFF_EN = 255, | ||
283 | MX35_PAD_ATA_DMARQ = 256, | ||
284 | MX35_PAD_ATA_DA0 = 257, | ||
285 | MX35_PAD_ATA_DA1 = 258, | ||
286 | MX35_PAD_ATA_DA2 = 259, | ||
287 | MX35_PAD_MLB_CLK = 260, | ||
288 | MX35_PAD_MLB_DAT = 261, | ||
289 | MX35_PAD_MLB_SIG = 262, | ||
290 | MX35_PAD_FEC_TX_CLK = 263, | ||
291 | MX35_PAD_FEC_RX_CLK = 264, | ||
292 | MX35_PAD_FEC_RX_DV = 265, | ||
293 | MX35_PAD_FEC_COL = 266, | ||
294 | MX35_PAD_FEC_RDATA0 = 267, | ||
295 | MX35_PAD_FEC_TDATA0 = 268, | ||
296 | MX35_PAD_FEC_TX_EN = 269, | ||
297 | MX35_PAD_FEC_MDC = 270, | ||
298 | MX35_PAD_FEC_MDIO = 271, | ||
299 | MX35_PAD_FEC_TX_ERR = 272, | ||
300 | MX35_PAD_FEC_RX_ERR = 273, | ||
301 | MX35_PAD_FEC_CRS = 274, | ||
302 | MX35_PAD_FEC_RDATA1 = 275, | ||
303 | MX35_PAD_FEC_TDATA1 = 276, | ||
304 | MX35_PAD_FEC_RDATA2 = 277, | ||
305 | MX35_PAD_FEC_TDATA2 = 278, | ||
306 | MX35_PAD_FEC_RDATA3 = 279, | ||
307 | MX35_PAD_FEC_TDATA3 = 280, | ||
308 | MX35_PAD_EXT_ARMCLK = 281, | ||
309 | MX35_PAD_TEST_MODE = 282, | ||
310 | }; | ||
311 | |||
312 | /* imx35 register maps */ | ||
313 | static struct imx_pin_reg imx35_pin_regs[] = { | ||
314 | [0] = IMX_PIN_REG(MX35_PAD_CAPTURE, 0x328, 0x004, 0, 0x0, 0), /* MX35_PAD_CAPTURE__GPT_CAPIN1 */ | ||
315 | [1] = IMX_PIN_REG(MX35_PAD_CAPTURE, 0x328, 0x004, 1, 0x0, 0), /* MX35_PAD_CAPTURE__GPT_CMPOUT2 */ | ||
316 | [2] = IMX_PIN_REG(MX35_PAD_CAPTURE, 0x328, 0x004, 2, 0x7f4, 0), /* MX35_PAD_CAPTURE__CSPI2_SS1 */ | ||
317 | [3] = IMX_PIN_REG(MX35_PAD_CAPTURE, 0x328, 0x004, 3, 0x0, 0), /* MX35_PAD_CAPTURE__EPIT1_EPITO */ | ||
318 | [4] = IMX_PIN_REG(MX35_PAD_CAPTURE, 0x328, 0x004, 4, 0x7d0, 0), /* MX35_PAD_CAPTURE__CCM_CLK32K */ | ||
319 | [5] = IMX_PIN_REG(MX35_PAD_CAPTURE, 0x328, 0x004, 5, 0x850, 0), /* MX35_PAD_CAPTURE__GPIO1_4 */ | ||
320 | [6] = IMX_PIN_REG(MX35_PAD_COMPARE, 0x32c, 0x008, 0, 0x0, 0), /* MX35_PAD_COMPARE__GPT_CMPOUT1 */ | ||
321 | [7] = IMX_PIN_REG(MX35_PAD_COMPARE, 0x32c, 0x008, 1, 0x0, 0), /* MX35_PAD_COMPARE__GPT_CAPIN2 */ | ||
322 | [8] = IMX_PIN_REG(MX35_PAD_COMPARE, 0x32c, 0x008, 2, 0x0, 0), /* MX35_PAD_COMPARE__GPT_CMPOUT3 */ | ||
323 | [9] = IMX_PIN_REG(MX35_PAD_COMPARE, 0x32c, 0x008, 3, 0x0, 0), /* MX35_PAD_COMPARE__EPIT2_EPITO */ | ||
324 | [10] = IMX_PIN_REG(MX35_PAD_COMPARE, 0x32c, 0x008, 5, 0x854, 0), /* MX35_PAD_COMPARE__GPIO1_5 */ | ||
325 | [11] = IMX_PIN_REG(MX35_PAD_COMPARE, 0x32c, 0x008, 7, 0x0, 0), /* MX35_PAD_COMPARE__SDMA_EXTDMA_2 */ | ||
326 | [12] = IMX_PIN_REG(MX35_PAD_WDOG_RST, 0x330, 0x00c, 0, 0x0, 0), /* MX35_PAD_WDOG_RST__WDOG_WDOG_B */ | ||
327 | [13] = IMX_PIN_REG(MX35_PAD_WDOG_RST, 0x330, 0x00c, 3, 0x0, 0), /* MX35_PAD_WDOG_RST__IPU_FLASH_STROBE */ | ||
328 | [14] = IMX_PIN_REG(MX35_PAD_WDOG_RST, 0x330, 0x00c, 5, 0x858, 0), /* MX35_PAD_WDOG_RST__GPIO1_6 */ | ||
329 | [15] = IMX_PIN_REG(MX35_PAD_GPIO1_0, 0x334, 0x010, 0, 0x82c, 0), /* MX35_PAD_GPIO1_0__GPIO1_0 */ | ||
330 | [16] = IMX_PIN_REG(MX35_PAD_GPIO1_0, 0x334, 0x010, 1, 0x7d4, 0), /* MX35_PAD_GPIO1_0__CCM_PMIC_RDY */ | ||
331 | [17] = IMX_PIN_REG(MX35_PAD_GPIO1_0, 0x334, 0x010, 2, 0x990, 0), /* MX35_PAD_GPIO1_0__OWIRE_LINE */ | ||
332 | [18] = IMX_PIN_REG(MX35_PAD_GPIO1_0, 0x334, 0x010, 7, 0x0, 0), /* MX35_PAD_GPIO1_0__SDMA_EXTDMA_0 */ | ||
333 | [19] = IMX_PIN_REG(MX35_PAD_GPIO1_1, 0x338, 0x014, 0, 0x838, 0), /* MX35_PAD_GPIO1_1__GPIO1_1 */ | ||
334 | [20] = IMX_PIN_REG(MX35_PAD_GPIO1_1, 0x338, 0x014, 2, 0x0, 0), /* MX35_PAD_GPIO1_1__PWM_PWMO */ | ||
335 | [21] = IMX_PIN_REG(MX35_PAD_GPIO1_1, 0x338, 0x014, 3, 0x7d8, 0), /* MX35_PAD_GPIO1_1__CSPI1_SS2 */ | ||
336 | [22] = IMX_PIN_REG(MX35_PAD_GPIO1_1, 0x338, 0x014, 6, 0x0, 0), /* MX35_PAD_GPIO1_1__SCC_TAMPER_DETECT */ | ||
337 | [23] = IMX_PIN_REG(MX35_PAD_GPIO1_1, 0x338, 0x014, 7, 0x0, 0), /* MX35_PAD_GPIO1_1__SDMA_EXTDMA_1 */ | ||
338 | [24] = IMX_PIN_REG(MX35_PAD_GPIO2_0, 0x33c, 0x018, 0, 0x868, 0), /* MX35_PAD_GPIO2_0__GPIO2_0 */ | ||
339 | [25] = IMX_PIN_REG(MX35_PAD_GPIO2_0, 0x33c, 0x018, 1, 0x0, 0), /* MX35_PAD_GPIO2_0__USB_TOP_USBOTG_CLK */ | ||
340 | [26] = IMX_PIN_REG(MX35_PAD_GPIO3_0, 0x340, 0x01c, 0, 0x8e8, 0), /* MX35_PAD_GPIO3_0__GPIO3_0 */ | ||
341 | [27] = IMX_PIN_REG(MX35_PAD_GPIO3_0, 0x340, 0x01c, 1, 0x0, 0), /* MX35_PAD_GPIO3_0__USB_TOP_USBH2_CLK */ | ||
342 | [28] = IMX_PIN_REG(MX35_PAD_RESET_IN_B, 0x344, 0x0, 0, 0x0, 0), /* MX35_PAD_RESET_IN_B__CCM_RESET_IN_B */ | ||
343 | [29] = IMX_PIN_REG(MX35_PAD_POR_B, 0x348, 0x0, 0, 0x0, 0), /* MX35_PAD_POR_B__CCM_POR_B */ | ||
344 | [30] = IMX_PIN_REG(MX35_PAD_CLKO, 0x34c, 0x020, 0, 0x0, 0), /* MX35_PAD_CLKO__CCM_CLKO */ | ||
345 | [31] = IMX_PIN_REG(MX35_PAD_CLKO, 0x34c, 0x020, 5, 0x860, 0), /* MX35_PAD_CLKO__GPIO1_8 */ | ||
346 | [32] = IMX_PIN_REG(MX35_PAD_BOOT_MODE0, 0x350, 0x0, 0, 0x0, 0), /* MX35_PAD_BOOT_MODE0__CCM_BOOT_MODE_0 */ | ||
347 | [33] = IMX_PIN_REG(MX35_PAD_BOOT_MODE1, 0x354, 0x0, 0, 0x0, 0), /* MX35_PAD_BOOT_MODE1__CCM_BOOT_MODE_1 */ | ||
348 | [34] = IMX_PIN_REG(MX35_PAD_CLK_MODE0, 0x358, 0x0, 0, 0x0, 0), /* MX35_PAD_CLK_MODE0__CCM_CLK_MODE_0 */ | ||
349 | [35] = IMX_PIN_REG(MX35_PAD_CLK_MODE1, 0x35c, 0x0, 0, 0x0, 0), /* MX35_PAD_CLK_MODE1__CCM_CLK_MODE_1 */ | ||
350 | [36] = IMX_PIN_REG(MX35_PAD_POWER_FAIL, 0x360, 0x0, 0, 0x0, 0), /* MX35_PAD_POWER_FAIL__CCM_DSM_WAKEUP_INT_26 */ | ||
351 | [37] = IMX_PIN_REG(MX35_PAD_VSTBY, 0x364, 0x024, 0, 0x0, 0), /* MX35_PAD_VSTBY__CCM_VSTBY */ | ||
352 | [38] = IMX_PIN_REG(MX35_PAD_VSTBY, 0x364, 0x024, 5, 0x85c, 0), /* MX35_PAD_VSTBY__GPIO1_7 */ | ||
353 | [39] = IMX_PIN_REG(MX35_PAD_A0, 0x368, 0x028, 0, 0x0, 0), /* MX35_PAD_A0__EMI_EIM_DA_L_0 */ | ||
354 | [40] = IMX_PIN_REG(MX35_PAD_A1, 0x36c, 0x02c, 0, 0x0, 0), /* MX35_PAD_A1__EMI_EIM_DA_L_1 */ | ||
355 | [41] = IMX_PIN_REG(MX35_PAD_A2, 0x370, 0x030, 0, 0x0, 0), /* MX35_PAD_A2__EMI_EIM_DA_L_2 */ | ||
356 | [42] = IMX_PIN_REG(MX35_PAD_A3, 0x374, 0x034, 0, 0x0, 0), /* MX35_PAD_A3__EMI_EIM_DA_L_3 */ | ||
357 | [43] = IMX_PIN_REG(MX35_PAD_A4, 0x378, 0x038, 0, 0x0, 0), /* MX35_PAD_A4__EMI_EIM_DA_L_4 */ | ||
358 | [44] = IMX_PIN_REG(MX35_PAD_A5, 0x37c, 0x03c, 0, 0x0, 0), /* MX35_PAD_A5__EMI_EIM_DA_L_5 */ | ||
359 | [45] = IMX_PIN_REG(MX35_PAD_A6, 0x380, 0x040, 0, 0x0, 0), /* MX35_PAD_A6__EMI_EIM_DA_L_6 */ | ||
360 | [46] = IMX_PIN_REG(MX35_PAD_A7, 0x384, 0x044, 0, 0x0, 0), /* MX35_PAD_A7__EMI_EIM_DA_L_7 */ | ||
361 | [47] = IMX_PIN_REG(MX35_PAD_A8, 0x388, 0x048, 0, 0x0, 0), /* MX35_PAD_A8__EMI_EIM_DA_H_8 */ | ||
362 | [48] = IMX_PIN_REG(MX35_PAD_A9, 0x38c, 0x04c, 0, 0x0, 0), /* MX35_PAD_A9__EMI_EIM_DA_H_9 */ | ||
363 | [49] = IMX_PIN_REG(MX35_PAD_A10, 0x390, 0x050, 0, 0x0, 0), /* MX35_PAD_A10__EMI_EIM_DA_H_10 */ | ||
364 | [50] = IMX_PIN_REG(MX35_PAD_MA10, 0x394, 0x054, 0, 0x0, 0), /* MX35_PAD_MA10__EMI_MA10 */ | ||
365 | [51] = IMX_PIN_REG(MX35_PAD_A11, 0x398, 0x058, 0, 0x0, 0), /* MX35_PAD_A11__EMI_EIM_DA_H_11 */ | ||
366 | [52] = IMX_PIN_REG(MX35_PAD_A12, 0x39c, 0x05c, 0, 0x0, 0), /* MX35_PAD_A12__EMI_EIM_DA_H_12 */ | ||
367 | [53] = IMX_PIN_REG(MX35_PAD_A13, 0x3a0, 0x060, 0, 0x0, 0), /* MX35_PAD_A13__EMI_EIM_DA_H_13 */ | ||
368 | [54] = IMX_PIN_REG(MX35_PAD_A14, 0x3a4, 0x064, 0, 0x0, 0), /* MX35_PAD_A14__EMI_EIM_DA_H2_14 */ | ||
369 | [55] = IMX_PIN_REG(MX35_PAD_A15, 0x3a8, 0x068, 0, 0x0, 0), /* MX35_PAD_A15__EMI_EIM_DA_H2_15 */ | ||
370 | [56] = IMX_PIN_REG(MX35_PAD_A16, 0x3ac, 0x06c, 0, 0x0, 0), /* MX35_PAD_A16__EMI_EIM_A_16 */ | ||
371 | [57] = IMX_PIN_REG(MX35_PAD_A17, 0x3b0, 0x070, 0, 0x0, 0), /* MX35_PAD_A17__EMI_EIM_A_17 */ | ||
372 | [58] = IMX_PIN_REG(MX35_PAD_A18, 0x3b4, 0x074, 0, 0x0, 0), /* MX35_PAD_A18__EMI_EIM_A_18 */ | ||
373 | [59] = IMX_PIN_REG(MX35_PAD_A19, 0x3b8, 0x078, 0, 0x0, 0), /* MX35_PAD_A19__EMI_EIM_A_19 */ | ||
374 | [60] = IMX_PIN_REG(MX35_PAD_A20, 0x3bc, 0x07c, 0, 0x0, 0), /* MX35_PAD_A20__EMI_EIM_A_20 */ | ||
375 | [61] = IMX_PIN_REG(MX35_PAD_A21, 0x3c0, 0x080, 0, 0x0, 0), /* MX35_PAD_A21__EMI_EIM_A_21 */ | ||
376 | [62] = IMX_PIN_REG(MX35_PAD_A22, 0x3c4, 0x084, 0, 0x0, 0), /* MX35_PAD_A22__EMI_EIM_A_22 */ | ||
377 | [63] = IMX_PIN_REG(MX35_PAD_A23, 0x3c8, 0x088, 0, 0x0, 0), /* MX35_PAD_A23__EMI_EIM_A_23 */ | ||
378 | [64] = IMX_PIN_REG(MX35_PAD_A24, 0x3cc, 0x08c, 0, 0x0, 0), /* MX35_PAD_A24__EMI_EIM_A_24 */ | ||
379 | [65] = IMX_PIN_REG(MX35_PAD_A25, 0x3d0, 0x090, 0, 0x0, 0), /* MX35_PAD_A25__EMI_EIM_A_25 */ | ||
380 | [66] = IMX_PIN_REG(MX35_PAD_SDBA1, 0x3d4, 0x0, 0, 0x0, 0), /* MX35_PAD_SDBA1__EMI_EIM_SDBA1 */ | ||
381 | [67] = IMX_PIN_REG(MX35_PAD_SDBA0, 0x3d8, 0x0, 0, 0x0, 0), /* MX35_PAD_SDBA0__EMI_EIM_SDBA0 */ | ||
382 | [68] = IMX_PIN_REG(MX35_PAD_SD0, 0x3dc, 0x0, 0, 0x0, 0), /* MX35_PAD_SD0__EMI_DRAM_D_0 */ | ||
383 | [69] = IMX_PIN_REG(MX35_PAD_SD1, 0x3e0, 0x0, 0, 0x0, 0), /* MX35_PAD_SD1__EMI_DRAM_D_1 */ | ||
384 | [70] = IMX_PIN_REG(MX35_PAD_SD2, 0x3e4, 0x0, 0, 0x0, 0), /* MX35_PAD_SD2__EMI_DRAM_D_2 */ | ||
385 | [71] = IMX_PIN_REG(MX35_PAD_SD3, 0x3e8, 0x0, 0, 0x0, 0), /* MX35_PAD_SD3__EMI_DRAM_D_3 */ | ||
386 | [72] = IMX_PIN_REG(MX35_PAD_SD4, 0x3ec, 0x0, 0, 0x0, 0), /* MX35_PAD_SD4__EMI_DRAM_D_4 */ | ||
387 | [73] = IMX_PIN_REG(MX35_PAD_SD5, 0x3f0, 0x0, 0, 0x0, 0), /* MX35_PAD_SD5__EMI_DRAM_D_5 */ | ||
388 | [74] = IMX_PIN_REG(MX35_PAD_SD6, 0x3f4, 0x0, 0, 0x0, 0), /* MX35_PAD_SD6__EMI_DRAM_D_6 */ | ||
389 | [75] = IMX_PIN_REG(MX35_PAD_SD7, 0x3f8, 0x0, 0, 0x0, 0), /* MX35_PAD_SD7__EMI_DRAM_D_7 */ | ||
390 | [76] = IMX_PIN_REG(MX35_PAD_SD8, 0x3fc, 0x0, 0, 0x0, 0), /* MX35_PAD_SD8__EMI_DRAM_D_8 */ | ||
391 | [77] = IMX_PIN_REG(MX35_PAD_SD9, 0x400, 0x0, 0, 0x0, 0), /* MX35_PAD_SD9__EMI_DRAM_D_9 */ | ||
392 | [78] = IMX_PIN_REG(MX35_PAD_SD10, 0x404, 0x0, 0, 0x0, 0), /* MX35_PAD_SD10__EMI_DRAM_D_10 */ | ||
393 | [79] = IMX_PIN_REG(MX35_PAD_SD11, 0x408, 0x0, 0, 0x0, 0), /* MX35_PAD_SD11__EMI_DRAM_D_11 */ | ||
394 | [80] = IMX_PIN_REG(MX35_PAD_SD12, 0x40c, 0x0, 0, 0x0, 0), /* MX35_PAD_SD12__EMI_DRAM_D_12 */ | ||
395 | [81] = IMX_PIN_REG(MX35_PAD_SD13, 0x410, 0x0, 0, 0x0, 0), /* MX35_PAD_SD13__EMI_DRAM_D_13 */ | ||
396 | [82] = IMX_PIN_REG(MX35_PAD_SD14, 0x414, 0x0, 0, 0x0, 0), /* MX35_PAD_SD14__EMI_DRAM_D_14 */ | ||
397 | [83] = IMX_PIN_REG(MX35_PAD_SD15, 0x418, 0x0, 0, 0x0, 0), /* MX35_PAD_SD15__EMI_DRAM_D_15 */ | ||
398 | [84] = IMX_PIN_REG(MX35_PAD_SD16, 0x41c, 0x0, 0, 0x0, 0), /* MX35_PAD_SD16__EMI_DRAM_D_16 */ | ||
399 | [85] = IMX_PIN_REG(MX35_PAD_SD17, 0x420, 0x0, 0, 0x0, 0), /* MX35_PAD_SD17__EMI_DRAM_D_17 */ | ||
400 | [86] = IMX_PIN_REG(MX35_PAD_SD18, 0x424, 0x0, 0, 0x0, 0), /* MX35_PAD_SD18__EMI_DRAM_D_18 */ | ||
401 | [87] = IMX_PIN_REG(MX35_PAD_SD19, 0x428, 0x0, 0, 0x0, 0), /* MX35_PAD_SD19__EMI_DRAM_D_19 */ | ||
402 | [88] = IMX_PIN_REG(MX35_PAD_SD20, 0x42c, 0x0, 0, 0x0, 0), /* MX35_PAD_SD20__EMI_DRAM_D_20 */ | ||
403 | [89] = IMX_PIN_REG(MX35_PAD_SD21, 0x430, 0x0, 0, 0x0, 0), /* MX35_PAD_SD21__EMI_DRAM_D_21 */ | ||
404 | [90] = IMX_PIN_REG(MX35_PAD_SD22, 0x434, 0x0, 0, 0x0, 0), /* MX35_PAD_SD22__EMI_DRAM_D_22 */ | ||
405 | [91] = IMX_PIN_REG(MX35_PAD_SD23, 0x438, 0x0, 0, 0x0, 0), /* MX35_PAD_SD23__EMI_DRAM_D_23 */ | ||
406 | [92] = IMX_PIN_REG(MX35_PAD_SD24, 0x43c, 0x0, 0, 0x0, 0), /* MX35_PAD_SD24__EMI_DRAM_D_24 */ | ||
407 | [93] = IMX_PIN_REG(MX35_PAD_SD25, 0x440, 0x0, 0, 0x0, 0), /* MX35_PAD_SD25__EMI_DRAM_D_25 */ | ||
408 | [94] = IMX_PIN_REG(MX35_PAD_SD26, 0x444, 0x0, 0, 0x0, 0), /* MX35_PAD_SD26__EMI_DRAM_D_26 */ | ||
409 | [95] = IMX_PIN_REG(MX35_PAD_SD27, 0x448, 0x0, 0, 0x0, 0), /* MX35_PAD_SD27__EMI_DRAM_D_27 */ | ||
410 | [96] = IMX_PIN_REG(MX35_PAD_SD28, 0x44c, 0x0, 0, 0x0, 0), /* MX35_PAD_SD28__EMI_DRAM_D_28 */ | ||
411 | [97] = IMX_PIN_REG(MX35_PAD_SD29, 0x450, 0x0, 0, 0x0, 0), /* MX35_PAD_SD29__EMI_DRAM_D_29 */ | ||
412 | [98] = IMX_PIN_REG(MX35_PAD_SD30, 0x454, 0x0, 0, 0x0, 0), /* MX35_PAD_SD30__EMI_DRAM_D_30 */ | ||
413 | [99] = IMX_PIN_REG(MX35_PAD_SD31, 0x458, 0x0, 0, 0x0, 0), /* MX35_PAD_SD31__EMI_DRAM_D_31 */ | ||
414 | [100] = IMX_PIN_REG(MX35_PAD_DQM0, 0x45c, 0x0, 0, 0x0, 0), /* MX35_PAD_DQM0__EMI_DRAM_DQM_0 */ | ||
415 | [101] = IMX_PIN_REG(MX35_PAD_DQM1, 0x460, 0x0, 0, 0x0, 0), /* MX35_PAD_DQM1__EMI_DRAM_DQM_1 */ | ||
416 | [102] = IMX_PIN_REG(MX35_PAD_DQM2, 0x464, 0x0, 0, 0x0, 0), /* MX35_PAD_DQM2__EMI_DRAM_DQM_2 */ | ||
417 | [103] = IMX_PIN_REG(MX35_PAD_DQM3, 0x468, 0x0, 0, 0x0, 0), /* MX35_PAD_DQM3__EMI_DRAM_DQM_3 */ | ||
418 | [104] = IMX_PIN_REG(MX35_PAD_EB0, 0x46c, 0x094, 0, 0x0, 0), /* MX35_PAD_EB0__EMI_EIM_EB0_B */ | ||
419 | [105] = IMX_PIN_REG(MX35_PAD_EB1, 0x470, 0x098, 0, 0x0, 0), /* MX35_PAD_EB1__EMI_EIM_EB1_B */ | ||
420 | [106] = IMX_PIN_REG(MX35_PAD_OE, 0x474, 0x09c, 0, 0x0, 0), /* MX35_PAD_OE__EMI_EIM_OE */ | ||
421 | [107] = IMX_PIN_REG(MX35_PAD_CS0, 0x478, 0x0a0, 0, 0x0, 0), /* MX35_PAD_CS0__EMI_EIM_CS0 */ | ||
422 | [108] = IMX_PIN_REG(MX35_PAD_CS1, 0x47c, 0x0a4, 0, 0x0, 0), /* MX35_PAD_CS1__EMI_EIM_CS1 */ | ||
423 | [109] = IMX_PIN_REG(MX35_PAD_CS1, 0x47c, 0x0a4, 3, 0x0, 0), /* MX35_PAD_CS1__EMI_NANDF_CE3 */ | ||
424 | [110] = IMX_PIN_REG(MX35_PAD_CS2, 0x480, 0x0a8, 0, 0x0, 0), /* MX35_PAD_CS2__EMI_EIM_CS2 */ | ||
425 | [111] = IMX_PIN_REG(MX35_PAD_CS3, 0x484, 0x0ac, 0, 0x0, 0), /* MX35_PAD_CS3__EMI_EIM_CS3 */ | ||
426 | [112] = IMX_PIN_REG(MX35_PAD_CS4, 0x488, 0x0b0, 0, 0x0, 0), /* MX35_PAD_CS4__EMI_EIM_CS4 */ | ||
427 | [113] = IMX_PIN_REG(MX35_PAD_CS4, 0x488, 0x0b0, 1, 0x800, 0), /* MX35_PAD_CS4__EMI_DTACK_B */ | ||
428 | [114] = IMX_PIN_REG(MX35_PAD_CS4, 0x488, 0x0b0, 3, 0x0, 0), /* MX35_PAD_CS4__EMI_NANDF_CE1 */ | ||
429 | [115] = IMX_PIN_REG(MX35_PAD_CS4, 0x488, 0x0b0, 5, 0x83c, 0), /* MX35_PAD_CS4__GPIO1_20 */ | ||
430 | [116] = IMX_PIN_REG(MX35_PAD_CS5, 0x48c, 0x0b4, 0, 0x0, 0), /* MX35_PAD_CS5__EMI_EIM_CS5 */ | ||
431 | [117] = IMX_PIN_REG(MX35_PAD_CS5, 0x48c, 0x0b4, 1, 0x7f8, 0), /* MX35_PAD_CS5__CSPI2_SS2 */ | ||
432 | [118] = IMX_PIN_REG(MX35_PAD_CS5, 0x48c, 0x0b4, 2, 0x7d8, 1), /* MX35_PAD_CS5__CSPI1_SS2 */ | ||
433 | [119] = IMX_PIN_REG(MX35_PAD_CS5, 0x48c, 0x0b4, 3, 0x0, 0), /* MX35_PAD_CS5__EMI_NANDF_CE2 */ | ||
434 | [120] = IMX_PIN_REG(MX35_PAD_CS5, 0x48c, 0x0b4, 5, 0x840, 0), /* MX35_PAD_CS5__GPIO1_21 */ | ||
435 | [121] = IMX_PIN_REG(MX35_PAD_NF_CE0, 0x490, 0x0b8, 0, 0x0, 0), /* MX35_PAD_NF_CE0__EMI_NANDF_CE0 */ | ||
436 | [122] = IMX_PIN_REG(MX35_PAD_NF_CE0, 0x490, 0x0b8, 5, 0x844, 0), /* MX35_PAD_NF_CE0__GPIO1_22 */ | ||
437 | [123] = IMX_PIN_REG(MX35_PAD_ECB, 0x494, 0x0, 0, 0x0, 0), /* MX35_PAD_ECB__EMI_EIM_ECB */ | ||
438 | [124] = IMX_PIN_REG(MX35_PAD_LBA, 0x498, 0x0bc, 0, 0x0, 0), /* MX35_PAD_LBA__EMI_EIM_LBA */ | ||
439 | [125] = IMX_PIN_REG(MX35_PAD_BCLK, 0x49c, 0x0c0, 0, 0x0, 0), /* MX35_PAD_BCLK__EMI_EIM_BCLK */ | ||
440 | [126] = IMX_PIN_REG(MX35_PAD_RW, 0x4a0, 0x0c4, 0, 0x0, 0), /* MX35_PAD_RW__EMI_EIM_RW */ | ||
441 | [127] = IMX_PIN_REG(MX35_PAD_RAS, 0x4a4, 0x0, 0, 0x0, 0), /* MX35_PAD_RAS__EMI_DRAM_RAS */ | ||
442 | [128] = IMX_PIN_REG(MX35_PAD_CAS, 0x4a8, 0x0, 0, 0x0, 0), /* MX35_PAD_CAS__EMI_DRAM_CAS */ | ||
443 | [129] = IMX_PIN_REG(MX35_PAD_SDWE, 0x4ac, 0x0, 0, 0x0, 0), /* MX35_PAD_SDWE__EMI_DRAM_SDWE */ | ||
444 | [130] = IMX_PIN_REG(MX35_PAD_SDCKE0, 0x4b0, 0x0, 0, 0x0, 0), /* MX35_PAD_SDCKE0__EMI_DRAM_SDCKE_0 */ | ||
445 | [131] = IMX_PIN_REG(MX35_PAD_SDCKE1, 0x4b4, 0x0, 0, 0x0, 0), /* MX35_PAD_SDCKE1__EMI_DRAM_SDCKE_1 */ | ||
446 | [132] = IMX_PIN_REG(MX35_PAD_SDCLK, 0x4b8, 0x0, 0, 0x0, 0), /* MX35_PAD_SDCLK__EMI_DRAM_SDCLK */ | ||
447 | [133] = IMX_PIN_REG(MX35_PAD_SDQS0, 0x4bc, 0x0, 0, 0x0, 0), /* MX35_PAD_SDQS0__EMI_DRAM_SDQS_0 */ | ||
448 | [134] = IMX_PIN_REG(MX35_PAD_SDQS1, 0x4c0, 0x0, 0, 0x0, 0), /* MX35_PAD_SDQS1__EMI_DRAM_SDQS_1 */ | ||
449 | [135] = IMX_PIN_REG(MX35_PAD_SDQS2, 0x4c4, 0x0, 0, 0x0, 0), /* MX35_PAD_SDQS2__EMI_DRAM_SDQS_2 */ | ||
450 | [136] = IMX_PIN_REG(MX35_PAD_SDQS3, 0x4c8, 0x0, 0, 0x0, 0), /* MX35_PAD_SDQS3__EMI_DRAM_SDQS_3 */ | ||
451 | [137] = IMX_PIN_REG(MX35_PAD_NFWE_B, 0x4cc, 0x0c8, 0, 0x0, 0), /* MX35_PAD_NFWE_B__EMI_NANDF_WE_B */ | ||
452 | [138] = IMX_PIN_REG(MX35_PAD_NFWE_B, 0x4cc, 0x0c8, 1, 0x9d8, 0), /* MX35_PAD_NFWE_B__USB_TOP_USBH2_DATA_3 */ | ||
453 | [139] = IMX_PIN_REG(MX35_PAD_NFWE_B, 0x4cc, 0x0c8, 2, 0x924, 0), /* MX35_PAD_NFWE_B__IPU_DISPB_D0_VSYNC */ | ||
454 | [140] = IMX_PIN_REG(MX35_PAD_NFWE_B, 0x4cc, 0x0c8, 5, 0x88c, 0), /* MX35_PAD_NFWE_B__GPIO2_18 */ | ||
455 | [141] = IMX_PIN_REG(MX35_PAD_NFWE_B, 0x4cc, 0x0c8, 7, 0x0, 0), /* MX35_PAD_NFWE_B__ARM11P_TOP_TRACE_0 */ | ||
456 | [142] = IMX_PIN_REG(MX35_PAD_NFRE_B, 0x4d0, 0x0cc, 0, 0x0, 0), /* MX35_PAD_NFRE_B__EMI_NANDF_RE_B */ | ||
457 | [143] = IMX_PIN_REG(MX35_PAD_NFRE_B, 0x4d0, 0x0cc, 1, 0x9ec, 0), /* MX35_PAD_NFRE_B__USB_TOP_USBH2_DIR */ | ||
458 | [144] = IMX_PIN_REG(MX35_PAD_NFRE_B, 0x4d0, 0x0cc, 2, 0x0, 0), /* MX35_PAD_NFRE_B__IPU_DISPB_BCLK */ | ||
459 | [145] = IMX_PIN_REG(MX35_PAD_NFRE_B, 0x4d0, 0x0cc, 5, 0x890, 0), /* MX35_PAD_NFRE_B__GPIO2_19 */ | ||
460 | [146] = IMX_PIN_REG(MX35_PAD_NFRE_B, 0x4d0, 0x0cc, 7, 0x0, 0), /* MX35_PAD_NFRE_B__ARM11P_TOP_TRACE_1 */ | ||
461 | [147] = IMX_PIN_REG(MX35_PAD_NFALE, 0x4d4, 0x0d0, 0, 0x0, 0), /* MX35_PAD_NFALE__EMI_NANDF_ALE */ | ||
462 | [148] = IMX_PIN_REG(MX35_PAD_NFALE, 0x4d4, 0x0d0, 1, 0x0, 0), /* MX35_PAD_NFALE__USB_TOP_USBH2_STP */ | ||
463 | [149] = IMX_PIN_REG(MX35_PAD_NFALE, 0x4d4, 0x0d0, 2, 0x0, 0), /* MX35_PAD_NFALE__IPU_DISPB_CS0 */ | ||
464 | [150] = IMX_PIN_REG(MX35_PAD_NFALE, 0x4d4, 0x0d0, 5, 0x898, 0), /* MX35_PAD_NFALE__GPIO2_20 */ | ||
465 | [151] = IMX_PIN_REG(MX35_PAD_NFALE, 0x4d4, 0x0d0, 7, 0x0, 0), /* MX35_PAD_NFALE__ARM11P_TOP_TRACE_2 */ | ||
466 | [152] = IMX_PIN_REG(MX35_PAD_NFCLE, 0x4d8, 0x0d4, 0, 0x0, 0), /* MX35_PAD_NFCLE__EMI_NANDF_CLE */ | ||
467 | [153] = IMX_PIN_REG(MX35_PAD_NFCLE, 0x4d8, 0x0d4, 1, 0x9f0, 0), /* MX35_PAD_NFCLE__USB_TOP_USBH2_NXT */ | ||
468 | [154] = IMX_PIN_REG(MX35_PAD_NFCLE, 0x4d8, 0x0d4, 2, 0x0, 0), /* MX35_PAD_NFCLE__IPU_DISPB_PAR_RS */ | ||
469 | [155] = IMX_PIN_REG(MX35_PAD_NFCLE, 0x4d8, 0x0d4, 5, 0x89c, 0), /* MX35_PAD_NFCLE__GPIO2_21 */ | ||
470 | [156] = IMX_PIN_REG(MX35_PAD_NFCLE, 0x4d8, 0x0d4, 7, 0x0, 0), /* MX35_PAD_NFCLE__ARM11P_TOP_TRACE_3 */ | ||
471 | [157] = IMX_PIN_REG(MX35_PAD_NFWP_B, 0x4dc, 0x0d8, 0, 0x0, 0), /* MX35_PAD_NFWP_B__EMI_NANDF_WP_B */ | ||
472 | [158] = IMX_PIN_REG(MX35_PAD_NFWP_B, 0x4dc, 0x0d8, 1, 0x9e8, 0), /* MX35_PAD_NFWP_B__USB_TOP_USBH2_DATA_7 */ | ||
473 | [159] = IMX_PIN_REG(MX35_PAD_NFWP_B, 0x4dc, 0x0d8, 2, 0x0, 0), /* MX35_PAD_NFWP_B__IPU_DISPB_WR */ | ||
474 | [160] = IMX_PIN_REG(MX35_PAD_NFWP_B, 0x4dc, 0x0d8, 5, 0x8a0, 0), /* MX35_PAD_NFWP_B__GPIO2_22 */ | ||
475 | [161] = IMX_PIN_REG(MX35_PAD_NFWP_B, 0x4dc, 0x0d8, 7, 0x0, 0), /* MX35_PAD_NFWP_B__ARM11P_TOP_TRCTL */ | ||
476 | [162] = IMX_PIN_REG(MX35_PAD_NFRB, 0x4e0, 0x0dc, 0, 0x0, 0), /* MX35_PAD_NFRB__EMI_NANDF_RB */ | ||
477 | [163] = IMX_PIN_REG(MX35_PAD_NFRB, 0x4e0, 0x0dc, 2, 0x0, 0), /* MX35_PAD_NFRB__IPU_DISPB_RD */ | ||
478 | [164] = IMX_PIN_REG(MX35_PAD_NFRB, 0x4e0, 0x0dc, 5, 0x8a4, 0), /* MX35_PAD_NFRB__GPIO2_23 */ | ||
479 | [165] = IMX_PIN_REG(MX35_PAD_NFRB, 0x4e0, 0x0dc, 7, 0x0, 0), /* MX35_PAD_NFRB__ARM11P_TOP_TRCLK */ | ||
480 | [166] = IMX_PIN_REG(MX35_PAD_D15, 0x4e4, 0x0, 0, 0x0, 0), /* MX35_PAD_D15__EMI_EIM_D_15 */ | ||
481 | [167] = IMX_PIN_REG(MX35_PAD_D14, 0x4e8, 0x0, 0, 0x0, 0), /* MX35_PAD_D14__EMI_EIM_D_14 */ | ||
482 | [168] = IMX_PIN_REG(MX35_PAD_D13, 0x4ec, 0x0, 0, 0x0, 0), /* MX35_PAD_D13__EMI_EIM_D_13 */ | ||
483 | [169] = IMX_PIN_REG(MX35_PAD_D12, 0x4f0, 0x0, 0, 0x0, 0), /* MX35_PAD_D12__EMI_EIM_D_12 */ | ||
484 | [170] = IMX_PIN_REG(MX35_PAD_D11, 0x4f4, 0x0, 0, 0x0, 0), /* MX35_PAD_D11__EMI_EIM_D_11 */ | ||
485 | [171] = IMX_PIN_REG(MX35_PAD_D10, 0x4f8, 0x0, 0, 0x0, 0), /* MX35_PAD_D10__EMI_EIM_D_10 */ | ||
486 | [172] = IMX_PIN_REG(MX35_PAD_D9, 0x4fc, 0x0, 0, 0x0, 0), /* MX35_PAD_D9__EMI_EIM_D_9 */ | ||
487 | [173] = IMX_PIN_REG(MX35_PAD_D8, 0x500, 0x0, 0, 0x0, 0), /* MX35_PAD_D8__EMI_EIM_D_8 */ | ||
488 | [174] = IMX_PIN_REG(MX35_PAD_D7, 0x504, 0x0, 0, 0x0, 0), /* MX35_PAD_D7__EMI_EIM_D_7 */ | ||
489 | [175] = IMX_PIN_REG(MX35_PAD_D6, 0x508, 0x0, 0, 0x0, 0), /* MX35_PAD_D6__EMI_EIM_D_6 */ | ||
490 | [176] = IMX_PIN_REG(MX35_PAD_D5, 0x50c, 0x0, 0, 0x0, 0), /* MX35_PAD_D5__EMI_EIM_D_5 */ | ||
491 | [177] = IMX_PIN_REG(MX35_PAD_D4, 0x510, 0x0, 0, 0x0, 0), /* MX35_PAD_D4__EMI_EIM_D_4 */ | ||
492 | [178] = IMX_PIN_REG(MX35_PAD_D3, 0x514, 0x0, 0, 0x0, 0), /* MX35_PAD_D3__EMI_EIM_D_3 */ | ||
493 | [179] = IMX_PIN_REG(MX35_PAD_D2, 0x518, 0x0, 0, 0x0, 0), /* MX35_PAD_D2__EMI_EIM_D_2 */ | ||
494 | [180] = IMX_PIN_REG(MX35_PAD_D1, 0x51c, 0x0, 0, 0x0, 0), /* MX35_PAD_D1__EMI_EIM_D_1 */ | ||
495 | [181] = IMX_PIN_REG(MX35_PAD_D0, 0x520, 0x0, 0, 0x0, 0), /* MX35_PAD_D0__EMI_EIM_D_0 */ | ||
496 | [182] = IMX_PIN_REG(MX35_PAD_CSI_D8, 0x524, 0x0e0, 0, 0x0, 0), /* MX35_PAD_CSI_D8__IPU_CSI_D_8 */ | ||
497 | [183] = IMX_PIN_REG(MX35_PAD_CSI_D8, 0x524, 0x0e0, 1, 0x950, 0), /* MX35_PAD_CSI_D8__KPP_COL_0 */ | ||
498 | [184] = IMX_PIN_REG(MX35_PAD_CSI_D8, 0x524, 0x0e0, 5, 0x83c, 1), /* MX35_PAD_CSI_D8__GPIO1_20 */ | ||
499 | [185] = IMX_PIN_REG(MX35_PAD_CSI_D8, 0x524, 0x0e0, 7, 0x0, 0), /* MX35_PAD_CSI_D8__ARM11P_TOP_EVNTBUS_13 */ | ||
500 | [186] = IMX_PIN_REG(MX35_PAD_CSI_D9, 0x528, 0x0e4, 0, 0x0, 0), /* MX35_PAD_CSI_D9__IPU_CSI_D_9 */ | ||
501 | [187] = IMX_PIN_REG(MX35_PAD_CSI_D9, 0x528, 0x0e4, 1, 0x954, 0), /* MX35_PAD_CSI_D9__KPP_COL_1 */ | ||
502 | [188] = IMX_PIN_REG(MX35_PAD_CSI_D9, 0x528, 0x0e4, 5, 0x840, 1), /* MX35_PAD_CSI_D9__GPIO1_21 */ | ||
503 | [189] = IMX_PIN_REG(MX35_PAD_CSI_D9, 0x528, 0x0e4, 7, 0x0, 0), /* MX35_PAD_CSI_D9__ARM11P_TOP_EVNTBUS_14 */ | ||
504 | [190] = IMX_PIN_REG(MX35_PAD_CSI_D10, 0x52c, 0x0e8, 0, 0x0, 0), /* MX35_PAD_CSI_D10__IPU_CSI_D_10 */ | ||
505 | [191] = IMX_PIN_REG(MX35_PAD_CSI_D10, 0x52c, 0x0e8, 1, 0x958, 0), /* MX35_PAD_CSI_D10__KPP_COL_2 */ | ||
506 | [192] = IMX_PIN_REG(MX35_PAD_CSI_D10, 0x52c, 0x0e8, 5, 0x844, 1), /* MX35_PAD_CSI_D10__GPIO1_22 */ | ||
507 | [193] = IMX_PIN_REG(MX35_PAD_CSI_D10, 0x52c, 0x0e8, 7, 0x0, 0), /* MX35_PAD_CSI_D10__ARM11P_TOP_EVNTBUS_15 */ | ||
508 | [194] = IMX_PIN_REG(MX35_PAD_CSI_D11, 0x530, 0x0ec, 0, 0x0, 0), /* MX35_PAD_CSI_D11__IPU_CSI_D_11 */ | ||
509 | [195] = IMX_PIN_REG(MX35_PAD_CSI_D11, 0x530, 0x0ec, 1, 0x95c, 0), /* MX35_PAD_CSI_D11__KPP_COL_3 */ | ||
510 | [196] = IMX_PIN_REG(MX35_PAD_CSI_D11, 0x530, 0x0ec, 5, 0x0, 0), /* MX35_PAD_CSI_D11__GPIO1_23 */ | ||
511 | [197] = IMX_PIN_REG(MX35_PAD_CSI_D12, 0x534, 0x0f0, 0, 0x0, 0), /* MX35_PAD_CSI_D12__IPU_CSI_D_12 */ | ||
512 | [198] = IMX_PIN_REG(MX35_PAD_CSI_D12, 0x534, 0x0f0, 1, 0x970, 0), /* MX35_PAD_CSI_D12__KPP_ROW_0 */ | ||
513 | [199] = IMX_PIN_REG(MX35_PAD_CSI_D12, 0x534, 0x0f0, 5, 0x0, 0), /* MX35_PAD_CSI_D12__GPIO1_24 */ | ||
514 | [200] = IMX_PIN_REG(MX35_PAD_CSI_D13, 0x538, 0x0f4, 0, 0x0, 0), /* MX35_PAD_CSI_D13__IPU_CSI_D_13 */ | ||
515 | [201] = IMX_PIN_REG(MX35_PAD_CSI_D13, 0x538, 0x0f4, 1, 0x974, 0), /* MX35_PAD_CSI_D13__KPP_ROW_1 */ | ||
516 | [202] = IMX_PIN_REG(MX35_PAD_CSI_D13, 0x538, 0x0f4, 5, 0x0, 0), /* MX35_PAD_CSI_D13__GPIO1_25 */ | ||
517 | [203] = IMX_PIN_REG(MX35_PAD_CSI_D14, 0x53c, 0x0f8, 0, 0x0, 0), /* MX35_PAD_CSI_D14__IPU_CSI_D_14 */ | ||
518 | [204] = IMX_PIN_REG(MX35_PAD_CSI_D14, 0x53c, 0x0f8, 1, 0x978, 0), /* MX35_PAD_CSI_D14__KPP_ROW_2 */ | ||
519 | [205] = IMX_PIN_REG(MX35_PAD_CSI_D14, 0x53c, 0x0f8, 5, 0x0, 0), /* MX35_PAD_CSI_D14__GPIO1_26 */ | ||
520 | [206] = IMX_PIN_REG(MX35_PAD_CSI_D15, 0x540, 0x0fc, 0, 0x97c, 0), /* MX35_PAD_CSI_D15__IPU_CSI_D_15 */ | ||
521 | [207] = IMX_PIN_REG(MX35_PAD_CSI_D15, 0x540, 0x0fc, 1, 0x0, 0), /* MX35_PAD_CSI_D15__KPP_ROW_3 */ | ||
522 | [208] = IMX_PIN_REG(MX35_PAD_CSI_D15, 0x540, 0x0fc, 5, 0x0, 0), /* MX35_PAD_CSI_D15__GPIO1_27 */ | ||
523 | [209] = IMX_PIN_REG(MX35_PAD_CSI_MCLK, 0x544, 0x100, 0, 0x0, 0), /* MX35_PAD_CSI_MCLK__IPU_CSI_MCLK */ | ||
524 | [210] = IMX_PIN_REG(MX35_PAD_CSI_MCLK, 0x544, 0x100, 5, 0x0, 0), /* MX35_PAD_CSI_MCLK__GPIO1_28 */ | ||
525 | [211] = IMX_PIN_REG(MX35_PAD_CSI_VSYNC, 0x548, 0x104, 0, 0x0, 0), /* MX35_PAD_CSI_VSYNC__IPU_CSI_VSYNC */ | ||
526 | [212] = IMX_PIN_REG(MX35_PAD_CSI_VSYNC, 0x548, 0x104, 5, 0x0, 0), /* MX35_PAD_CSI_VSYNC__GPIO1_29 */ | ||
527 | [213] = IMX_PIN_REG(MX35_PAD_CSI_HSYNC, 0x54c, 0x108, 0, 0x0, 0), /* MX35_PAD_CSI_HSYNC__IPU_CSI_HSYNC */ | ||
528 | [214] = IMX_PIN_REG(MX35_PAD_CSI_HSYNC, 0x54c, 0x108, 5, 0x0, 0), /* MX35_PAD_CSI_HSYNC__GPIO1_30 */ | ||
529 | [215] = IMX_PIN_REG(MX35_PAD_CSI_PIXCLK, 0x550, 0x10c, 0, 0x0, 0), /* MX35_PAD_CSI_PIXCLK__IPU_CSI_PIXCLK */ | ||
530 | [216] = IMX_PIN_REG(MX35_PAD_CSI_PIXCLK, 0x550, 0x10c, 5, 0x0, 0), /* MX35_PAD_CSI_PIXCLK__GPIO1_31 */ | ||
531 | [217] = IMX_PIN_REG(MX35_PAD_I2C1_CLK, 0x554, 0x110, 0, 0x0, 0), /* MX35_PAD_I2C1_CLK__I2C1_SCL */ | ||
532 | [218] = IMX_PIN_REG(MX35_PAD_I2C1_CLK, 0x554, 0x110, 5, 0x8a8, 0), /* MX35_PAD_I2C1_CLK__GPIO2_24 */ | ||
533 | [219] = IMX_PIN_REG(MX35_PAD_I2C1_CLK, 0x554, 0x110, 6, 0x0, 0), /* MX35_PAD_I2C1_CLK__CCM_USB_BYP_CLK */ | ||
534 | [220] = IMX_PIN_REG(MX35_PAD_I2C1_DAT, 0x558, 0x114, 0, 0x0, 0), /* MX35_PAD_I2C1_DAT__I2C1_SDA */ | ||
535 | [221] = IMX_PIN_REG(MX35_PAD_I2C1_DAT, 0x558, 0x114, 5, 0x8ac, 0), /* MX35_PAD_I2C1_DAT__GPIO2_25 */ | ||
536 | [222] = IMX_PIN_REG(MX35_PAD_I2C2_CLK, 0x55c, 0x118, 0, 0x0, 0), /* MX35_PAD_I2C2_CLK__I2C2_SCL */ | ||
537 | [223] = IMX_PIN_REG(MX35_PAD_I2C2_CLK, 0x55c, 0x118, 1, 0x0, 0), /* MX35_PAD_I2C2_CLK__CAN1_TXCAN */ | ||
538 | [224] = IMX_PIN_REG(MX35_PAD_I2C2_CLK, 0x55c, 0x118, 2, 0x0, 0), /* MX35_PAD_I2C2_CLK__USB_TOP_USBH2_PWR */ | ||
539 | [225] = IMX_PIN_REG(MX35_PAD_I2C2_CLK, 0x55c, 0x118, 5, 0x8b0, 0), /* MX35_PAD_I2C2_CLK__GPIO2_26 */ | ||
540 | [226] = IMX_PIN_REG(MX35_PAD_I2C2_CLK, 0x55c, 0x118, 6, 0x0, 0), /* MX35_PAD_I2C2_CLK__SDMA_DEBUG_BUS_DEVICE_2 */ | ||
541 | [227] = IMX_PIN_REG(MX35_PAD_I2C2_DAT, 0x560, 0x11c, 0, 0x0, 0), /* MX35_PAD_I2C2_DAT__I2C2_SDA */ | ||
542 | [228] = IMX_PIN_REG(MX35_PAD_I2C2_DAT, 0x560, 0x11c, 1, 0x7c8, 0), /* MX35_PAD_I2C2_DAT__CAN1_RXCAN */ | ||
543 | [229] = IMX_PIN_REG(MX35_PAD_I2C2_DAT, 0x560, 0x11c, 2, 0x9f4, 0), /* MX35_PAD_I2C2_DAT__USB_TOP_USBH2_OC */ | ||
544 | [230] = IMX_PIN_REG(MX35_PAD_I2C2_DAT, 0x560, 0x11c, 5, 0x8b4, 0), /* MX35_PAD_I2C2_DAT__GPIO2_27 */ | ||
545 | [231] = IMX_PIN_REG(MX35_PAD_I2C2_DAT, 0x560, 0x11c, 6, 0x0, 0), /* MX35_PAD_I2C2_DAT__SDMA_DEBUG_BUS_DEVICE_3 */ | ||
546 | [232] = IMX_PIN_REG(MX35_PAD_STXD4, 0x564, 0x120, 0, 0x0, 0), /* MX35_PAD_STXD4__AUDMUX_AUD4_TXD */ | ||
547 | [233] = IMX_PIN_REG(MX35_PAD_STXD4, 0x564, 0x120, 5, 0x8b8, 0), /* MX35_PAD_STXD4__GPIO2_28 */ | ||
548 | [234] = IMX_PIN_REG(MX35_PAD_STXD4, 0x564, 0x120, 7, 0x0, 0), /* MX35_PAD_STXD4__ARM11P_TOP_ARM_COREASID0 */ | ||
549 | [235] = IMX_PIN_REG(MX35_PAD_SRXD4, 0x568, 0x124, 0, 0x0, 0), /* MX35_PAD_SRXD4__AUDMUX_AUD4_RXD */ | ||
550 | [236] = IMX_PIN_REG(MX35_PAD_SRXD4, 0x568, 0x124, 5, 0x8bc, 0), /* MX35_PAD_SRXD4__GPIO2_29 */ | ||
551 | [237] = IMX_PIN_REG(MX35_PAD_SRXD4, 0x568, 0x124, 7, 0x0, 0), /* MX35_PAD_SRXD4__ARM11P_TOP_ARM_COREASID1 */ | ||
552 | [238] = IMX_PIN_REG(MX35_PAD_SCK4, 0x56c, 0x128, 0, 0x0, 0), /* MX35_PAD_SCK4__AUDMUX_AUD4_TXC */ | ||
553 | [239] = IMX_PIN_REG(MX35_PAD_SCK4, 0x56c, 0x128, 5, 0x8c4, 0), /* MX35_PAD_SCK4__GPIO2_30 */ | ||
554 | [240] = IMX_PIN_REG(MX35_PAD_SCK4, 0x56c, 0x128, 7, 0x0, 0), /* MX35_PAD_SCK4__ARM11P_TOP_ARM_COREASID2 */ | ||
555 | [241] = IMX_PIN_REG(MX35_PAD_STXFS4, 0x570, 0x12c, 0, 0x0, 0), /* MX35_PAD_STXFS4__AUDMUX_AUD4_TXFS */ | ||
556 | [242] = IMX_PIN_REG(MX35_PAD_STXFS4, 0x570, 0x12c, 5, 0x8c8, 0), /* MX35_PAD_STXFS4__GPIO2_31 */ | ||
557 | [243] = IMX_PIN_REG(MX35_PAD_STXFS4, 0x570, 0x12c, 7, 0x0, 0), /* MX35_PAD_STXFS4__ARM11P_TOP_ARM_COREASID3 */ | ||
558 | [244] = IMX_PIN_REG(MX35_PAD_STXD5, 0x574, 0x130, 0, 0x0, 0), /* MX35_PAD_STXD5__AUDMUX_AUD5_TXD */ | ||
559 | [245] = IMX_PIN_REG(MX35_PAD_STXD5, 0x574, 0x130, 1, 0x0, 0), /* MX35_PAD_STXD5__SPDIF_SPDIF_OUT1 */ | ||
560 | [246] = IMX_PIN_REG(MX35_PAD_STXD5, 0x574, 0x130, 2, 0x7ec, 0), /* MX35_PAD_STXD5__CSPI2_MOSI */ | ||
561 | [247] = IMX_PIN_REG(MX35_PAD_STXD5, 0x574, 0x130, 5, 0x82c, 1), /* MX35_PAD_STXD5__GPIO1_0 */ | ||
562 | [248] = IMX_PIN_REG(MX35_PAD_STXD5, 0x574, 0x130, 7, 0x0, 0), /* MX35_PAD_STXD5__ARM11P_TOP_ARM_COREASID4 */ | ||
563 | [249] = IMX_PIN_REG(MX35_PAD_SRXD5, 0x578, 0x134, 0, 0x0, 0), /* MX35_PAD_SRXD5__AUDMUX_AUD5_RXD */ | ||
564 | [250] = IMX_PIN_REG(MX35_PAD_SRXD5, 0x578, 0x134, 1, 0x998, 0), /* MX35_PAD_SRXD5__SPDIF_SPDIF_IN1 */ | ||
565 | [251] = IMX_PIN_REG(MX35_PAD_SRXD5, 0x578, 0x134, 2, 0x7e8, 0), /* MX35_PAD_SRXD5__CSPI2_MISO */ | ||
566 | [252] = IMX_PIN_REG(MX35_PAD_SRXD5, 0x578, 0x134, 5, 0x838, 1), /* MX35_PAD_SRXD5__GPIO1_1 */ | ||
567 | [253] = IMX_PIN_REG(MX35_PAD_SRXD5, 0x578, 0x134, 7, 0x0, 0), /* MX35_PAD_SRXD5__ARM11P_TOP_ARM_COREASID5 */ | ||
568 | [254] = IMX_PIN_REG(MX35_PAD_SCK5, 0x57c, 0x138, 0, 0x0, 0), /* MX35_PAD_SCK5__AUDMUX_AUD5_TXC */ | ||
569 | [255] = IMX_PIN_REG(MX35_PAD_SCK5, 0x57c, 0x138, 1, 0x994, 0), /* MX35_PAD_SCK5__SPDIF_SPDIF_EXTCLK */ | ||
570 | [256] = IMX_PIN_REG(MX35_PAD_SCK5, 0x57c, 0x138, 2, 0x7e0, 0), /* MX35_PAD_SCK5__CSPI2_SCLK */ | ||
571 | [257] = IMX_PIN_REG(MX35_PAD_SCK5, 0x57c, 0x138, 5, 0x848, 0), /* MX35_PAD_SCK5__GPIO1_2 */ | ||
572 | [258] = IMX_PIN_REG(MX35_PAD_SCK5, 0x57c, 0x138, 7, 0x0, 0), /* MX35_PAD_SCK5__ARM11P_TOP_ARM_COREASID6 */ | ||
573 | [259] = IMX_PIN_REG(MX35_PAD_STXFS5, 0x580, 0x13c, 0, 0x0, 0), /* MX35_PAD_STXFS5__AUDMUX_AUD5_TXFS */ | ||
574 | [260] = IMX_PIN_REG(MX35_PAD_STXFS5, 0x580, 0x13c, 2, 0x7e4, 0), /* MX35_PAD_STXFS5__CSPI2_RDY */ | ||
575 | [261] = IMX_PIN_REG(MX35_PAD_STXFS5, 0x580, 0x13c, 5, 0x84c, 0), /* MX35_PAD_STXFS5__GPIO1_3 */ | ||
576 | [262] = IMX_PIN_REG(MX35_PAD_STXFS5, 0x580, 0x13c, 7, 0x0, 0), /* MX35_PAD_STXFS5__ARM11P_TOP_ARM_COREASID7 */ | ||
577 | [263] = IMX_PIN_REG(MX35_PAD_SCKR, 0x584, 0x140, 0, 0x0, 0), /* MX35_PAD_SCKR__ESAI_SCKR */ | ||
578 | [264] = IMX_PIN_REG(MX35_PAD_SCKR, 0x584, 0x140, 5, 0x850, 1), /* MX35_PAD_SCKR__GPIO1_4 */ | ||
579 | [265] = IMX_PIN_REG(MX35_PAD_SCKR, 0x584, 0x140, 7, 0x0, 0), /* MX35_PAD_SCKR__ARM11P_TOP_EVNTBUS_10 */ | ||
580 | [266] = IMX_PIN_REG(MX35_PAD_FSR, 0x588, 0x144, 0, 0x0, 0), /* MX35_PAD_FSR__ESAI_FSR */ | ||
581 | [267] = IMX_PIN_REG(MX35_PAD_FSR, 0x588, 0x144, 5, 0x854, 1), /* MX35_PAD_FSR__GPIO1_5 */ | ||
582 | [268] = IMX_PIN_REG(MX35_PAD_FSR, 0x588, 0x144, 7, 0x0, 0), /* MX35_PAD_FSR__ARM11P_TOP_EVNTBUS_11 */ | ||
583 | [269] = IMX_PIN_REG(MX35_PAD_HCKR, 0x58c, 0x148, 0, 0x0, 0), /* MX35_PAD_HCKR__ESAI_HCKR */ | ||
584 | [270] = IMX_PIN_REG(MX35_PAD_HCKR, 0x58c, 0x148, 1, 0x0, 0), /* MX35_PAD_HCKR__AUDMUX_AUD5_RXFS */ | ||
585 | [271] = IMX_PIN_REG(MX35_PAD_HCKR, 0x58c, 0x148, 2, 0x7f0, 0), /* MX35_PAD_HCKR__CSPI2_SS0 */ | ||
586 | [272] = IMX_PIN_REG(MX35_PAD_HCKR, 0x58c, 0x148, 3, 0x0, 0), /* MX35_PAD_HCKR__IPU_FLASH_STROBE */ | ||
587 | [273] = IMX_PIN_REG(MX35_PAD_HCKR, 0x58c, 0x148, 5, 0x858, 1), /* MX35_PAD_HCKR__GPIO1_6 */ | ||
588 | [274] = IMX_PIN_REG(MX35_PAD_HCKR, 0x58c, 0x148, 7, 0x0, 0), /* MX35_PAD_HCKR__ARM11P_TOP_EVNTBUS_12 */ | ||
589 | [275] = IMX_PIN_REG(MX35_PAD_SCKT, 0x590, 0x14c, 0, 0x0, 0), /* MX35_PAD_SCKT__ESAI_SCKT */ | ||
590 | [276] = IMX_PIN_REG(MX35_PAD_SCKT, 0x590, 0x14c, 5, 0x85c, 1), /* MX35_PAD_SCKT__GPIO1_7 */ | ||
591 | [277] = IMX_PIN_REG(MX35_PAD_SCKT, 0x590, 0x14c, 6, 0x930, 0), /* MX35_PAD_SCKT__IPU_CSI_D_0 */ | ||
592 | [278] = IMX_PIN_REG(MX35_PAD_SCKT, 0x590, 0x14c, 7, 0x978, 1), /* MX35_PAD_SCKT__KPP_ROW_2 */ | ||
593 | [279] = IMX_PIN_REG(MX35_PAD_FST, 0x594, 0x150, 0, 0x0, 0), /* MX35_PAD_FST__ESAI_FST */ | ||
594 | [280] = IMX_PIN_REG(MX35_PAD_FST, 0x594, 0x150, 5, 0x860, 1), /* MX35_PAD_FST__GPIO1_8 */ | ||
595 | [281] = IMX_PIN_REG(MX35_PAD_FST, 0x594, 0x150, 6, 0x934, 0), /* MX35_PAD_FST__IPU_CSI_D_1 */ | ||
596 | [282] = IMX_PIN_REG(MX35_PAD_FST, 0x594, 0x150, 7, 0x97c, 1), /* MX35_PAD_FST__KPP_ROW_3 */ | ||
597 | [283] = IMX_PIN_REG(MX35_PAD_HCKT, 0x598, 0x154, 0, 0x0, 0), /* MX35_PAD_HCKT__ESAI_HCKT */ | ||
598 | [284] = IMX_PIN_REG(MX35_PAD_HCKT, 0x598, 0x154, 1, 0x7a8, 0), /* MX35_PAD_HCKT__AUDMUX_AUD5_RXC */ | ||
599 | [285] = IMX_PIN_REG(MX35_PAD_HCKT, 0x598, 0x154, 5, 0x864, 0), /* MX35_PAD_HCKT__GPIO1_9 */ | ||
600 | [286] = IMX_PIN_REG(MX35_PAD_HCKT, 0x598, 0x154, 6, 0x938, 0), /* MX35_PAD_HCKT__IPU_CSI_D_2 */ | ||
601 | [287] = IMX_PIN_REG(MX35_PAD_HCKT, 0x598, 0x154, 7, 0x95c, 1), /* MX35_PAD_HCKT__KPP_COL_3 */ | ||
602 | [288] = IMX_PIN_REG(MX35_PAD_TX5_RX0, 0x59c, 0x158, 0, 0x0, 0), /* MX35_PAD_TX5_RX0__ESAI_TX5_RX0 */ | ||
603 | [289] = IMX_PIN_REG(MX35_PAD_TX5_RX0, 0x59c, 0x158, 1, 0x0, 0), /* MX35_PAD_TX5_RX0__AUDMUX_AUD4_RXC */ | ||
604 | [290] = IMX_PIN_REG(MX35_PAD_TX5_RX0, 0x59c, 0x158, 2, 0x7f8, 1), /* MX35_PAD_TX5_RX0__CSPI2_SS2 */ | ||
605 | [291] = IMX_PIN_REG(MX35_PAD_TX5_RX0, 0x59c, 0x158, 3, 0x0, 0), /* MX35_PAD_TX5_RX0__CAN2_TXCAN */ | ||
606 | [292] = IMX_PIN_REG(MX35_PAD_TX5_RX0, 0x59c, 0x158, 4, 0x0, 0), /* MX35_PAD_TX5_RX0__UART2_DTR */ | ||
607 | [293] = IMX_PIN_REG(MX35_PAD_TX5_RX0, 0x59c, 0x158, 5, 0x830, 0), /* MX35_PAD_TX5_RX0__GPIO1_10 */ | ||
608 | [294] = IMX_PIN_REG(MX35_PAD_TX5_RX0, 0x59c, 0x158, 7, 0x0, 0), /* MX35_PAD_TX5_RX0__EMI_M3IF_CHOSEN_MASTER_0 */ | ||
609 | [295] = IMX_PIN_REG(MX35_PAD_TX4_RX1, 0x5a0, 0x15c, 0, 0x0, 0), /* MX35_PAD_TX4_RX1__ESAI_TX4_RX1 */ | ||
610 | [296] = IMX_PIN_REG(MX35_PAD_TX4_RX1, 0x5a0, 0x15c, 1, 0x0, 0), /* MX35_PAD_TX4_RX1__AUDMUX_AUD4_RXFS */ | ||
611 | [297] = IMX_PIN_REG(MX35_PAD_TX4_RX1, 0x5a0, 0x15c, 2, 0x7fc, 0), /* MX35_PAD_TX4_RX1__CSPI2_SS3 */ | ||
612 | [298] = IMX_PIN_REG(MX35_PAD_TX4_RX1, 0x5a0, 0x15c, 3, 0x7cc, 0), /* MX35_PAD_TX4_RX1__CAN2_RXCAN */ | ||
613 | [299] = IMX_PIN_REG(MX35_PAD_TX4_RX1, 0x5a0, 0x15c, 4, 0x0, 0), /* MX35_PAD_TX4_RX1__UART2_DSR */ | ||
614 | [300] = IMX_PIN_REG(MX35_PAD_TX4_RX1, 0x5a0, 0x15c, 5, 0x834, 0), /* MX35_PAD_TX4_RX1__GPIO1_11 */ | ||
615 | [301] = IMX_PIN_REG(MX35_PAD_TX4_RX1, 0x5a0, 0x15c, 6, 0x93c, 0), /* MX35_PAD_TX4_RX1__IPU_CSI_D_3 */ | ||
616 | [302] = IMX_PIN_REG(MX35_PAD_TX4_RX1, 0x5a0, 0x15c, 7, 0x970, 1), /* MX35_PAD_TX4_RX1__KPP_ROW_0 */ | ||
617 | [303] = IMX_PIN_REG(MX35_PAD_TX3_RX2, 0x5a4, 0x160, 0, 0x0, 0), /* MX35_PAD_TX3_RX2__ESAI_TX3_RX2 */ | ||
618 | [304] = IMX_PIN_REG(MX35_PAD_TX3_RX2, 0x5a4, 0x160, 1, 0x91c, 0), /* MX35_PAD_TX3_RX2__I2C3_SCL */ | ||
619 | [305] = IMX_PIN_REG(MX35_PAD_TX3_RX2, 0x5a4, 0x160, 3, 0x0, 0), /* MX35_PAD_TX3_RX2__EMI_NANDF_CE1 */ | ||
620 | [306] = IMX_PIN_REG(MX35_PAD_TX3_RX2, 0x5a4, 0x160, 5, 0x0, 0), /* MX35_PAD_TX3_RX2__GPIO1_12 */ | ||
621 | [307] = IMX_PIN_REG(MX35_PAD_TX3_RX2, 0x5a4, 0x160, 6, 0x940, 0), /* MX35_PAD_TX3_RX2__IPU_CSI_D_4 */ | ||
622 | [308] = IMX_PIN_REG(MX35_PAD_TX3_RX2, 0x5a4, 0x160, 7, 0x974, 1), /* MX35_PAD_TX3_RX2__KPP_ROW_1 */ | ||
623 | [309] = IMX_PIN_REG(MX35_PAD_TX2_RX3, 0x5a8, 0x164, 0, 0x0, 0), /* MX35_PAD_TX2_RX3__ESAI_TX2_RX3 */ | ||
624 | [310] = IMX_PIN_REG(MX35_PAD_TX2_RX3, 0x5a8, 0x164, 1, 0x920, 0), /* MX35_PAD_TX2_RX3__I2C3_SDA */ | ||
625 | [311] = IMX_PIN_REG(MX35_PAD_TX2_RX3, 0x5a8, 0x164, 3, 0x0, 0), /* MX35_PAD_TX2_RX3__EMI_NANDF_CE2 */ | ||
626 | [312] = IMX_PIN_REG(MX35_PAD_TX2_RX3, 0x5a8, 0x164, 5, 0x0, 0), /* MX35_PAD_TX2_RX3__GPIO1_13 */ | ||
627 | [313] = IMX_PIN_REG(MX35_PAD_TX2_RX3, 0x5a8, 0x164, 6, 0x944, 0), /* MX35_PAD_TX2_RX3__IPU_CSI_D_5 */ | ||
628 | [314] = IMX_PIN_REG(MX35_PAD_TX2_RX3, 0x5a8, 0x164, 7, 0x950, 1), /* MX35_PAD_TX2_RX3__KPP_COL_0 */ | ||
629 | [315] = IMX_PIN_REG(MX35_PAD_TX1, 0x5ac, 0x168, 0, 0x0, 0), /* MX35_PAD_TX1__ESAI_TX1 */ | ||
630 | [316] = IMX_PIN_REG(MX35_PAD_TX1, 0x5ac, 0x168, 1, 0x7d4, 1), /* MX35_PAD_TX1__CCM_PMIC_RDY */ | ||
631 | [317] = IMX_PIN_REG(MX35_PAD_TX1, 0x5ac, 0x168, 2, 0x7d8, 2), /* MX35_PAD_TX1__CSPI1_SS2 */ | ||
632 | [318] = IMX_PIN_REG(MX35_PAD_TX1, 0x5ac, 0x168, 3, 0x0, 0), /* MX35_PAD_TX1__EMI_NANDF_CE3 */ | ||
633 | [319] = IMX_PIN_REG(MX35_PAD_TX1, 0x5ac, 0x168, 4, 0x0, 0), /* MX35_PAD_TX1__UART2_RI */ | ||
634 | [320] = IMX_PIN_REG(MX35_PAD_TX1, 0x5ac, 0x168, 5, 0x0, 0), /* MX35_PAD_TX1__GPIO1_14 */ | ||
635 | [321] = IMX_PIN_REG(MX35_PAD_TX1, 0x5ac, 0x168, 6, 0x948, 0), /* MX35_PAD_TX1__IPU_CSI_D_6 */ | ||
636 | [322] = IMX_PIN_REG(MX35_PAD_TX1, 0x5ac, 0x168, 7, 0x954, 1), /* MX35_PAD_TX1__KPP_COL_1 */ | ||
637 | [323] = IMX_PIN_REG(MX35_PAD_TX0, 0x5b0, 0x16c, 0, 0x0, 0), /* MX35_PAD_TX0__ESAI_TX0 */ | ||
638 | [324] = IMX_PIN_REG(MX35_PAD_TX0, 0x5b0, 0x16c, 1, 0x994, 1), /* MX35_PAD_TX0__SPDIF_SPDIF_EXTCLK */ | ||
639 | [325] = IMX_PIN_REG(MX35_PAD_TX0, 0x5b0, 0x16c, 2, 0x7dc, 0), /* MX35_PAD_TX0__CSPI1_SS3 */ | ||
640 | [326] = IMX_PIN_REG(MX35_PAD_TX0, 0x5b0, 0x16c, 3, 0x800, 1), /* MX35_PAD_TX0__EMI_DTACK_B */ | ||
641 | [327] = IMX_PIN_REG(MX35_PAD_TX0, 0x5b0, 0x16c, 4, 0x0, 0), /* MX35_PAD_TX0__UART2_DCD */ | ||
642 | [328] = IMX_PIN_REG(MX35_PAD_TX0, 0x5b0, 0x16c, 5, 0x0, 0), /* MX35_PAD_TX0__GPIO1_15 */ | ||
643 | [329] = IMX_PIN_REG(MX35_PAD_TX0, 0x5b0, 0x16c, 6, 0x94c, 0), /* MX35_PAD_TX0__IPU_CSI_D_7 */ | ||
644 | [330] = IMX_PIN_REG(MX35_PAD_TX0, 0x5b0, 0x16c, 7, 0x958, 1), /* MX35_PAD_TX0__KPP_COL_2 */ | ||
645 | [331] = IMX_PIN_REG(MX35_PAD_CSPI1_MOSI, 0x5b4, 0x170, 0, 0x0, 0), /* MX35_PAD_CSPI1_MOSI__CSPI1_MOSI */ | ||
646 | [332] = IMX_PIN_REG(MX35_PAD_CSPI1_MOSI, 0x5b4, 0x170, 5, 0x0, 0), /* MX35_PAD_CSPI1_MOSI__GPIO1_16 */ | ||
647 | [333] = IMX_PIN_REG(MX35_PAD_CSPI1_MOSI, 0x5b4, 0x170, 7, 0x0, 0), /* MX35_PAD_CSPI1_MOSI__ECT_CTI_TRIG_OUT1_2 */ | ||
648 | [334] = IMX_PIN_REG(MX35_PAD_CSPI1_MISO, 0x5b8, 0x174, 0, 0x0, 0), /* MX35_PAD_CSPI1_MISO__CSPI1_MISO */ | ||
649 | [335] = IMX_PIN_REG(MX35_PAD_CSPI1_MISO, 0x5b8, 0x174, 5, 0x0, 0), /* MX35_PAD_CSPI1_MISO__GPIO1_17 */ | ||
650 | [336] = IMX_PIN_REG(MX35_PAD_CSPI1_MISO, 0x5b8, 0x174, 7, 0x0, 0), /* MX35_PAD_CSPI1_MISO__ECT_CTI_TRIG_OUT1_3 */ | ||
651 | [337] = IMX_PIN_REG(MX35_PAD_CSPI1_SS0, 0x5bc, 0x178, 0, 0x0, 0), /* MX35_PAD_CSPI1_SS0__CSPI1_SS0 */ | ||
652 | [338] = IMX_PIN_REG(MX35_PAD_CSPI1_SS0, 0x5bc, 0x178, 1, 0x990, 1), /* MX35_PAD_CSPI1_SS0__OWIRE_LINE */ | ||
653 | [339] = IMX_PIN_REG(MX35_PAD_CSPI1_SS0, 0x5bc, 0x178, 2, 0x7fc, 1), /* MX35_PAD_CSPI1_SS0__CSPI2_SS3 */ | ||
654 | [340] = IMX_PIN_REG(MX35_PAD_CSPI1_SS0, 0x5bc, 0x178, 5, 0x0, 0), /* MX35_PAD_CSPI1_SS0__GPIO1_18 */ | ||
655 | [341] = IMX_PIN_REG(MX35_PAD_CSPI1_SS0, 0x5bc, 0x178, 7, 0x0, 0), /* MX35_PAD_CSPI1_SS0__ECT_CTI_TRIG_OUT1_4 */ | ||
656 | [342] = IMX_PIN_REG(MX35_PAD_CSPI1_SS1, 0x5c0, 0x17c, 0, 0x0, 0), /* MX35_PAD_CSPI1_SS1__CSPI1_SS1 */ | ||
657 | [343] = IMX_PIN_REG(MX35_PAD_CSPI1_SS1, 0x5c0, 0x17c, 1, 0x0, 0), /* MX35_PAD_CSPI1_SS1__PWM_PWMO */ | ||
658 | [344] = IMX_PIN_REG(MX35_PAD_CSPI1_SS1, 0x5c0, 0x17c, 2, 0x7d0, 1), /* MX35_PAD_CSPI1_SS1__CCM_CLK32K */ | ||
659 | [345] = IMX_PIN_REG(MX35_PAD_CSPI1_SS1, 0x5c0, 0x17c, 5, 0x0, 0), /* MX35_PAD_CSPI1_SS1__GPIO1_19 */ | ||
660 | [346] = IMX_PIN_REG(MX35_PAD_CSPI1_SS1, 0x5c0, 0x17c, 6, 0x0, 0), /* MX35_PAD_CSPI1_SS1__IPU_DIAGB_29 */ | ||
661 | [347] = IMX_PIN_REG(MX35_PAD_CSPI1_SS1, 0x5c0, 0x17c, 7, 0x0, 0), /* MX35_PAD_CSPI1_SS1__ECT_CTI_TRIG_OUT1_5 */ | ||
662 | [348] = IMX_PIN_REG(MX35_PAD_CSPI1_SCLK, 0x5c4, 0x180, 0, 0x0, 0), /* MX35_PAD_CSPI1_SCLK__CSPI1_SCLK */ | ||
663 | [349] = IMX_PIN_REG(MX35_PAD_CSPI1_SCLK, 0x5c4, 0x180, 5, 0x904, 0), /* MX35_PAD_CSPI1_SCLK__GPIO3_4 */ | ||
664 | [350] = IMX_PIN_REG(MX35_PAD_CSPI1_SCLK, 0x5c4, 0x180, 6, 0x0, 0), /* MX35_PAD_CSPI1_SCLK__IPU_DIAGB_30 */ | ||
665 | [351] = IMX_PIN_REG(MX35_PAD_CSPI1_SCLK, 0x5c4, 0x180, 7, 0x0, 0), /* MX35_PAD_CSPI1_SCLK__EMI_M3IF_CHOSEN_MASTER_1 */ | ||
666 | [352] = IMX_PIN_REG(MX35_PAD_CSPI1_SPI_RDY, 0x5c8, 0x184, 0, 0x0, 0), /* MX35_PAD_CSPI1_SPI_RDY__CSPI1_RDY */ | ||
667 | [353] = IMX_PIN_REG(MX35_PAD_CSPI1_SPI_RDY, 0x5c8, 0x184, 5, 0x908, 0), /* MX35_PAD_CSPI1_SPI_RDY__GPIO3_5 */ | ||
668 | [354] = IMX_PIN_REG(MX35_PAD_CSPI1_SPI_RDY, 0x5c8, 0x184, 6, 0x0, 0), /* MX35_PAD_CSPI1_SPI_RDY__IPU_DIAGB_31 */ | ||
669 | [355] = IMX_PIN_REG(MX35_PAD_CSPI1_SPI_RDY, 0x5c8, 0x184, 7, 0x0, 0), /* MX35_PAD_CSPI1_SPI_RDY__EMI_M3IF_CHOSEN_MASTER_2 */ | ||
670 | [356] = IMX_PIN_REG(MX35_PAD_RXD1, 0x5cc, 0x188, 0, 0x0, 0), /* MX35_PAD_RXD1__UART1_RXD_MUX */ | ||
671 | [357] = IMX_PIN_REG(MX35_PAD_RXD1, 0x5cc, 0x188, 1, 0x7ec, 1), /* MX35_PAD_RXD1__CSPI2_MOSI */ | ||
672 | [358] = IMX_PIN_REG(MX35_PAD_RXD1, 0x5cc, 0x188, 4, 0x960, 0), /* MX35_PAD_RXD1__KPP_COL_4 */ | ||
673 | [359] = IMX_PIN_REG(MX35_PAD_RXD1, 0x5cc, 0x188, 5, 0x90c, 0), /* MX35_PAD_RXD1__GPIO3_6 */ | ||
674 | [360] = IMX_PIN_REG(MX35_PAD_RXD1, 0x5cc, 0x188, 7, 0x0, 0), /* MX35_PAD_RXD1__ARM11P_TOP_EVNTBUS_16 */ | ||
675 | [361] = IMX_PIN_REG(MX35_PAD_TXD1, 0x5d0, 0x18c, 0, 0x0, 0), /* MX35_PAD_TXD1__UART1_TXD_MUX */ | ||
676 | [362] = IMX_PIN_REG(MX35_PAD_TXD1, 0x5d0, 0x18c, 1, 0x7e8, 1), /* MX35_PAD_TXD1__CSPI2_MISO */ | ||
677 | [363] = IMX_PIN_REG(MX35_PAD_TXD1, 0x5d0, 0x18c, 4, 0x964, 0), /* MX35_PAD_TXD1__KPP_COL_5 */ | ||
678 | [364] = IMX_PIN_REG(MX35_PAD_TXD1, 0x5d0, 0x18c, 5, 0x910, 0), /* MX35_PAD_TXD1__GPIO3_7 */ | ||
679 | [365] = IMX_PIN_REG(MX35_PAD_TXD1, 0x5d0, 0x18c, 7, 0x0, 0), /* MX35_PAD_TXD1__ARM11P_TOP_EVNTBUS_17 */ | ||
680 | [366] = IMX_PIN_REG(MX35_PAD_RTS1, 0x5d4, 0x190, 0, 0x0, 0), /* MX35_PAD_RTS1__UART1_RTS */ | ||
681 | [367] = IMX_PIN_REG(MX35_PAD_RTS1, 0x5d4, 0x190, 1, 0x7e0, 1), /* MX35_PAD_RTS1__CSPI2_SCLK */ | ||
682 | [368] = IMX_PIN_REG(MX35_PAD_RTS1, 0x5d4, 0x190, 2, 0x91c, 1), /* MX35_PAD_RTS1__I2C3_SCL */ | ||
683 | [369] = IMX_PIN_REG(MX35_PAD_RTS1, 0x5d4, 0x190, 3, 0x930, 1), /* MX35_PAD_RTS1__IPU_CSI_D_0 */ | ||
684 | [370] = IMX_PIN_REG(MX35_PAD_RTS1, 0x5d4, 0x190, 4, 0x968, 0), /* MX35_PAD_RTS1__KPP_COL_6 */ | ||
685 | [371] = IMX_PIN_REG(MX35_PAD_RTS1, 0x5d4, 0x190, 5, 0x914, 0), /* MX35_PAD_RTS1__GPIO3_8 */ | ||
686 | [372] = IMX_PIN_REG(MX35_PAD_RTS1, 0x5d4, 0x190, 6, 0x0, 0), /* MX35_PAD_RTS1__EMI_NANDF_CE1 */ | ||
687 | [373] = IMX_PIN_REG(MX35_PAD_RTS1, 0x5d4, 0x190, 7, 0x0, 0), /* MX35_PAD_RTS1__ARM11P_TOP_EVNTBUS_18 */ | ||
688 | [374] = IMX_PIN_REG(MX35_PAD_CTS1, 0x5d8, 0x194, 0, 0x0, 0), /* MX35_PAD_CTS1__UART1_CTS */ | ||
689 | [375] = IMX_PIN_REG(MX35_PAD_CTS1, 0x5d8, 0x194, 1, 0x7e4, 1), /* MX35_PAD_CTS1__CSPI2_RDY */ | ||
690 | [376] = IMX_PIN_REG(MX35_PAD_CTS1, 0x5d8, 0x194, 2, 0x920, 1), /* MX35_PAD_CTS1__I2C3_SDA */ | ||
691 | [377] = IMX_PIN_REG(MX35_PAD_CTS1, 0x5d8, 0x194, 3, 0x934, 1), /* MX35_PAD_CTS1__IPU_CSI_D_1 */ | ||
692 | [378] = IMX_PIN_REG(MX35_PAD_CTS1, 0x5d8, 0x194, 4, 0x96c, 0), /* MX35_PAD_CTS1__KPP_COL_7 */ | ||
693 | [379] = IMX_PIN_REG(MX35_PAD_CTS1, 0x5d8, 0x194, 5, 0x918, 0), /* MX35_PAD_CTS1__GPIO3_9 */ | ||
694 | [380] = IMX_PIN_REG(MX35_PAD_CTS1, 0x5d8, 0x194, 6, 0x0, 0), /* MX35_PAD_CTS1__EMI_NANDF_CE2 */ | ||
695 | [381] = IMX_PIN_REG(MX35_PAD_CTS1, 0x5d8, 0x194, 7, 0x0, 0), /* MX35_PAD_CTS1__ARM11P_TOP_EVNTBUS_19 */ | ||
696 | [382] = IMX_PIN_REG(MX35_PAD_RXD2, 0x5dc, 0x198, 0, 0x0, 0), /* MX35_PAD_RXD2__UART2_RXD_MUX */ | ||
697 | [383] = IMX_PIN_REG(MX35_PAD_RXD2, 0x5dc, 0x198, 4, 0x980, 0), /* MX35_PAD_RXD2__KPP_ROW_4 */ | ||
698 | [384] = IMX_PIN_REG(MX35_PAD_RXD2, 0x5dc, 0x198, 5, 0x8ec, 0), /* MX35_PAD_RXD2__GPIO3_10 */ | ||
699 | [385] = IMX_PIN_REG(MX35_PAD_TXD2, 0x5e0, 0x19c, 0, 0x0, 0), /* MX35_PAD_TXD2__UART2_TXD_MUX */ | ||
700 | [386] = IMX_PIN_REG(MX35_PAD_TXD2, 0x5e0, 0x19c, 1, 0x994, 2), /* MX35_PAD_TXD2__SPDIF_SPDIF_EXTCLK */ | ||
701 | [387] = IMX_PIN_REG(MX35_PAD_TXD2, 0x5e0, 0x19c, 4, 0x984, 0), /* MX35_PAD_TXD2__KPP_ROW_5 */ | ||
702 | [388] = IMX_PIN_REG(MX35_PAD_TXD2, 0x5e0, 0x19c, 5, 0x8f0, 0), /* MX35_PAD_TXD2__GPIO3_11 */ | ||
703 | [389] = IMX_PIN_REG(MX35_PAD_RTS2, 0x5e4, 0x1a0, 0, 0x0, 0), /* MX35_PAD_RTS2__UART2_RTS */ | ||
704 | [390] = IMX_PIN_REG(MX35_PAD_RTS2, 0x5e4, 0x1a0, 1, 0x998, 1), /* MX35_PAD_RTS2__SPDIF_SPDIF_IN1 */ | ||
705 | [391] = IMX_PIN_REG(MX35_PAD_RTS2, 0x5e4, 0x1a0, 2, 0x7cc, 1), /* MX35_PAD_RTS2__CAN2_RXCAN */ | ||
706 | [392] = IMX_PIN_REG(MX35_PAD_RTS2, 0x5e4, 0x1a0, 3, 0x938, 1), /* MX35_PAD_RTS2__IPU_CSI_D_2 */ | ||
707 | [393] = IMX_PIN_REG(MX35_PAD_RTS2, 0x5e4, 0x1a0, 4, 0x988, 0), /* MX35_PAD_RTS2__KPP_ROW_6 */ | ||
708 | [394] = IMX_PIN_REG(MX35_PAD_RTS2, 0x5e4, 0x1a0, 5, 0x8f4, 0), /* MX35_PAD_RTS2__GPIO3_12 */ | ||
709 | [395] = IMX_PIN_REG(MX35_PAD_RTS2, 0x5e4, 0x1a0, 6, 0x0, 0), /* MX35_PAD_RTS2__AUDMUX_AUD5_RXC */ | ||
710 | [396] = IMX_PIN_REG(MX35_PAD_RTS2, 0x5e4, 0x1a0, 7, 0x9a0, 0), /* MX35_PAD_RTS2__UART3_RXD_MUX */ | ||
711 | [397] = IMX_PIN_REG(MX35_PAD_CTS2, 0x5e8, 0x1a4, 0, 0x0, 0), /* MX35_PAD_CTS2__UART2_CTS */ | ||
712 | [398] = IMX_PIN_REG(MX35_PAD_CTS2, 0x5e8, 0x1a4, 1, 0x0, 0), /* MX35_PAD_CTS2__SPDIF_SPDIF_OUT1 */ | ||
713 | [399] = IMX_PIN_REG(MX35_PAD_CTS2, 0x5e8, 0x1a4, 2, 0x0, 0), /* MX35_PAD_CTS2__CAN2_TXCAN */ | ||
714 | [400] = IMX_PIN_REG(MX35_PAD_CTS2, 0x5e8, 0x1a4, 3, 0x93c, 1), /* MX35_PAD_CTS2__IPU_CSI_D_3 */ | ||
715 | [401] = IMX_PIN_REG(MX35_PAD_CTS2, 0x5e8, 0x1a4, 4, 0x98c, 0), /* MX35_PAD_CTS2__KPP_ROW_7 */ | ||
716 | [402] = IMX_PIN_REG(MX35_PAD_CTS2, 0x5e8, 0x1a4, 5, 0x8f8, 0), /* MX35_PAD_CTS2__GPIO3_13 */ | ||
717 | [403] = IMX_PIN_REG(MX35_PAD_CTS2, 0x5e8, 0x1a4, 6, 0x0, 0), /* MX35_PAD_CTS2__AUDMUX_AUD5_RXFS */ | ||
718 | [404] = IMX_PIN_REG(MX35_PAD_CTS2, 0x5e8, 0x1a4, 7, 0x0, 0), /* MX35_PAD_CTS2__UART3_TXD_MUX */ | ||
719 | [405] = IMX_PIN_REG(MX35_PAD_RTCK, 0x5ec, 0x0, 0, 0x0, 0), /* MX35_PAD_RTCK__ARM11P_TOP_RTCK */ | ||
720 | [406] = IMX_PIN_REG(MX35_PAD_TCK, 0x5f0, 0x0, 0, 0x0, 0), /* MX35_PAD_TCK__SJC_TCK */ | ||
721 | [407] = IMX_PIN_REG(MX35_PAD_TMS, 0x5f4, 0x0, 0, 0x0, 0), /* MX35_PAD_TMS__SJC_TMS */ | ||
722 | [408] = IMX_PIN_REG(MX35_PAD_TDI, 0x5f8, 0x0, 0, 0x0, 0), /* MX35_PAD_TDI__SJC_TDI */ | ||
723 | [409] = IMX_PIN_REG(MX35_PAD_TDO, 0x5fc, 0x0, 0, 0x0, 0), /* MX35_PAD_TDO__SJC_TDO */ | ||
724 | [410] = IMX_PIN_REG(MX35_PAD_TRSTB, 0x600, 0x0, 0, 0x0, 0), /* MX35_PAD_TRSTB__SJC_TRSTB */ | ||
725 | [411] = IMX_PIN_REG(MX35_PAD_DE_B, 0x604, 0x0, 0, 0x0, 0), /* MX35_PAD_DE_B__SJC_DE_B */ | ||
726 | [412] = IMX_PIN_REG(MX35_PAD_SJC_MOD, 0x608, 0x0, 0, 0x0, 0), /* MX35_PAD_SJC_MOD__SJC_MOD */ | ||
727 | [413] = IMX_PIN_REG(MX35_PAD_USBOTG_PWR, 0x60c, 0x1a8, 0, 0x0, 0), /* MX35_PAD_USBOTG_PWR__USB_TOP_USBOTG_PWR */ | ||
728 | [414] = IMX_PIN_REG(MX35_PAD_USBOTG_PWR, 0x60c, 0x1a8, 1, 0x0, 0), /* MX35_PAD_USBOTG_PWR__USB_TOP_USBH2_PWR */ | ||
729 | [415] = IMX_PIN_REG(MX35_PAD_USBOTG_PWR, 0x60c, 0x1a8, 5, 0x8fc, 0), /* MX35_PAD_USBOTG_PWR__GPIO3_14 */ | ||
730 | [416] = IMX_PIN_REG(MX35_PAD_USBOTG_OC, 0x610, 0x1ac, 0, 0x0, 0), /* MX35_PAD_USBOTG_OC__USB_TOP_USBOTG_OC */ | ||
731 | [417] = IMX_PIN_REG(MX35_PAD_USBOTG_OC, 0x610, 0x1ac, 1, 0x9f4, 1), /* MX35_PAD_USBOTG_OC__USB_TOP_USBH2_OC */ | ||
732 | [418] = IMX_PIN_REG(MX35_PAD_USBOTG_OC, 0x610, 0x1ac, 5, 0x900, 0), /* MX35_PAD_USBOTG_OC__GPIO3_15 */ | ||
733 | [419] = IMX_PIN_REG(MX35_PAD_LD0, 0x614, 0x1b0, 0, 0x0, 0), /* MX35_PAD_LD0__IPU_DISPB_DAT_0 */ | ||
734 | [420] = IMX_PIN_REG(MX35_PAD_LD0, 0x614, 0x1b0, 5, 0x868, 1), /* MX35_PAD_LD0__GPIO2_0 */ | ||
735 | [421] = IMX_PIN_REG(MX35_PAD_LD0, 0x614, 0x1b0, 6, 0x0, 0), /* MX35_PAD_LD0__SDMA_SDMA_DEBUG_PC_0 */ | ||
736 | [422] = IMX_PIN_REG(MX35_PAD_LD1, 0x618, 0x1b4, 0, 0x0, 0), /* MX35_PAD_LD1__IPU_DISPB_DAT_1 */ | ||
737 | [423] = IMX_PIN_REG(MX35_PAD_LD1, 0x618, 0x1b4, 5, 0x894, 0), /* MX35_PAD_LD1__GPIO2_1 */ | ||
738 | [424] = IMX_PIN_REG(MX35_PAD_LD1, 0x618, 0x1b4, 6, 0x0, 0), /* MX35_PAD_LD1__SDMA_SDMA_DEBUG_PC_1 */ | ||
739 | [425] = IMX_PIN_REG(MX35_PAD_LD2, 0x61c, 0x1b8, 0, 0x0, 0), /* MX35_PAD_LD2__IPU_DISPB_DAT_2 */ | ||
740 | [426] = IMX_PIN_REG(MX35_PAD_LD2, 0x61c, 0x1b8, 5, 0x8c0, 0), /* MX35_PAD_LD2__GPIO2_2 */ | ||
741 | [427] = IMX_PIN_REG(MX35_PAD_LD2, 0x61c, 0x1b8, 6, 0x0, 0), /* MX35_PAD_LD2__SDMA_SDMA_DEBUG_PC_2 */ | ||
742 | [428] = IMX_PIN_REG(MX35_PAD_LD3, 0x620, 0x1bc, 0, 0x0, 0), /* MX35_PAD_LD3__IPU_DISPB_DAT_3 */ | ||
743 | [429] = IMX_PIN_REG(MX35_PAD_LD3, 0x620, 0x1bc, 5, 0x8cc, 0), /* MX35_PAD_LD3__GPIO2_3 */ | ||
744 | [430] = IMX_PIN_REG(MX35_PAD_LD3, 0x620, 0x1bc, 6, 0x0, 0), /* MX35_PAD_LD3__SDMA_SDMA_DEBUG_PC_3 */ | ||
745 | [431] = IMX_PIN_REG(MX35_PAD_LD4, 0x624, 0x1c0, 0, 0x0, 0), /* MX35_PAD_LD4__IPU_DISPB_DAT_4 */ | ||
746 | [432] = IMX_PIN_REG(MX35_PAD_LD4, 0x624, 0x1c0, 5, 0x8d0, 0), /* MX35_PAD_LD4__GPIO2_4 */ | ||
747 | [433] = IMX_PIN_REG(MX35_PAD_LD4, 0x624, 0x1c0, 6, 0x0, 0), /* MX35_PAD_LD4__SDMA_SDMA_DEBUG_PC_4 */ | ||
748 | [434] = IMX_PIN_REG(MX35_PAD_LD5, 0x628, 0x1c4, 0, 0x0, 0), /* MX35_PAD_LD5__IPU_DISPB_DAT_5 */ | ||
749 | [435] = IMX_PIN_REG(MX35_PAD_LD5, 0x628, 0x1c4, 5, 0x8d4, 0), /* MX35_PAD_LD5__GPIO2_5 */ | ||
750 | [436] = IMX_PIN_REG(MX35_PAD_LD5, 0x628, 0x1c4, 6, 0x0, 0), /* MX35_PAD_LD5__SDMA_SDMA_DEBUG_PC_5 */ | ||
751 | [437] = IMX_PIN_REG(MX35_PAD_LD6, 0x62c, 0x1c8, 0, 0x0, 0), /* MX35_PAD_LD6__IPU_DISPB_DAT_6 */ | ||
752 | [438] = IMX_PIN_REG(MX35_PAD_LD6, 0x62c, 0x1c8, 5, 0x8d8, 0), /* MX35_PAD_LD6__GPIO2_6 */ | ||
753 | [439] = IMX_PIN_REG(MX35_PAD_LD6, 0x62c, 0x1c8, 6, 0x0, 0), /* MX35_PAD_LD6__SDMA_SDMA_DEBUG_PC_6 */ | ||
754 | [440] = IMX_PIN_REG(MX35_PAD_LD7, 0x630, 0x1cc, 0, 0x0, 0), /* MX35_PAD_LD7__IPU_DISPB_DAT_7 */ | ||
755 | [441] = IMX_PIN_REG(MX35_PAD_LD7, 0x630, 0x1cc, 5, 0x8dc, 0), /* MX35_PAD_LD7__GPIO2_7 */ | ||
756 | [442] = IMX_PIN_REG(MX35_PAD_LD7, 0x630, 0x1cc, 6, 0x0, 0), /* MX35_PAD_LD7__SDMA_SDMA_DEBUG_PC_7 */ | ||
757 | [443] = IMX_PIN_REG(MX35_PAD_LD8, 0x634, 0x1d0, 0, 0x0, 0), /* MX35_PAD_LD8__IPU_DISPB_DAT_8 */ | ||
758 | [444] = IMX_PIN_REG(MX35_PAD_LD8, 0x634, 0x1d0, 5, 0x8e0, 0), /* MX35_PAD_LD8__GPIO2_8 */ | ||
759 | [445] = IMX_PIN_REG(MX35_PAD_LD8, 0x634, 0x1d0, 6, 0x0, 0), /* MX35_PAD_LD8__SDMA_SDMA_DEBUG_PC_8 */ | ||
760 | [446] = IMX_PIN_REG(MX35_PAD_LD9, 0x638, 0x1d4, 0, 0x0, 0), /* MX35_PAD_LD9__IPU_DISPB_DAT_9 */ | ||
761 | [447] = IMX_PIN_REG(MX35_PAD_LD9, 0x638, 0x1d4, 5, 0x8e4, 0), /* MX35_PAD_LD9__GPIO2_9 */ | ||
762 | [448] = IMX_PIN_REG(MX35_PAD_LD9, 0x638, 0x1d4, 6, 0x0, 0), /* MX35_PAD_LD9__SDMA_SDMA_DEBUG_PC_9 */ | ||
763 | [449] = IMX_PIN_REG(MX35_PAD_LD10, 0x63c, 0x1d8, 0, 0x0, 0), /* MX35_PAD_LD10__IPU_DISPB_DAT_10 */ | ||
764 | [450] = IMX_PIN_REG(MX35_PAD_LD10, 0x63c, 0x1d8, 5, 0x86c, 0), /* MX35_PAD_LD10__GPIO2_10 */ | ||
765 | [451] = IMX_PIN_REG(MX35_PAD_LD10, 0x63c, 0x1d8, 6, 0x0, 0), /* MX35_PAD_LD10__SDMA_SDMA_DEBUG_PC_10 */ | ||
766 | [452] = IMX_PIN_REG(MX35_PAD_LD11, 0x640, 0x1dc, 0, 0x0, 0), /* MX35_PAD_LD11__IPU_DISPB_DAT_11 */ | ||
767 | [453] = IMX_PIN_REG(MX35_PAD_LD11, 0x640, 0x1dc, 5, 0x870, 0), /* MX35_PAD_LD11__GPIO2_11 */ | ||
768 | [454] = IMX_PIN_REG(MX35_PAD_LD11, 0x640, 0x1dc, 6, 0x0, 0), /* MX35_PAD_LD11__SDMA_SDMA_DEBUG_PC_11 */ | ||
769 | [455] = IMX_PIN_REG(MX35_PAD_LD11, 0x640, 0x1dc, 7, 0x0, 0), /* MX35_PAD_LD11__ARM11P_TOP_TRACE_4 */ | ||
770 | [456] = IMX_PIN_REG(MX35_PAD_LD12, 0x644, 0x1e0, 0, 0x0, 0), /* MX35_PAD_LD12__IPU_DISPB_DAT_12 */ | ||
771 | [457] = IMX_PIN_REG(MX35_PAD_LD12, 0x644, 0x1e0, 5, 0x874, 0), /* MX35_PAD_LD12__GPIO2_12 */ | ||
772 | [458] = IMX_PIN_REG(MX35_PAD_LD12, 0x644, 0x1e0, 6, 0x0, 0), /* MX35_PAD_LD12__SDMA_SDMA_DEBUG_PC_12 */ | ||
773 | [459] = IMX_PIN_REG(MX35_PAD_LD12, 0x644, 0x1e0, 7, 0x0, 0), /* MX35_PAD_LD12__ARM11P_TOP_TRACE_5 */ | ||
774 | [460] = IMX_PIN_REG(MX35_PAD_LD13, 0x648, 0x1e4, 0, 0x0, 0), /* MX35_PAD_LD13__IPU_DISPB_DAT_13 */ | ||
775 | [461] = IMX_PIN_REG(MX35_PAD_LD13, 0x648, 0x1e4, 5, 0x878, 0), /* MX35_PAD_LD13__GPIO2_13 */ | ||
776 | [462] = IMX_PIN_REG(MX35_PAD_LD13, 0x648, 0x1e4, 6, 0x0, 0), /* MX35_PAD_LD13__SDMA_SDMA_DEBUG_PC_13 */ | ||
777 | [463] = IMX_PIN_REG(MX35_PAD_LD13, 0x648, 0x1e4, 7, 0x0, 0), /* MX35_PAD_LD13__ARM11P_TOP_TRACE_6 */ | ||
778 | [464] = IMX_PIN_REG(MX35_PAD_LD14, 0x64c, 0x1e8, 0, 0x0, 0), /* MX35_PAD_LD14__IPU_DISPB_DAT_14 */ | ||
779 | [465] = IMX_PIN_REG(MX35_PAD_LD14, 0x64c, 0x1e8, 5, 0x87c, 0), /* MX35_PAD_LD14__GPIO2_14 */ | ||
780 | [466] = IMX_PIN_REG(MX35_PAD_LD14, 0x64c, 0x1e8, 6, 0x0, 0), /* MX35_PAD_LD14__SDMA_SDMA_DEBUG_EVENT_CHANNEL_0 */ | ||
781 | [467] = IMX_PIN_REG(MX35_PAD_LD14, 0x64c, 0x1e8, 7, 0x0, 0), /* MX35_PAD_LD14__ARM11P_TOP_TRACE_7 */ | ||
782 | [468] = IMX_PIN_REG(MX35_PAD_LD15, 0x650, 0x1ec, 0, 0x0, 0), /* MX35_PAD_LD15__IPU_DISPB_DAT_15 */ | ||
783 | [469] = IMX_PIN_REG(MX35_PAD_LD15, 0x650, 0x1ec, 5, 0x880, 0), /* MX35_PAD_LD15__GPIO2_15 */ | ||
784 | [470] = IMX_PIN_REG(MX35_PAD_LD15, 0x650, 0x1ec, 6, 0x0, 0), /* MX35_PAD_LD15__SDMA_SDMA_DEBUG_EVENT_CHANNEL_1 */ | ||
785 | [471] = IMX_PIN_REG(MX35_PAD_LD15, 0x650, 0x1ec, 7, 0x0, 0), /* MX35_PAD_LD15__ARM11P_TOP_TRACE_8 */ | ||
786 | [472] = IMX_PIN_REG(MX35_PAD_LD16, 0x654, 0x1f0, 0, 0x0, 0), /* MX35_PAD_LD16__IPU_DISPB_DAT_16 */ | ||
787 | [473] = IMX_PIN_REG(MX35_PAD_LD16, 0x654, 0x1f0, 2, 0x928, 0), /* MX35_PAD_LD16__IPU_DISPB_D12_VSYNC */ | ||
788 | [474] = IMX_PIN_REG(MX35_PAD_LD16, 0x654, 0x1f0, 5, 0x884, 0), /* MX35_PAD_LD16__GPIO2_16 */ | ||
789 | [475] = IMX_PIN_REG(MX35_PAD_LD16, 0x654, 0x1f0, 6, 0x0, 0), /* MX35_PAD_LD16__SDMA_SDMA_DEBUG_EVENT_CHANNEL_2 */ | ||
790 | [476] = IMX_PIN_REG(MX35_PAD_LD16, 0x654, 0x1f0, 7, 0x0, 0), /* MX35_PAD_LD16__ARM11P_TOP_TRACE_9 */ | ||
791 | [477] = IMX_PIN_REG(MX35_PAD_LD17, 0x658, 0x1f4, 0, 0x0, 0), /* MX35_PAD_LD17__IPU_DISPB_DAT_17 */ | ||
792 | [478] = IMX_PIN_REG(MX35_PAD_LD17, 0x658, 0x1f4, 2, 0x0, 0), /* MX35_PAD_LD17__IPU_DISPB_CS2 */ | ||
793 | [479] = IMX_PIN_REG(MX35_PAD_LD17, 0x658, 0x1f4, 5, 0x888, 0), /* MX35_PAD_LD17__GPIO2_17 */ | ||
794 | [480] = IMX_PIN_REG(MX35_PAD_LD17, 0x658, 0x1f4, 6, 0x0, 0), /* MX35_PAD_LD17__SDMA_SDMA_DEBUG_EVENT_CHANNEL_3 */ | ||
795 | [481] = IMX_PIN_REG(MX35_PAD_LD17, 0x658, 0x1f4, 7, 0x0, 0), /* MX35_PAD_LD17__ARM11P_TOP_TRACE_10 */ | ||
796 | [482] = IMX_PIN_REG(MX35_PAD_LD18, 0x65c, 0x1f8, 0, 0x0, 0), /* MX35_PAD_LD18__IPU_DISPB_DAT_18 */ | ||
797 | [483] = IMX_PIN_REG(MX35_PAD_LD18, 0x65c, 0x1f8, 1, 0x924, 1), /* MX35_PAD_LD18__IPU_DISPB_D0_VSYNC */ | ||
798 | [484] = IMX_PIN_REG(MX35_PAD_LD18, 0x65c, 0x1f8, 2, 0x928, 1), /* MX35_PAD_LD18__IPU_DISPB_D12_VSYNC */ | ||
799 | [485] = IMX_PIN_REG(MX35_PAD_LD18, 0x65c, 0x1f8, 3, 0x818, 0), /* MX35_PAD_LD18__ESDHC3_CMD */ | ||
800 | [486] = IMX_PIN_REG(MX35_PAD_LD18, 0x65c, 0x1f8, 4, 0x9b0, 0), /* MX35_PAD_LD18__USB_TOP_USBOTG_DATA_3 */ | ||
801 | [487] = IMX_PIN_REG(MX35_PAD_LD18, 0x65c, 0x1f8, 5, 0x0, 0), /* MX35_PAD_LD18__GPIO3_24 */ | ||
802 | [488] = IMX_PIN_REG(MX35_PAD_LD18, 0x65c, 0x1f8, 6, 0x0, 0), /* MX35_PAD_LD18__SDMA_SDMA_DEBUG_EVENT_CHANNEL_4 */ | ||
803 | [489] = IMX_PIN_REG(MX35_PAD_LD18, 0x65c, 0x1f8, 7, 0x0, 0), /* MX35_PAD_LD18__ARM11P_TOP_TRACE_11 */ | ||
804 | [490] = IMX_PIN_REG(MX35_PAD_LD19, 0x660, 0x1fc, 0, 0x0, 0), /* MX35_PAD_LD19__IPU_DISPB_DAT_19 */ | ||
805 | [491] = IMX_PIN_REG(MX35_PAD_LD19, 0x660, 0x1fc, 1, 0x0, 0), /* MX35_PAD_LD19__IPU_DISPB_BCLK */ | ||
806 | [492] = IMX_PIN_REG(MX35_PAD_LD19, 0x660, 0x1fc, 2, 0x0, 0), /* MX35_PAD_LD19__IPU_DISPB_CS1 */ | ||
807 | [493] = IMX_PIN_REG(MX35_PAD_LD19, 0x660, 0x1fc, 3, 0x814, 0), /* MX35_PAD_LD19__ESDHC3_CLK */ | ||
808 | [494] = IMX_PIN_REG(MX35_PAD_LD19, 0x660, 0x1fc, 4, 0x9c4, 0), /* MX35_PAD_LD19__USB_TOP_USBOTG_DIR */ | ||
809 | [495] = IMX_PIN_REG(MX35_PAD_LD19, 0x660, 0x1fc, 5, 0x0, 0), /* MX35_PAD_LD19__GPIO3_25 */ | ||
810 | [496] = IMX_PIN_REG(MX35_PAD_LD19, 0x660, 0x1fc, 6, 0x0, 0), /* MX35_PAD_LD19__SDMA_SDMA_DEBUG_EVENT_CHANNEL_5 */ | ||
811 | [497] = IMX_PIN_REG(MX35_PAD_LD19, 0x660, 0x1fc, 7, 0x0, 0), /* MX35_PAD_LD19__ARM11P_TOP_TRACE_12 */ | ||
812 | [498] = IMX_PIN_REG(MX35_PAD_LD20, 0x664, 0x200, 0, 0x0, 0), /* MX35_PAD_LD20__IPU_DISPB_DAT_20 */ | ||
813 | [499] = IMX_PIN_REG(MX35_PAD_LD20, 0x664, 0x200, 1, 0x0, 0), /* MX35_PAD_LD20__IPU_DISPB_CS0 */ | ||
814 | [500] = IMX_PIN_REG(MX35_PAD_LD20, 0x664, 0x200, 2, 0x0, 0), /* MX35_PAD_LD20__IPU_DISPB_SD_CLK */ | ||
815 | [501] = IMX_PIN_REG(MX35_PAD_LD20, 0x664, 0x200, 3, 0x81c, 0), /* MX35_PAD_LD20__ESDHC3_DAT0 */ | ||
816 | [502] = IMX_PIN_REG(MX35_PAD_LD20, 0x664, 0x200, 5, 0x0, 0), /* MX35_PAD_LD20__GPIO3_26 */ | ||
817 | [503] = IMX_PIN_REG(MX35_PAD_LD20, 0x664, 0x200, 6, 0x0, 0), /* MX35_PAD_LD20__SDMA_SDMA_DEBUG_CORE_STATUS_3 */ | ||
818 | [504] = IMX_PIN_REG(MX35_PAD_LD20, 0x664, 0x200, 7, 0x0, 0), /* MX35_PAD_LD20__ARM11P_TOP_TRACE_13 */ | ||
819 | [505] = IMX_PIN_REG(MX35_PAD_LD21, 0x668, 0x204, 0, 0x0, 0), /* MX35_PAD_LD21__IPU_DISPB_DAT_21 */ | ||
820 | [506] = IMX_PIN_REG(MX35_PAD_LD21, 0x668, 0x204, 1, 0x0, 0), /* MX35_PAD_LD21__IPU_DISPB_PAR_RS */ | ||
821 | [507] = IMX_PIN_REG(MX35_PAD_LD21, 0x668, 0x204, 2, 0x0, 0), /* MX35_PAD_LD21__IPU_DISPB_SER_RS */ | ||
822 | [508] = IMX_PIN_REG(MX35_PAD_LD21, 0x668, 0x204, 3, 0x820, 0), /* MX35_PAD_LD21__ESDHC3_DAT1 */ | ||
823 | [509] = IMX_PIN_REG(MX35_PAD_LD21, 0x668, 0x204, 4, 0x0, 0), /* MX35_PAD_LD21__USB_TOP_USBOTG_STP */ | ||
824 | [510] = IMX_PIN_REG(MX35_PAD_LD21, 0x668, 0x204, 5, 0x0, 0), /* MX35_PAD_LD21__GPIO3_27 */ | ||
825 | [511] = IMX_PIN_REG(MX35_PAD_LD21, 0x668, 0x204, 6, 0x0, 0), /* MX35_PAD_LD21__SDMA_DEBUG_EVENT_CHANNEL_SEL */ | ||
826 | [512] = IMX_PIN_REG(MX35_PAD_LD21, 0x668, 0x204, 7, 0x0, 0), /* MX35_PAD_LD21__ARM11P_TOP_TRACE_14 */ | ||
827 | [513] = IMX_PIN_REG(MX35_PAD_LD22, 0x66c, 0x208, 0, 0x0, 0), /* MX35_PAD_LD22__IPU_DISPB_DAT_22 */ | ||
828 | [514] = IMX_PIN_REG(MX35_PAD_LD22, 0x66c, 0x208, 1, 0x0, 0), /* MX35_PAD_LD22__IPU_DISPB_WR */ | ||
829 | [515] = IMX_PIN_REG(MX35_PAD_LD22, 0x66c, 0x208, 2, 0x92c, 0), /* MX35_PAD_LD22__IPU_DISPB_SD_D_I */ | ||
830 | [516] = IMX_PIN_REG(MX35_PAD_LD22, 0x66c, 0x208, 3, 0x824, 0), /* MX35_PAD_LD22__ESDHC3_DAT2 */ | ||
831 | [517] = IMX_PIN_REG(MX35_PAD_LD22, 0x66c, 0x208, 4, 0x9c8, 0), /* MX35_PAD_LD22__USB_TOP_USBOTG_NXT */ | ||
832 | [518] = IMX_PIN_REG(MX35_PAD_LD22, 0x66c, 0x208, 5, 0x0, 0), /* MX35_PAD_LD22__GPIO3_28 */ | ||
833 | [519] = IMX_PIN_REG(MX35_PAD_LD22, 0x66c, 0x208, 6, 0x0, 0), /* MX35_PAD_LD22__SDMA_DEBUG_BUS_ERROR */ | ||
834 | [520] = IMX_PIN_REG(MX35_PAD_LD22, 0x66c, 0x208, 7, 0x0, 0), /* MX35_PAD_LD22__ARM11P_TOP_TRCTL */ | ||
835 | [521] = IMX_PIN_REG(MX35_PAD_LD23, 0x670, 0x20c, 0, 0x0, 0), /* MX35_PAD_LD23__IPU_DISPB_DAT_23 */ | ||
836 | [522] = IMX_PIN_REG(MX35_PAD_LD23, 0x670, 0x20c, 1, 0x0, 0), /* MX35_PAD_LD23__IPU_DISPB_RD */ | ||
837 | [523] = IMX_PIN_REG(MX35_PAD_LD23, 0x670, 0x20c, 2, 0x92c, 1), /* MX35_PAD_LD23__IPU_DISPB_SD_D_IO */ | ||
838 | [524] = IMX_PIN_REG(MX35_PAD_LD23, 0x670, 0x20c, 3, 0x828, 0), /* MX35_PAD_LD23__ESDHC3_DAT3 */ | ||
839 | [525] = IMX_PIN_REG(MX35_PAD_LD23, 0x670, 0x20c, 4, 0x9c0, 0), /* MX35_PAD_LD23__USB_TOP_USBOTG_DATA_7 */ | ||
840 | [526] = IMX_PIN_REG(MX35_PAD_LD23, 0x670, 0x20c, 5, 0x0, 0), /* MX35_PAD_LD23__GPIO3_29 */ | ||
841 | [527] = IMX_PIN_REG(MX35_PAD_LD23, 0x670, 0x20c, 6, 0x0, 0), /* MX35_PAD_LD23__SDMA_DEBUG_MATCHED_DMBUS */ | ||
842 | [528] = IMX_PIN_REG(MX35_PAD_LD23, 0x670, 0x20c, 7, 0x0, 0), /* MX35_PAD_LD23__ARM11P_TOP_TRCLK */ | ||
843 | [529] = IMX_PIN_REG(MX35_PAD_D3_HSYNC, 0x674, 0x210, 0, 0x0, 0), /* MX35_PAD_D3_HSYNC__IPU_DISPB_D3_HSYNC */ | ||
844 | [530] = IMX_PIN_REG(MX35_PAD_D3_HSYNC, 0x674, 0x210, 2, 0x92c, 2), /* MX35_PAD_D3_HSYNC__IPU_DISPB_SD_D_IO */ | ||
845 | [531] = IMX_PIN_REG(MX35_PAD_D3_HSYNC, 0x674, 0x210, 5, 0x0, 0), /* MX35_PAD_D3_HSYNC__GPIO3_30 */ | ||
846 | [532] = IMX_PIN_REG(MX35_PAD_D3_HSYNC, 0x674, 0x210, 6, 0x0, 0), /* MX35_PAD_D3_HSYNC__SDMA_DEBUG_RTBUFFER_WRITE */ | ||
847 | [533] = IMX_PIN_REG(MX35_PAD_D3_HSYNC, 0x674, 0x210, 7, 0x0, 0), /* MX35_PAD_D3_HSYNC__ARM11P_TOP_TRACE_15 */ | ||
848 | [534] = IMX_PIN_REG(MX35_PAD_D3_FPSHIFT, 0x678, 0x214, 0, 0x0, 0), /* MX35_PAD_D3_FPSHIFT__IPU_DISPB_D3_CLK */ | ||
849 | [535] = IMX_PIN_REG(MX35_PAD_D3_FPSHIFT, 0x678, 0x214, 2, 0x0, 0), /* MX35_PAD_D3_FPSHIFT__IPU_DISPB_SD_CLK */ | ||
850 | [536] = IMX_PIN_REG(MX35_PAD_D3_FPSHIFT, 0x678, 0x214, 5, 0x0, 0), /* MX35_PAD_D3_FPSHIFT__GPIO3_31 */ | ||
851 | [537] = IMX_PIN_REG(MX35_PAD_D3_FPSHIFT, 0x678, 0x214, 6, 0x0, 0), /* MX35_PAD_D3_FPSHIFT__SDMA_SDMA_DEBUG_CORE_STATUS_0 */ | ||
852 | [538] = IMX_PIN_REG(MX35_PAD_D3_FPSHIFT, 0x678, 0x214, 7, 0x0, 0), /* MX35_PAD_D3_FPSHIFT__ARM11P_TOP_TRACE_16 */ | ||
853 | [539] = IMX_PIN_REG(MX35_PAD_D3_DRDY, 0x67c, 0x218, 0, 0x0, 0), /* MX35_PAD_D3_DRDY__IPU_DISPB_D3_DRDY */ | ||
854 | [540] = IMX_PIN_REG(MX35_PAD_D3_DRDY, 0x67c, 0x218, 2, 0x0, 0), /* MX35_PAD_D3_DRDY__IPU_DISPB_SD_D_O */ | ||
855 | [541] = IMX_PIN_REG(MX35_PAD_D3_DRDY, 0x67c, 0x218, 5, 0x82c, 2), /* MX35_PAD_D3_DRDY__GPIO1_0 */ | ||
856 | [542] = IMX_PIN_REG(MX35_PAD_D3_DRDY, 0x67c, 0x218, 6, 0x0, 0), /* MX35_PAD_D3_DRDY__SDMA_SDMA_DEBUG_CORE_STATUS_1 */ | ||
857 | [543] = IMX_PIN_REG(MX35_PAD_D3_DRDY, 0x67c, 0x218, 7, 0x0, 0), /* MX35_PAD_D3_DRDY__ARM11P_TOP_TRACE_17 */ | ||
858 | [544] = IMX_PIN_REG(MX35_PAD_CONTRAST, 0x680, 0x21c, 0, 0x0, 0), /* MX35_PAD_CONTRAST__IPU_DISPB_CONTR */ | ||
859 | [545] = IMX_PIN_REG(MX35_PAD_CONTRAST, 0x680, 0x21c, 5, 0x838, 2), /* MX35_PAD_CONTRAST__GPIO1_1 */ | ||
860 | [546] = IMX_PIN_REG(MX35_PAD_CONTRAST, 0x680, 0x21c, 6, 0x0, 0), /* MX35_PAD_CONTRAST__SDMA_SDMA_DEBUG_CORE_STATUS_2 */ | ||
861 | [547] = IMX_PIN_REG(MX35_PAD_CONTRAST, 0x680, 0x21c, 7, 0x0, 0), /* MX35_PAD_CONTRAST__ARM11P_TOP_TRACE_18 */ | ||
862 | [548] = IMX_PIN_REG(MX35_PAD_D3_VSYNC, 0x684, 0x220, 0, 0x0, 0), /* MX35_PAD_D3_VSYNC__IPU_DISPB_D3_VSYNC */ | ||
863 | [549] = IMX_PIN_REG(MX35_PAD_D3_VSYNC, 0x684, 0x220, 2, 0x0, 0), /* MX35_PAD_D3_VSYNC__IPU_DISPB_CS1 */ | ||
864 | [550] = IMX_PIN_REG(MX35_PAD_D3_VSYNC, 0x684, 0x220, 5, 0x848, 1), /* MX35_PAD_D3_VSYNC__GPIO1_2 */ | ||
865 | [551] = IMX_PIN_REG(MX35_PAD_D3_VSYNC, 0x684, 0x220, 6, 0x0, 0), /* MX35_PAD_D3_VSYNC__SDMA_DEBUG_YIELD */ | ||
866 | [552] = IMX_PIN_REG(MX35_PAD_D3_VSYNC, 0x684, 0x220, 7, 0x0, 0), /* MX35_PAD_D3_VSYNC__ARM11P_TOP_TRACE_19 */ | ||
867 | [553] = IMX_PIN_REG(MX35_PAD_D3_REV, 0x688, 0x224, 0, 0x0, 0), /* MX35_PAD_D3_REV__IPU_DISPB_D3_REV */ | ||
868 | [554] = IMX_PIN_REG(MX35_PAD_D3_REV, 0x688, 0x224, 2, 0x0, 0), /* MX35_PAD_D3_REV__IPU_DISPB_SER_RS */ | ||
869 | [555] = IMX_PIN_REG(MX35_PAD_D3_REV, 0x688, 0x224, 5, 0x84c, 1), /* MX35_PAD_D3_REV__GPIO1_3 */ | ||
870 | [556] = IMX_PIN_REG(MX35_PAD_D3_REV, 0x688, 0x224, 6, 0x0, 0), /* MX35_PAD_D3_REV__SDMA_DEBUG_BUS_RWB */ | ||
871 | [557] = IMX_PIN_REG(MX35_PAD_D3_REV, 0x688, 0x224, 7, 0x0, 0), /* MX35_PAD_D3_REV__ARM11P_TOP_TRACE_20 */ | ||
872 | [558] = IMX_PIN_REG(MX35_PAD_D3_CLS, 0x68c, 0x228, 0, 0x0, 0), /* MX35_PAD_D3_CLS__IPU_DISPB_D3_CLS */ | ||
873 | [559] = IMX_PIN_REG(MX35_PAD_D3_CLS, 0x68c, 0x228, 2, 0x0, 0), /* MX35_PAD_D3_CLS__IPU_DISPB_CS2 */ | ||
874 | [560] = IMX_PIN_REG(MX35_PAD_D3_CLS, 0x68c, 0x228, 5, 0x850, 2), /* MX35_PAD_D3_CLS__GPIO1_4 */ | ||
875 | [561] = IMX_PIN_REG(MX35_PAD_D3_CLS, 0x68c, 0x228, 6, 0x0, 0), /* MX35_PAD_D3_CLS__SDMA_DEBUG_BUS_DEVICE_0 */ | ||
876 | [562] = IMX_PIN_REG(MX35_PAD_D3_CLS, 0x68c, 0x228, 7, 0x0, 0), /* MX35_PAD_D3_CLS__ARM11P_TOP_TRACE_21 */ | ||
877 | [563] = IMX_PIN_REG(MX35_PAD_D3_SPL, 0x690, 0x22c, 0, 0x0, 0), /* MX35_PAD_D3_SPL__IPU_DISPB_D3_SPL */ | ||
878 | [564] = IMX_PIN_REG(MX35_PAD_D3_SPL, 0x690, 0x22c, 2, 0x928, 2), /* MX35_PAD_D3_SPL__IPU_DISPB_D12_VSYNC */ | ||
879 | [565] = IMX_PIN_REG(MX35_PAD_D3_SPL, 0x690, 0x22c, 5, 0x854, 2), /* MX35_PAD_D3_SPL__GPIO1_5 */ | ||
880 | [566] = IMX_PIN_REG(MX35_PAD_D3_SPL, 0x690, 0x22c, 6, 0x0, 0), /* MX35_PAD_D3_SPL__SDMA_DEBUG_BUS_DEVICE_1 */ | ||
881 | [567] = IMX_PIN_REG(MX35_PAD_D3_SPL, 0x690, 0x22c, 7, 0x0, 0), /* MX35_PAD_D3_SPL__ARM11P_TOP_TRACE_22 */ | ||
882 | [568] = IMX_PIN_REG(MX35_PAD_SD1_CMD, 0x694, 0x230, 0, 0x0, 0), /* MX35_PAD_SD1_CMD__ESDHC1_CMD */ | ||
883 | [569] = IMX_PIN_REG(MX35_PAD_SD1_CMD, 0x694, 0x230, 1, 0x0, 0), /* MX35_PAD_SD1_CMD__MSHC_SCLK */ | ||
884 | [570] = IMX_PIN_REG(MX35_PAD_SD1_CMD, 0x694, 0x230, 3, 0x924, 2), /* MX35_PAD_SD1_CMD__IPU_DISPB_D0_VSYNC */ | ||
885 | [571] = IMX_PIN_REG(MX35_PAD_SD1_CMD, 0x694, 0x230, 4, 0x9b4, 0), /* MX35_PAD_SD1_CMD__USB_TOP_USBOTG_DATA_4 */ | ||
886 | [572] = IMX_PIN_REG(MX35_PAD_SD1_CMD, 0x694, 0x230, 5, 0x858, 2), /* MX35_PAD_SD1_CMD__GPIO1_6 */ | ||
887 | [573] = IMX_PIN_REG(MX35_PAD_SD1_CMD, 0x694, 0x230, 7, 0x0, 0), /* MX35_PAD_SD1_CMD__ARM11P_TOP_TRCTL */ | ||
888 | [574] = IMX_PIN_REG(MX35_PAD_SD1_CLK, 0x698, 0x234, 0, 0x0, 0), /* MX35_PAD_SD1_CLK__ESDHC1_CLK */ | ||
889 | [575] = IMX_PIN_REG(MX35_PAD_SD1_CLK, 0x698, 0x234, 1, 0x0, 0), /* MX35_PAD_SD1_CLK__MSHC_BS */ | ||
890 | [576] = IMX_PIN_REG(MX35_PAD_SD1_CLK, 0x698, 0x234, 3, 0x0, 0), /* MX35_PAD_SD1_CLK__IPU_DISPB_BCLK */ | ||
891 | [577] = IMX_PIN_REG(MX35_PAD_SD1_CLK, 0x698, 0x234, 4, 0x9b8, 0), /* MX35_PAD_SD1_CLK__USB_TOP_USBOTG_DATA_5 */ | ||
892 | [578] = IMX_PIN_REG(MX35_PAD_SD1_CLK, 0x698, 0x234, 5, 0x85c, 2), /* MX35_PAD_SD1_CLK__GPIO1_7 */ | ||
893 | [579] = IMX_PIN_REG(MX35_PAD_SD1_CLK, 0x698, 0x234, 7, 0x0, 0), /* MX35_PAD_SD1_CLK__ARM11P_TOP_TRCLK */ | ||
894 | [580] = IMX_PIN_REG(MX35_PAD_SD1_DATA0, 0x69c, 0x238, 0, 0x0, 0), /* MX35_PAD_SD1_DATA0__ESDHC1_DAT0 */ | ||
895 | [581] = IMX_PIN_REG(MX35_PAD_SD1_DATA0, 0x69c, 0x238, 1, 0x0, 0), /* MX35_PAD_SD1_DATA0__MSHC_DATA_0 */ | ||
896 | [582] = IMX_PIN_REG(MX35_PAD_SD1_DATA0, 0x69c, 0x238, 3, 0x0, 0), /* MX35_PAD_SD1_DATA0__IPU_DISPB_CS0 */ | ||
897 | [583] = IMX_PIN_REG(MX35_PAD_SD1_DATA0, 0x69c, 0x238, 4, 0x9bc, 0), /* MX35_PAD_SD1_DATA0__USB_TOP_USBOTG_DATA_6 */ | ||
898 | [584] = IMX_PIN_REG(MX35_PAD_SD1_DATA0, 0x69c, 0x238, 5, 0x860, 2), /* MX35_PAD_SD1_DATA0__GPIO1_8 */ | ||
899 | [585] = IMX_PIN_REG(MX35_PAD_SD1_DATA0, 0x69c, 0x238, 7, 0x0, 0), /* MX35_PAD_SD1_DATA0__ARM11P_TOP_TRACE_23 */ | ||
900 | [586] = IMX_PIN_REG(MX35_PAD_SD1_DATA1, 0x6a0, 0x23c, 0, 0x0, 0), /* MX35_PAD_SD1_DATA1__ESDHC1_DAT1 */ | ||
901 | [587] = IMX_PIN_REG(MX35_PAD_SD1_DATA1, 0x6a0, 0x23c, 1, 0x0, 0), /* MX35_PAD_SD1_DATA1__MSHC_DATA_1 */ | ||
902 | [588] = IMX_PIN_REG(MX35_PAD_SD1_DATA1, 0x6a0, 0x23c, 3, 0x0, 0), /* MX35_PAD_SD1_DATA1__IPU_DISPB_PAR_RS */ | ||
903 | [589] = IMX_PIN_REG(MX35_PAD_SD1_DATA1, 0x6a0, 0x23c, 4, 0x9a4, 0), /* MX35_PAD_SD1_DATA1__USB_TOP_USBOTG_DATA_0 */ | ||
904 | [590] = IMX_PIN_REG(MX35_PAD_SD1_DATA1, 0x6a0, 0x23c, 5, 0x864, 1), /* MX35_PAD_SD1_DATA1__GPIO1_9 */ | ||
905 | [591] = IMX_PIN_REG(MX35_PAD_SD1_DATA1, 0x6a0, 0x23c, 7, 0x0, 0), /* MX35_PAD_SD1_DATA1__ARM11P_TOP_TRACE_24 */ | ||
906 | [592] = IMX_PIN_REG(MX35_PAD_SD1_DATA2, 0x6a4, 0x240, 0, 0x0, 0), /* MX35_PAD_SD1_DATA2__ESDHC1_DAT2 */ | ||
907 | [593] = IMX_PIN_REG(MX35_PAD_SD1_DATA2, 0x6a4, 0x240, 1, 0x0, 0), /* MX35_PAD_SD1_DATA2__MSHC_DATA_2 */ | ||
908 | [594] = IMX_PIN_REG(MX35_PAD_SD1_DATA2, 0x6a4, 0x240, 3, 0x0, 0), /* MX35_PAD_SD1_DATA2__IPU_DISPB_WR */ | ||
909 | [595] = IMX_PIN_REG(MX35_PAD_SD1_DATA2, 0x6a4, 0x240, 4, 0x9a8, 0), /* MX35_PAD_SD1_DATA2__USB_TOP_USBOTG_DATA_1 */ | ||
910 | [596] = IMX_PIN_REG(MX35_PAD_SD1_DATA2, 0x6a4, 0x240, 5, 0x830, 1), /* MX35_PAD_SD1_DATA2__GPIO1_10 */ | ||
911 | [597] = IMX_PIN_REG(MX35_PAD_SD1_DATA2, 0x6a4, 0x240, 7, 0x0, 0), /* MX35_PAD_SD1_DATA2__ARM11P_TOP_TRACE_25 */ | ||
912 | [598] = IMX_PIN_REG(MX35_PAD_SD1_DATA3, 0x6a8, 0x244, 0, 0x0, 0), /* MX35_PAD_SD1_DATA3__ESDHC1_DAT3 */ | ||
913 | [599] = IMX_PIN_REG(MX35_PAD_SD1_DATA3, 0x6a8, 0x244, 1, 0x0, 0), /* MX35_PAD_SD1_DATA3__MSHC_DATA_3 */ | ||
914 | [600] = IMX_PIN_REG(MX35_PAD_SD1_DATA3, 0x6a8, 0x244, 3, 0x0, 0), /* MX35_PAD_SD1_DATA3__IPU_DISPB_RD */ | ||
915 | [601] = IMX_PIN_REG(MX35_PAD_SD1_DATA3, 0x6a8, 0x244, 4, 0x9ac, 0), /* MX35_PAD_SD1_DATA3__USB_TOP_USBOTG_DATA_2 */ | ||
916 | [602] = IMX_PIN_REG(MX35_PAD_SD1_DATA3, 0x6a8, 0x244, 5, 0x834, 1), /* MX35_PAD_SD1_DATA3__GPIO1_11 */ | ||
917 | [603] = IMX_PIN_REG(MX35_PAD_SD1_DATA3, 0x6a8, 0x244, 7, 0x0, 0), /* MX35_PAD_SD1_DATA3__ARM11P_TOP_TRACE_26 */ | ||
918 | [604] = IMX_PIN_REG(MX35_PAD_SD2_CMD, 0x6ac, 0x248, 0, 0x0, 0), /* MX35_PAD_SD2_CMD__ESDHC2_CMD */ | ||
919 | [605] = IMX_PIN_REG(MX35_PAD_SD2_CMD, 0x6ac, 0x248, 1, 0x91c, 2), /* MX35_PAD_SD2_CMD__I2C3_SCL */ | ||
920 | [606] = IMX_PIN_REG(MX35_PAD_SD2_CMD, 0x6ac, 0x248, 2, 0x804, 0), /* MX35_PAD_SD2_CMD__ESDHC1_DAT4 */ | ||
921 | [607] = IMX_PIN_REG(MX35_PAD_SD2_CMD, 0x6ac, 0x248, 3, 0x938, 2), /* MX35_PAD_SD2_CMD__IPU_CSI_D_2 */ | ||
922 | [608] = IMX_PIN_REG(MX35_PAD_SD2_CMD, 0x6ac, 0x248, 4, 0x9dc, 0), /* MX35_PAD_SD2_CMD__USB_TOP_USBH2_DATA_4 */ | ||
923 | [609] = IMX_PIN_REG(MX35_PAD_SD2_CMD, 0x6ac, 0x248, 5, 0x868, 2), /* MX35_PAD_SD2_CMD__GPIO2_0 */ | ||
924 | [610] = IMX_PIN_REG(MX35_PAD_SD2_CMD, 0x6ac, 0x248, 6, 0x0, 0), /* MX35_PAD_SD2_CMD__SPDIF_SPDIF_OUT1 */ | ||
925 | [611] = IMX_PIN_REG(MX35_PAD_SD2_CMD, 0x6ac, 0x248, 7, 0x928, 3), /* MX35_PAD_SD2_CMD__IPU_DISPB_D12_VSYNC */ | ||
926 | [612] = IMX_PIN_REG(MX35_PAD_SD2_CLK, 0x6b0, 0x24c, 0, 0x0, 0), /* MX35_PAD_SD2_CLK__ESDHC2_CLK */ | ||
927 | [613] = IMX_PIN_REG(MX35_PAD_SD2_CLK, 0x6b0, 0x24c, 1, 0x920, 2), /* MX35_PAD_SD2_CLK__I2C3_SDA */ | ||
928 | [614] = IMX_PIN_REG(MX35_PAD_SD2_CLK, 0x6b0, 0x24c, 2, 0x808, 0), /* MX35_PAD_SD2_CLK__ESDHC1_DAT5 */ | ||
929 | [615] = IMX_PIN_REG(MX35_PAD_SD2_CLK, 0x6b0, 0x24c, 3, 0x93c, 2), /* MX35_PAD_SD2_CLK__IPU_CSI_D_3 */ | ||
930 | [616] = IMX_PIN_REG(MX35_PAD_SD2_CLK, 0x6b0, 0x24c, 4, 0x9e0, 0), /* MX35_PAD_SD2_CLK__USB_TOP_USBH2_DATA_5 */ | ||
931 | [617] = IMX_PIN_REG(MX35_PAD_SD2_CLK, 0x6b0, 0x24c, 5, 0x894, 1), /* MX35_PAD_SD2_CLK__GPIO2_1 */ | ||
932 | [618] = IMX_PIN_REG(MX35_PAD_SD2_CLK, 0x6b0, 0x24c, 6, 0x998, 2), /* MX35_PAD_SD2_CLK__SPDIF_SPDIF_IN1 */ | ||
933 | [619] = IMX_PIN_REG(MX35_PAD_SD2_CLK, 0x6b0, 0x24c, 7, 0x0, 0), /* MX35_PAD_SD2_CLK__IPU_DISPB_CS2 */ | ||
934 | [620] = IMX_PIN_REG(MX35_PAD_SD2_DATA0, 0x6b4, 0x250, 0, 0x0, 0), /* MX35_PAD_SD2_DATA0__ESDHC2_DAT0 */ | ||
935 | [621] = IMX_PIN_REG(MX35_PAD_SD2_DATA0, 0x6b4, 0x250, 1, 0x9a0, 1), /* MX35_PAD_SD2_DATA0__UART3_RXD_MUX */ | ||
936 | [622] = IMX_PIN_REG(MX35_PAD_SD2_DATA0, 0x6b4, 0x250, 2, 0x80c, 0), /* MX35_PAD_SD2_DATA0__ESDHC1_DAT6 */ | ||
937 | [623] = IMX_PIN_REG(MX35_PAD_SD2_DATA0, 0x6b4, 0x250, 3, 0x940, 1), /* MX35_PAD_SD2_DATA0__IPU_CSI_D_4 */ | ||
938 | [624] = IMX_PIN_REG(MX35_PAD_SD2_DATA0, 0x6b4, 0x250, 4, 0x9e4, 0), /* MX35_PAD_SD2_DATA0__USB_TOP_USBH2_DATA_6 */ | ||
939 | [625] = IMX_PIN_REG(MX35_PAD_SD2_DATA0, 0x6b4, 0x250, 5, 0x8c0, 1), /* MX35_PAD_SD2_DATA0__GPIO2_2 */ | ||
940 | [626] = IMX_PIN_REG(MX35_PAD_SD2_DATA0, 0x6b4, 0x250, 6, 0x994, 3), /* MX35_PAD_SD2_DATA0__SPDIF_SPDIF_EXTCLK */ | ||
941 | [627] = IMX_PIN_REG(MX35_PAD_SD2_DATA1, 0x6b8, 0x254, 0, 0x0, 0), /* MX35_PAD_SD2_DATA1__ESDHC2_DAT1 */ | ||
942 | [628] = IMX_PIN_REG(MX35_PAD_SD2_DATA1, 0x6b8, 0x254, 1, 0x0, 0), /* MX35_PAD_SD2_DATA1__UART3_TXD_MUX */ | ||
943 | [629] = IMX_PIN_REG(MX35_PAD_SD2_DATA1, 0x6b8, 0x254, 2, 0x810, 0), /* MX35_PAD_SD2_DATA1__ESDHC1_DAT7 */ | ||
944 | [630] = IMX_PIN_REG(MX35_PAD_SD2_DATA1, 0x6b8, 0x254, 3, 0x944, 1), /* MX35_PAD_SD2_DATA1__IPU_CSI_D_5 */ | ||
945 | [631] = IMX_PIN_REG(MX35_PAD_SD2_DATA1, 0x6b8, 0x254, 4, 0x9cc, 0), /* MX35_PAD_SD2_DATA1__USB_TOP_USBH2_DATA_0 */ | ||
946 | [632] = IMX_PIN_REG(MX35_PAD_SD2_DATA1, 0x6b8, 0x254, 5, 0x8cc, 1), /* MX35_PAD_SD2_DATA1__GPIO2_3 */ | ||
947 | [633] = IMX_PIN_REG(MX35_PAD_SD2_DATA2, 0x6bc, 0x258, 0, 0x0, 0), /* MX35_PAD_SD2_DATA2__ESDHC2_DAT2 */ | ||
948 | [634] = IMX_PIN_REG(MX35_PAD_SD2_DATA2, 0x6bc, 0x258, 1, 0x99c, 0), /* MX35_PAD_SD2_DATA2__UART3_RTS */ | ||
949 | [635] = IMX_PIN_REG(MX35_PAD_SD2_DATA2, 0x6bc, 0x258, 2, 0x7c8, 1), /* MX35_PAD_SD2_DATA2__CAN1_RXCAN */ | ||
950 | [636] = IMX_PIN_REG(MX35_PAD_SD2_DATA2, 0x6bc, 0x258, 3, 0x948, 1), /* MX35_PAD_SD2_DATA2__IPU_CSI_D_6 */ | ||
951 | [637] = IMX_PIN_REG(MX35_PAD_SD2_DATA2, 0x6bc, 0x258, 4, 0x9d0, 0), /* MX35_PAD_SD2_DATA2__USB_TOP_USBH2_DATA_1 */ | ||
952 | [638] = IMX_PIN_REG(MX35_PAD_SD2_DATA2, 0x6bc, 0x258, 5, 0x8d0, 1), /* MX35_PAD_SD2_DATA2__GPIO2_4 */ | ||
953 | [639] = IMX_PIN_REG(MX35_PAD_SD2_DATA3, 0x6c0, 0x25c, 0, 0x0, 0), /* MX35_PAD_SD2_DATA3__ESDHC2_DAT3 */ | ||
954 | [640] = IMX_PIN_REG(MX35_PAD_SD2_DATA3, 0x6c0, 0x25c, 1, 0x0, 0), /* MX35_PAD_SD2_DATA3__UART3_CTS */ | ||
955 | [641] = IMX_PIN_REG(MX35_PAD_SD2_DATA3, 0x6c0, 0x25c, 2, 0x0, 0), /* MX35_PAD_SD2_DATA3__CAN1_TXCAN */ | ||
956 | [642] = IMX_PIN_REG(MX35_PAD_SD2_DATA3, 0x6c0, 0x25c, 3, 0x94c, 1), /* MX35_PAD_SD2_DATA3__IPU_CSI_D_7 */ | ||
957 | [643] = IMX_PIN_REG(MX35_PAD_SD2_DATA3, 0x6c0, 0x25c, 4, 0x9d4, 0), /* MX35_PAD_SD2_DATA3__USB_TOP_USBH2_DATA_2 */ | ||
958 | [644] = IMX_PIN_REG(MX35_PAD_SD2_DATA3, 0x6c0, 0x25c, 5, 0x8d4, 1), /* MX35_PAD_SD2_DATA3__GPIO2_5 */ | ||
959 | [645] = IMX_PIN_REG(MX35_PAD_ATA_CS0, 0x6c4, 0x260, 0, 0x0, 0), /* MX35_PAD_ATA_CS0__ATA_CS0 */ | ||
960 | [646] = IMX_PIN_REG(MX35_PAD_ATA_CS0, 0x6c4, 0x260, 1, 0x7dc, 1), /* MX35_PAD_ATA_CS0__CSPI1_SS3 */ | ||
961 | [647] = IMX_PIN_REG(MX35_PAD_ATA_CS0, 0x6c4, 0x260, 3, 0x0, 0), /* MX35_PAD_ATA_CS0__IPU_DISPB_CS1 */ | ||
962 | [648] = IMX_PIN_REG(MX35_PAD_ATA_CS0, 0x6c4, 0x260, 5, 0x8d8, 1), /* MX35_PAD_ATA_CS0__GPIO2_6 */ | ||
963 | [649] = IMX_PIN_REG(MX35_PAD_ATA_CS0, 0x6c4, 0x260, 6, 0x0, 0), /* MX35_PAD_ATA_CS0__IPU_DIAGB_0 */ | ||
964 | [650] = IMX_PIN_REG(MX35_PAD_ATA_CS0, 0x6c4, 0x260, 7, 0x0, 0), /* MX35_PAD_ATA_CS0__ARM11P_TOP_MAX1_HMASTER_0 */ | ||
965 | [651] = IMX_PIN_REG(MX35_PAD_ATA_CS1, 0x6c8, 0x264, 0, 0x0, 0), /* MX35_PAD_ATA_CS1__ATA_CS1 */ | ||
966 | [652] = IMX_PIN_REG(MX35_PAD_ATA_CS1, 0x6c8, 0x264, 3, 0x0, 0), /* MX35_PAD_ATA_CS1__IPU_DISPB_CS2 */ | ||
967 | [653] = IMX_PIN_REG(MX35_PAD_ATA_CS1, 0x6c8, 0x264, 4, 0x7f0, 1), /* MX35_PAD_ATA_CS1__CSPI2_SS0 */ | ||
968 | [654] = IMX_PIN_REG(MX35_PAD_ATA_CS1, 0x6c8, 0x264, 5, 0x8dc, 1), /* MX35_PAD_ATA_CS1__GPIO2_7 */ | ||
969 | [655] = IMX_PIN_REG(MX35_PAD_ATA_CS1, 0x6c8, 0x264, 6, 0x0, 0), /* MX35_PAD_ATA_CS1__IPU_DIAGB_1 */ | ||
970 | [656] = IMX_PIN_REG(MX35_PAD_ATA_CS1, 0x6c8, 0x264, 7, 0x0, 0), /* MX35_PAD_ATA_CS1__ARM11P_TOP_MAX1_HMASTER_1 */ | ||
971 | [657] = IMX_PIN_REG(MX35_PAD_ATA_DIOR, 0x6cc, 0x268, 0, 0x0, 0), /* MX35_PAD_ATA_DIOR__ATA_DIOR */ | ||
972 | [658] = IMX_PIN_REG(MX35_PAD_ATA_DIOR, 0x6cc, 0x268, 1, 0x81c, 1), /* MX35_PAD_ATA_DIOR__ESDHC3_DAT0 */ | ||
973 | [659] = IMX_PIN_REG(MX35_PAD_ATA_DIOR, 0x6cc, 0x268, 2, 0x9c4, 1), /* MX35_PAD_ATA_DIOR__USB_TOP_USBOTG_DIR */ | ||
974 | [660] = IMX_PIN_REG(MX35_PAD_ATA_DIOR, 0x6cc, 0x268, 3, 0x0, 0), /* MX35_PAD_ATA_DIOR__IPU_DISPB_BE0 */ | ||
975 | [661] = IMX_PIN_REG(MX35_PAD_ATA_DIOR, 0x6cc, 0x268, 4, 0x7f4, 1), /* MX35_PAD_ATA_DIOR__CSPI2_SS1 */ | ||
976 | [662] = IMX_PIN_REG(MX35_PAD_ATA_DIOR, 0x6cc, 0x268, 5, 0x8e0, 1), /* MX35_PAD_ATA_DIOR__GPIO2_8 */ | ||
977 | [663] = IMX_PIN_REG(MX35_PAD_ATA_DIOR, 0x6cc, 0x268, 6, 0x0, 0), /* MX35_PAD_ATA_DIOR__IPU_DIAGB_2 */ | ||
978 | [664] = IMX_PIN_REG(MX35_PAD_ATA_DIOR, 0x6cc, 0x268, 7, 0x0, 0), /* MX35_PAD_ATA_DIOR__ARM11P_TOP_MAX1_HMASTER_2 */ | ||
979 | [665] = IMX_PIN_REG(MX35_PAD_ATA_DIOW, 0x6d0, 0x26c, 0, 0x0, 0), /* MX35_PAD_ATA_DIOW__ATA_DIOW */ | ||
980 | [666] = IMX_PIN_REG(MX35_PAD_ATA_DIOW, 0x6d0, 0x26c, 1, 0x820, 1), /* MX35_PAD_ATA_DIOW__ESDHC3_DAT1 */ | ||
981 | [667] = IMX_PIN_REG(MX35_PAD_ATA_DIOW, 0x6d0, 0x26c, 2, 0x0, 0), /* MX35_PAD_ATA_DIOW__USB_TOP_USBOTG_STP */ | ||
982 | [668] = IMX_PIN_REG(MX35_PAD_ATA_DIOW, 0x6d0, 0x26c, 3, 0x0, 0), /* MX35_PAD_ATA_DIOW__IPU_DISPB_BE1 */ | ||
983 | [669] = IMX_PIN_REG(MX35_PAD_ATA_DIOW, 0x6d0, 0x26c, 4, 0x7ec, 2), /* MX35_PAD_ATA_DIOW__CSPI2_MOSI */ | ||
984 | [670] = IMX_PIN_REG(MX35_PAD_ATA_DIOW, 0x6d0, 0x26c, 5, 0x8e4, 1), /* MX35_PAD_ATA_DIOW__GPIO2_9 */ | ||
985 | [671] = IMX_PIN_REG(MX35_PAD_ATA_DIOW, 0x6d0, 0x26c, 6, 0x0, 0), /* MX35_PAD_ATA_DIOW__IPU_DIAGB_3 */ | ||
986 | [672] = IMX_PIN_REG(MX35_PAD_ATA_DIOW, 0x6d0, 0x26c, 7, 0x0, 0), /* MX35_PAD_ATA_DIOW__ARM11P_TOP_MAX1_HMASTER_3 */ | ||
987 | [673] = IMX_PIN_REG(MX35_PAD_ATA_DMACK, 0x6d4, 0x270, 0, 0x0, 0), /* MX35_PAD_ATA_DMACK__ATA_DMACK */ | ||
988 | [674] = IMX_PIN_REG(MX35_PAD_ATA_DMACK, 0x6d4, 0x270, 1, 0x824, 1), /* MX35_PAD_ATA_DMACK__ESDHC3_DAT2 */ | ||
989 | [675] = IMX_PIN_REG(MX35_PAD_ATA_DMACK, 0x6d4, 0x270, 2, 0x9c8, 1), /* MX35_PAD_ATA_DMACK__USB_TOP_USBOTG_NXT */ | ||
990 | [676] = IMX_PIN_REG(MX35_PAD_ATA_DMACK, 0x6d4, 0x270, 4, 0x7e8, 2), /* MX35_PAD_ATA_DMACK__CSPI2_MISO */ | ||
991 | [677] = IMX_PIN_REG(MX35_PAD_ATA_DMACK, 0x6d4, 0x270, 5, 0x86c, 1), /* MX35_PAD_ATA_DMACK__GPIO2_10 */ | ||
992 | [678] = IMX_PIN_REG(MX35_PAD_ATA_DMACK, 0x6d4, 0x270, 6, 0x0, 0), /* MX35_PAD_ATA_DMACK__IPU_DIAGB_4 */ | ||
993 | [679] = IMX_PIN_REG(MX35_PAD_ATA_DMACK, 0x6d4, 0x270, 7, 0x0, 0), /* MX35_PAD_ATA_DMACK__ARM11P_TOP_MAX0_HMASTER_0 */ | ||
994 | [680] = IMX_PIN_REG(MX35_PAD_ATA_RESET_B, 0x6d8, 0x274, 0, 0x0, 0), /* MX35_PAD_ATA_RESET_B__ATA_RESET_B */ | ||
995 | [681] = IMX_PIN_REG(MX35_PAD_ATA_RESET_B, 0x6d8, 0x274, 1, 0x828, 1), /* MX35_PAD_ATA_RESET_B__ESDHC3_DAT3 */ | ||
996 | [682] = IMX_PIN_REG(MX35_PAD_ATA_RESET_B, 0x6d8, 0x274, 2, 0x9a4, 1), /* MX35_PAD_ATA_RESET_B__USB_TOP_USBOTG_DATA_0 */ | ||
997 | [683] = IMX_PIN_REG(MX35_PAD_ATA_RESET_B, 0x6d8, 0x274, 3, 0x0, 0), /* MX35_PAD_ATA_RESET_B__IPU_DISPB_SD_D_O */ | ||
998 | [684] = IMX_PIN_REG(MX35_PAD_ATA_RESET_B, 0x6d8, 0x274, 4, 0x7e4, 2), /* MX35_PAD_ATA_RESET_B__CSPI2_RDY */ | ||
999 | [685] = IMX_PIN_REG(MX35_PAD_ATA_RESET_B, 0x6d8, 0x274, 5, 0x870, 1), /* MX35_PAD_ATA_RESET_B__GPIO2_11 */ | ||
1000 | [686] = IMX_PIN_REG(MX35_PAD_ATA_RESET_B, 0x6d8, 0x274, 6, 0x0, 0), /* MX35_PAD_ATA_RESET_B__IPU_DIAGB_5 */ | ||
1001 | [687] = IMX_PIN_REG(MX35_PAD_ATA_RESET_B, 0x6d8, 0x274, 7, 0x0, 0), /* MX35_PAD_ATA_RESET_B__ARM11P_TOP_MAX0_HMASTER_1 */ | ||
1002 | [688] = IMX_PIN_REG(MX35_PAD_ATA_IORDY, 0x6dc, 0x278, 0, 0x0, 0), /* MX35_PAD_ATA_IORDY__ATA_IORDY */ | ||
1003 | [689] = IMX_PIN_REG(MX35_PAD_ATA_IORDY, 0x6dc, 0x278, 1, 0x0, 0), /* MX35_PAD_ATA_IORDY__ESDHC3_DAT4 */ | ||
1004 | [690] = IMX_PIN_REG(MX35_PAD_ATA_IORDY, 0x6dc, 0x278, 2, 0x9a8, 1), /* MX35_PAD_ATA_IORDY__USB_TOP_USBOTG_DATA_1 */ | ||
1005 | [691] = IMX_PIN_REG(MX35_PAD_ATA_IORDY, 0x6dc, 0x278, 3, 0x92c, 3), /* MX35_PAD_ATA_IORDY__IPU_DISPB_SD_D_IO */ | ||
1006 | [692] = IMX_PIN_REG(MX35_PAD_ATA_IORDY, 0x6dc, 0x278, 4, 0x0, 0), /* MX35_PAD_ATA_IORDY__ESDHC2_DAT4 */ | ||
1007 | [693] = IMX_PIN_REG(MX35_PAD_ATA_IORDY, 0x6dc, 0x278, 5, 0x874, 1), /* MX35_PAD_ATA_IORDY__GPIO2_12 */ | ||
1008 | [694] = IMX_PIN_REG(MX35_PAD_ATA_IORDY, 0x6dc, 0x278, 6, 0x0, 0), /* MX35_PAD_ATA_IORDY__IPU_DIAGB_6 */ | ||
1009 | [695] = IMX_PIN_REG(MX35_PAD_ATA_IORDY, 0x6dc, 0x278, 7, 0x0, 0), /* MX35_PAD_ATA_IORDY__ARM11P_TOP_MAX0_HMASTER_2 */ | ||
1010 | [696] = IMX_PIN_REG(MX35_PAD_ATA_DATA0, 0x6e0, 0x27c, 0, 0x0, 0), /* MX35_PAD_ATA_DATA0__ATA_DATA_0 */ | ||
1011 | [697] = IMX_PIN_REG(MX35_PAD_ATA_DATA0, 0x6e0, 0x27c, 1, 0x0, 0), /* MX35_PAD_ATA_DATA0__ESDHC3_DAT5 */ | ||
1012 | [698] = IMX_PIN_REG(MX35_PAD_ATA_DATA0, 0x6e0, 0x27c, 2, 0x9ac, 1), /* MX35_PAD_ATA_DATA0__USB_TOP_USBOTG_DATA_2 */ | ||
1013 | [699] = IMX_PIN_REG(MX35_PAD_ATA_DATA0, 0x6e0, 0x27c, 3, 0x928, 4), /* MX35_PAD_ATA_DATA0__IPU_DISPB_D12_VSYNC */ | ||
1014 | [700] = IMX_PIN_REG(MX35_PAD_ATA_DATA0, 0x6e0, 0x27c, 4, 0x0, 0), /* MX35_PAD_ATA_DATA0__ESDHC2_DAT5 */ | ||
1015 | [701] = IMX_PIN_REG(MX35_PAD_ATA_DATA0, 0x6e0, 0x27c, 5, 0x878, 1), /* MX35_PAD_ATA_DATA0__GPIO2_13 */ | ||
1016 | [702] = IMX_PIN_REG(MX35_PAD_ATA_DATA0, 0x6e0, 0x27c, 6, 0x0, 0), /* MX35_PAD_ATA_DATA0__IPU_DIAGB_7 */ | ||
1017 | [703] = IMX_PIN_REG(MX35_PAD_ATA_DATA0, 0x6e0, 0x27c, 7, 0x0, 0), /* MX35_PAD_ATA_DATA0__ARM11P_TOP_MAX0_HMASTER_3 */ | ||
1018 | [704] = IMX_PIN_REG(MX35_PAD_ATA_DATA1, 0x6e4, 0x280, 0, 0x0, 0), /* MX35_PAD_ATA_DATA1__ATA_DATA_1 */ | ||
1019 | [705] = IMX_PIN_REG(MX35_PAD_ATA_DATA1, 0x6e4, 0x280, 1, 0x0, 0), /* MX35_PAD_ATA_DATA1__ESDHC3_DAT6 */ | ||
1020 | [706] = IMX_PIN_REG(MX35_PAD_ATA_DATA1, 0x6e4, 0x280, 2, 0x9b0, 1), /* MX35_PAD_ATA_DATA1__USB_TOP_USBOTG_DATA_3 */ | ||
1021 | [707] = IMX_PIN_REG(MX35_PAD_ATA_DATA1, 0x6e4, 0x280, 3, 0x0, 0), /* MX35_PAD_ATA_DATA1__IPU_DISPB_SD_CLK */ | ||
1022 | [708] = IMX_PIN_REG(MX35_PAD_ATA_DATA1, 0x6e4, 0x280, 4, 0x0, 0), /* MX35_PAD_ATA_DATA1__ESDHC2_DAT6 */ | ||
1023 | [709] = IMX_PIN_REG(MX35_PAD_ATA_DATA1, 0x6e4, 0x280, 5, 0x87c, 1), /* MX35_PAD_ATA_DATA1__GPIO2_14 */ | ||
1024 | [710] = IMX_PIN_REG(MX35_PAD_ATA_DATA1, 0x6e4, 0x280, 6, 0x0, 0), /* MX35_PAD_ATA_DATA1__IPU_DIAGB_8 */ | ||
1025 | [711] = IMX_PIN_REG(MX35_PAD_ATA_DATA1, 0x6e4, 0x280, 7, 0x0, 0), /* MX35_PAD_ATA_DATA1__ARM11P_TOP_TRACE_27 */ | ||
1026 | [712] = IMX_PIN_REG(MX35_PAD_ATA_DATA2, 0x6e8, 0x284, 0, 0x0, 0), /* MX35_PAD_ATA_DATA2__ATA_DATA_2 */ | ||
1027 | [713] = IMX_PIN_REG(MX35_PAD_ATA_DATA2, 0x6e8, 0x284, 1, 0x0, 0), /* MX35_PAD_ATA_DATA2__ESDHC3_DAT7 */ | ||
1028 | [714] = IMX_PIN_REG(MX35_PAD_ATA_DATA2, 0x6e8, 0x284, 2, 0x9b4, 1), /* MX35_PAD_ATA_DATA2__USB_TOP_USBOTG_DATA_4 */ | ||
1029 | [715] = IMX_PIN_REG(MX35_PAD_ATA_DATA2, 0x6e8, 0x284, 3, 0x0, 0), /* MX35_PAD_ATA_DATA2__IPU_DISPB_SER_RS */ | ||
1030 | [716] = IMX_PIN_REG(MX35_PAD_ATA_DATA2, 0x6e8, 0x284, 4, 0x0, 0), /* MX35_PAD_ATA_DATA2__ESDHC2_DAT7 */ | ||
1031 | [717] = IMX_PIN_REG(MX35_PAD_ATA_DATA2, 0x6e8, 0x284, 5, 0x880, 1), /* MX35_PAD_ATA_DATA2__GPIO2_15 */ | ||
1032 | [718] = IMX_PIN_REG(MX35_PAD_ATA_DATA2, 0x6e8, 0x284, 6, 0x0, 0), /* MX35_PAD_ATA_DATA2__IPU_DIAGB_9 */ | ||
1033 | [719] = IMX_PIN_REG(MX35_PAD_ATA_DATA2, 0x6e8, 0x284, 7, 0x0, 0), /* MX35_PAD_ATA_DATA2__ARM11P_TOP_TRACE_28 */ | ||
1034 | [720] = IMX_PIN_REG(MX35_PAD_ATA_DATA3, 0x6ec, 0x288, 0, 0x0, 0), /* MX35_PAD_ATA_DATA3__ATA_DATA_3 */ | ||
1035 | [721] = IMX_PIN_REG(MX35_PAD_ATA_DATA3, 0x6ec, 0x288, 1, 0x814, 1), /* MX35_PAD_ATA_DATA3__ESDHC3_CLK */ | ||
1036 | [722] = IMX_PIN_REG(MX35_PAD_ATA_DATA3, 0x6ec, 0x288, 2, 0x9b8, 1), /* MX35_PAD_ATA_DATA3__USB_TOP_USBOTG_DATA_5 */ | ||
1037 | [723] = IMX_PIN_REG(MX35_PAD_ATA_DATA3, 0x6ec, 0x288, 4, 0x7e0, 2), /* MX35_PAD_ATA_DATA3__CSPI2_SCLK */ | ||
1038 | [724] = IMX_PIN_REG(MX35_PAD_ATA_DATA3, 0x6ec, 0x288, 5, 0x884, 1), /* MX35_PAD_ATA_DATA3__GPIO2_16 */ | ||
1039 | [725] = IMX_PIN_REG(MX35_PAD_ATA_DATA3, 0x6ec, 0x288, 6, 0x0, 0), /* MX35_PAD_ATA_DATA3__IPU_DIAGB_10 */ | ||
1040 | [726] = IMX_PIN_REG(MX35_PAD_ATA_DATA3, 0x6ec, 0x288, 7, 0x0, 0), /* MX35_PAD_ATA_DATA3__ARM11P_TOP_TRACE_29 */ | ||
1041 | [727] = IMX_PIN_REG(MX35_PAD_ATA_DATA4, 0x6f0, 0x28c, 0, 0x0, 0), /* MX35_PAD_ATA_DATA4__ATA_DATA_4 */ | ||
1042 | [728] = IMX_PIN_REG(MX35_PAD_ATA_DATA4, 0x6f0, 0x28c, 1, 0x818, 1), /* MX35_PAD_ATA_DATA4__ESDHC3_CMD */ | ||
1043 | [729] = IMX_PIN_REG(MX35_PAD_ATA_DATA4, 0x6f0, 0x28c, 2, 0x9bc, 1), /* MX35_PAD_ATA_DATA4__USB_TOP_USBOTG_DATA_6 */ | ||
1044 | [730] = IMX_PIN_REG(MX35_PAD_ATA_DATA4, 0x6f0, 0x28c, 5, 0x888, 1), /* MX35_PAD_ATA_DATA4__GPIO2_17 */ | ||
1045 | [731] = IMX_PIN_REG(MX35_PAD_ATA_DATA4, 0x6f0, 0x28c, 6, 0x0, 0), /* MX35_PAD_ATA_DATA4__IPU_DIAGB_11 */ | ||
1046 | [732] = IMX_PIN_REG(MX35_PAD_ATA_DATA4, 0x6f0, 0x28c, 7, 0x0, 0), /* MX35_PAD_ATA_DATA4__ARM11P_TOP_TRACE_30 */ | ||
1047 | [733] = IMX_PIN_REG(MX35_PAD_ATA_DATA5, 0x6f4, 0x290, 0, 0x0, 0), /* MX35_PAD_ATA_DATA5__ATA_DATA_5 */ | ||
1048 | [734] = IMX_PIN_REG(MX35_PAD_ATA_DATA5, 0x6f4, 0x290, 2, 0x9c0, 1), /* MX35_PAD_ATA_DATA5__USB_TOP_USBOTG_DATA_7 */ | ||
1049 | [735] = IMX_PIN_REG(MX35_PAD_ATA_DATA5, 0x6f4, 0x290, 5, 0x88c, 1), /* MX35_PAD_ATA_DATA5__GPIO2_18 */ | ||
1050 | [736] = IMX_PIN_REG(MX35_PAD_ATA_DATA5, 0x6f4, 0x290, 6, 0x0, 0), /* MX35_PAD_ATA_DATA5__IPU_DIAGB_12 */ | ||
1051 | [737] = IMX_PIN_REG(MX35_PAD_ATA_DATA5, 0x6f4, 0x290, 7, 0x0, 0), /* MX35_PAD_ATA_DATA5__ARM11P_TOP_TRACE_31 */ | ||
1052 | [738] = IMX_PIN_REG(MX35_PAD_ATA_DATA6, 0x6f8, 0x294, 0, 0x0, 0), /* MX35_PAD_ATA_DATA6__ATA_DATA_6 */ | ||
1053 | [739] = IMX_PIN_REG(MX35_PAD_ATA_DATA6, 0x6f8, 0x294, 1, 0x0, 0), /* MX35_PAD_ATA_DATA6__CAN1_TXCAN */ | ||
1054 | [740] = IMX_PIN_REG(MX35_PAD_ATA_DATA6, 0x6f8, 0x294, 2, 0x0, 0), /* MX35_PAD_ATA_DATA6__UART1_DTR */ | ||
1055 | [741] = IMX_PIN_REG(MX35_PAD_ATA_DATA6, 0x6f8, 0x294, 3, 0x7b4, 0), /* MX35_PAD_ATA_DATA6__AUDMUX_AUD6_TXD */ | ||
1056 | [742] = IMX_PIN_REG(MX35_PAD_ATA_DATA6, 0x6f8, 0x294, 5, 0x890, 1), /* MX35_PAD_ATA_DATA6__GPIO2_19 */ | ||
1057 | [743] = IMX_PIN_REG(MX35_PAD_ATA_DATA6, 0x6f8, 0x294, 6, 0x0, 0), /* MX35_PAD_ATA_DATA6__IPU_DIAGB_13 */ | ||
1058 | [744] = IMX_PIN_REG(MX35_PAD_ATA_DATA7, 0x6fc, 0x298, 0, 0x0, 0), /* MX35_PAD_ATA_DATA7__ATA_DATA_7 */ | ||
1059 | [745] = IMX_PIN_REG(MX35_PAD_ATA_DATA7, 0x6fc, 0x298, 1, 0x7c8, 2), /* MX35_PAD_ATA_DATA7__CAN1_RXCAN */ | ||
1060 | [746] = IMX_PIN_REG(MX35_PAD_ATA_DATA7, 0x6fc, 0x298, 2, 0x0, 0), /* MX35_PAD_ATA_DATA7__UART1_DSR */ | ||
1061 | [747] = IMX_PIN_REG(MX35_PAD_ATA_DATA7, 0x6fc, 0x298, 3, 0x7b0, 0), /* MX35_PAD_ATA_DATA7__AUDMUX_AUD6_RXD */ | ||
1062 | [748] = IMX_PIN_REG(MX35_PAD_ATA_DATA7, 0x6fc, 0x298, 5, 0x898, 1), /* MX35_PAD_ATA_DATA7__GPIO2_20 */ | ||
1063 | [749] = IMX_PIN_REG(MX35_PAD_ATA_DATA7, 0x6fc, 0x298, 6, 0x0, 0), /* MX35_PAD_ATA_DATA7__IPU_DIAGB_14 */ | ||
1064 | [750] = IMX_PIN_REG(MX35_PAD_ATA_DATA8, 0x700, 0x29c, 0, 0x0, 0), /* MX35_PAD_ATA_DATA8__ATA_DATA_8 */ | ||
1065 | [751] = IMX_PIN_REG(MX35_PAD_ATA_DATA8, 0x700, 0x29c, 1, 0x99c, 1), /* MX35_PAD_ATA_DATA8__UART3_RTS */ | ||
1066 | [752] = IMX_PIN_REG(MX35_PAD_ATA_DATA8, 0x700, 0x29c, 2, 0x0, 0), /* MX35_PAD_ATA_DATA8__UART1_RI */ | ||
1067 | [753] = IMX_PIN_REG(MX35_PAD_ATA_DATA8, 0x700, 0x29c, 3, 0x7c0, 0), /* MX35_PAD_ATA_DATA8__AUDMUX_AUD6_TXC */ | ||
1068 | [754] = IMX_PIN_REG(MX35_PAD_ATA_DATA8, 0x700, 0x29c, 5, 0x89c, 1), /* MX35_PAD_ATA_DATA8__GPIO2_21 */ | ||
1069 | [755] = IMX_PIN_REG(MX35_PAD_ATA_DATA8, 0x700, 0x29c, 6, 0x0, 0), /* MX35_PAD_ATA_DATA8__IPU_DIAGB_15 */ | ||
1070 | [756] = IMX_PIN_REG(MX35_PAD_ATA_DATA9, 0x704, 0x2a0, 0, 0x0, 0), /* MX35_PAD_ATA_DATA9__ATA_DATA_9 */ | ||
1071 | [757] = IMX_PIN_REG(MX35_PAD_ATA_DATA9, 0x704, 0x2a0, 1, 0x0, 0), /* MX35_PAD_ATA_DATA9__UART3_CTS */ | ||
1072 | [758] = IMX_PIN_REG(MX35_PAD_ATA_DATA9, 0x704, 0x2a0, 2, 0x0, 0), /* MX35_PAD_ATA_DATA9__UART1_DCD */ | ||
1073 | [759] = IMX_PIN_REG(MX35_PAD_ATA_DATA9, 0x704, 0x2a0, 3, 0x7c4, 0), /* MX35_PAD_ATA_DATA9__AUDMUX_AUD6_TXFS */ | ||
1074 | [760] = IMX_PIN_REG(MX35_PAD_ATA_DATA9, 0x704, 0x2a0, 5, 0x8a0, 1), /* MX35_PAD_ATA_DATA9__GPIO2_22 */ | ||
1075 | [761] = IMX_PIN_REG(MX35_PAD_ATA_DATA9, 0x704, 0x2a0, 6, 0x0, 0), /* MX35_PAD_ATA_DATA9__IPU_DIAGB_16 */ | ||
1076 | [762] = IMX_PIN_REG(MX35_PAD_ATA_DATA10, 0x708, 0x2a4, 0, 0x0, 0), /* MX35_PAD_ATA_DATA10__ATA_DATA_10 */ | ||
1077 | [763] = IMX_PIN_REG(MX35_PAD_ATA_DATA10, 0x708, 0x2a4, 1, 0x9a0, 2), /* MX35_PAD_ATA_DATA10__UART3_RXD_MUX */ | ||
1078 | [764] = IMX_PIN_REG(MX35_PAD_ATA_DATA10, 0x708, 0x2a4, 3, 0x7b8, 0), /* MX35_PAD_ATA_DATA10__AUDMUX_AUD6_RXC */ | ||
1079 | [765] = IMX_PIN_REG(MX35_PAD_ATA_DATA10, 0x708, 0x2a4, 5, 0x8a4, 1), /* MX35_PAD_ATA_DATA10__GPIO2_23 */ | ||
1080 | [766] = IMX_PIN_REG(MX35_PAD_ATA_DATA10, 0x708, 0x2a4, 6, 0x0, 0), /* MX35_PAD_ATA_DATA10__IPU_DIAGB_17 */ | ||
1081 | [767] = IMX_PIN_REG(MX35_PAD_ATA_DATA11, 0x70c, 0x2a8, 0, 0x0, 0), /* MX35_PAD_ATA_DATA11__ATA_DATA_11 */ | ||
1082 | [768] = IMX_PIN_REG(MX35_PAD_ATA_DATA11, 0x70c, 0x2a8, 1, 0x0, 0), /* MX35_PAD_ATA_DATA11__UART3_TXD_MUX */ | ||
1083 | [769] = IMX_PIN_REG(MX35_PAD_ATA_DATA11, 0x70c, 0x2a8, 3, 0x7bc, 0), /* MX35_PAD_ATA_DATA11__AUDMUX_AUD6_RXFS */ | ||
1084 | [770] = IMX_PIN_REG(MX35_PAD_ATA_DATA11, 0x70c, 0x2a8, 5, 0x8a8, 1), /* MX35_PAD_ATA_DATA11__GPIO2_24 */ | ||
1085 | [771] = IMX_PIN_REG(MX35_PAD_ATA_DATA11, 0x70c, 0x2a8, 6, 0x0, 0), /* MX35_PAD_ATA_DATA11__IPU_DIAGB_18 */ | ||
1086 | [772] = IMX_PIN_REG(MX35_PAD_ATA_DATA12, 0x710, 0x2ac, 0, 0x0, 0), /* MX35_PAD_ATA_DATA12__ATA_DATA_12 */ | ||
1087 | [773] = IMX_PIN_REG(MX35_PAD_ATA_DATA12, 0x710, 0x2ac, 1, 0x91c, 3), /* MX35_PAD_ATA_DATA12__I2C3_SCL */ | ||
1088 | [774] = IMX_PIN_REG(MX35_PAD_ATA_DATA12, 0x710, 0x2ac, 5, 0x8ac, 1), /* MX35_PAD_ATA_DATA12__GPIO2_25 */ | ||
1089 | [775] = IMX_PIN_REG(MX35_PAD_ATA_DATA12, 0x710, 0x2ac, 6, 0x0, 0), /* MX35_PAD_ATA_DATA12__IPU_DIAGB_19 */ | ||
1090 | [776] = IMX_PIN_REG(MX35_PAD_ATA_DATA13, 0x714, 0x2b0, 0, 0x0, 0), /* MX35_PAD_ATA_DATA13__ATA_DATA_13 */ | ||
1091 | [777] = IMX_PIN_REG(MX35_PAD_ATA_DATA13, 0x714, 0x2b0, 1, 0x920, 3), /* MX35_PAD_ATA_DATA13__I2C3_SDA */ | ||
1092 | [778] = IMX_PIN_REG(MX35_PAD_ATA_DATA13, 0x714, 0x2b0, 5, 0x8b0, 1), /* MX35_PAD_ATA_DATA13__GPIO2_26 */ | ||
1093 | [779] = IMX_PIN_REG(MX35_PAD_ATA_DATA13, 0x714, 0x2b0, 6, 0x0, 0), /* MX35_PAD_ATA_DATA13__IPU_DIAGB_20 */ | ||
1094 | [780] = IMX_PIN_REG(MX35_PAD_ATA_DATA14, 0x718, 0x2b4, 0, 0x0, 0), /* MX35_PAD_ATA_DATA14__ATA_DATA_14 */ | ||
1095 | [781] = IMX_PIN_REG(MX35_PAD_ATA_DATA14, 0x718, 0x2b4, 1, 0x930, 2), /* MX35_PAD_ATA_DATA14__IPU_CSI_D_0 */ | ||
1096 | [782] = IMX_PIN_REG(MX35_PAD_ATA_DATA14, 0x718, 0x2b4, 3, 0x970, 2), /* MX35_PAD_ATA_DATA14__KPP_ROW_0 */ | ||
1097 | [783] = IMX_PIN_REG(MX35_PAD_ATA_DATA14, 0x718, 0x2b4, 5, 0x8b4, 1), /* MX35_PAD_ATA_DATA14__GPIO2_27 */ | ||
1098 | [784] = IMX_PIN_REG(MX35_PAD_ATA_DATA14, 0x718, 0x2b4, 6, 0x0, 0), /* MX35_PAD_ATA_DATA14__IPU_DIAGB_21 */ | ||
1099 | [785] = IMX_PIN_REG(MX35_PAD_ATA_DATA15, 0x71c, 0x2b8, 0, 0x0, 0), /* MX35_PAD_ATA_DATA15__ATA_DATA_15 */ | ||
1100 | [786] = IMX_PIN_REG(MX35_PAD_ATA_DATA15, 0x71c, 0x2b8, 1, 0x934, 2), /* MX35_PAD_ATA_DATA15__IPU_CSI_D_1 */ | ||
1101 | [787] = IMX_PIN_REG(MX35_PAD_ATA_DATA15, 0x71c, 0x2b8, 3, 0x974, 2), /* MX35_PAD_ATA_DATA15__KPP_ROW_1 */ | ||
1102 | [788] = IMX_PIN_REG(MX35_PAD_ATA_DATA15, 0x71c, 0x2b8, 5, 0x8b8, 1), /* MX35_PAD_ATA_DATA15__GPIO2_28 */ | ||
1103 | [789] = IMX_PIN_REG(MX35_PAD_ATA_DATA15, 0x71c, 0x2b8, 6, 0x0, 0), /* MX35_PAD_ATA_DATA15__IPU_DIAGB_22 */ | ||
1104 | [790] = IMX_PIN_REG(MX35_PAD_ATA_INTRQ, 0x720, 0x2bc, 0, 0x0, 0), /* MX35_PAD_ATA_INTRQ__ATA_INTRQ */ | ||
1105 | [791] = IMX_PIN_REG(MX35_PAD_ATA_INTRQ, 0x720, 0x2bc, 1, 0x938, 3), /* MX35_PAD_ATA_INTRQ__IPU_CSI_D_2 */ | ||
1106 | [792] = IMX_PIN_REG(MX35_PAD_ATA_INTRQ, 0x720, 0x2bc, 3, 0x978, 2), /* MX35_PAD_ATA_INTRQ__KPP_ROW_2 */ | ||
1107 | [793] = IMX_PIN_REG(MX35_PAD_ATA_INTRQ, 0x720, 0x2bc, 5, 0x8bc, 1), /* MX35_PAD_ATA_INTRQ__GPIO2_29 */ | ||
1108 | [794] = IMX_PIN_REG(MX35_PAD_ATA_INTRQ, 0x720, 0x2bc, 6, 0x0, 0), /* MX35_PAD_ATA_INTRQ__IPU_DIAGB_23 */ | ||
1109 | [795] = IMX_PIN_REG(MX35_PAD_ATA_BUFF_EN, 0x724, 0x2c0, 0, 0x0, 0), /* MX35_PAD_ATA_BUFF_EN__ATA_BUFFER_EN */ | ||
1110 | [796] = IMX_PIN_REG(MX35_PAD_ATA_BUFF_EN, 0x724, 0x2c0, 1, 0x93c, 3), /* MX35_PAD_ATA_BUFF_EN__IPU_CSI_D_3 */ | ||
1111 | [797] = IMX_PIN_REG(MX35_PAD_ATA_BUFF_EN, 0x724, 0x2c0, 3, 0x97c, 2), /* MX35_PAD_ATA_BUFF_EN__KPP_ROW_3 */ | ||
1112 | [798] = IMX_PIN_REG(MX35_PAD_ATA_BUFF_EN, 0x724, 0x2c0, 5, 0x8c4, 1), /* MX35_PAD_ATA_BUFF_EN__GPIO2_30 */ | ||
1113 | [799] = IMX_PIN_REG(MX35_PAD_ATA_BUFF_EN, 0x724, 0x2c0, 6, 0x0, 0), /* MX35_PAD_ATA_BUFF_EN__IPU_DIAGB_24 */ | ||
1114 | [800] = IMX_PIN_REG(MX35_PAD_ATA_DMARQ, 0x728, 0x2c4, 0, 0x0, 0), /* MX35_PAD_ATA_DMARQ__ATA_DMARQ */ | ||
1115 | [801] = IMX_PIN_REG(MX35_PAD_ATA_DMARQ, 0x728, 0x2c4, 1, 0x940, 2), /* MX35_PAD_ATA_DMARQ__IPU_CSI_D_4 */ | ||
1116 | [802] = IMX_PIN_REG(MX35_PAD_ATA_DMARQ, 0x728, 0x2c4, 3, 0x950, 2), /* MX35_PAD_ATA_DMARQ__KPP_COL_0 */ | ||
1117 | [803] = IMX_PIN_REG(MX35_PAD_ATA_DMARQ, 0x728, 0x2c4, 5, 0x8c8, 1), /* MX35_PAD_ATA_DMARQ__GPIO2_31 */ | ||
1118 | [804] = IMX_PIN_REG(MX35_PAD_ATA_DMARQ, 0x728, 0x2c4, 6, 0x0, 0), /* MX35_PAD_ATA_DMARQ__IPU_DIAGB_25 */ | ||
1119 | [805] = IMX_PIN_REG(MX35_PAD_ATA_DMARQ, 0x728, 0x2c4, 7, 0x0, 0), /* MX35_PAD_ATA_DMARQ__ECT_CTI_TRIG_IN1_4 */ | ||
1120 | [806] = IMX_PIN_REG(MX35_PAD_ATA_DA0, 0x72c, 0x2c8, 0, 0x0, 0), /* MX35_PAD_ATA_DA0__ATA_DA_0 */ | ||
1121 | [807] = IMX_PIN_REG(MX35_PAD_ATA_DA0, 0x72c, 0x2c8, 1, 0x944, 2), /* MX35_PAD_ATA_DA0__IPU_CSI_D_5 */ | ||
1122 | [808] = IMX_PIN_REG(MX35_PAD_ATA_DA0, 0x72c, 0x2c8, 3, 0x954, 2), /* MX35_PAD_ATA_DA0__KPP_COL_1 */ | ||
1123 | [809] = IMX_PIN_REG(MX35_PAD_ATA_DA0, 0x72c, 0x2c8, 5, 0x8e8, 1), /* MX35_PAD_ATA_DA0__GPIO3_0 */ | ||
1124 | [810] = IMX_PIN_REG(MX35_PAD_ATA_DA0, 0x72c, 0x2c8, 6, 0x0, 0), /* MX35_PAD_ATA_DA0__IPU_DIAGB_26 */ | ||
1125 | [811] = IMX_PIN_REG(MX35_PAD_ATA_DA0, 0x72c, 0x2c8, 7, 0x0, 0), /* MX35_PAD_ATA_DA0__ECT_CTI_TRIG_IN1_5 */ | ||
1126 | [812] = IMX_PIN_REG(MX35_PAD_ATA_DA1, 0x730, 0x2cc, 0, 0x0, 0), /* MX35_PAD_ATA_DA1__ATA_DA_1 */ | ||
1127 | [813] = IMX_PIN_REG(MX35_PAD_ATA_DA1, 0x730, 0x2cc, 1, 0x948, 2), /* MX35_PAD_ATA_DA1__IPU_CSI_D_6 */ | ||
1128 | [814] = IMX_PIN_REG(MX35_PAD_ATA_DA1, 0x730, 0x2cc, 3, 0x958, 2), /* MX35_PAD_ATA_DA1__KPP_COL_2 */ | ||
1129 | [815] = IMX_PIN_REG(MX35_PAD_ATA_DA1, 0x730, 0x2cc, 5, 0x0, 0), /* MX35_PAD_ATA_DA1__GPIO3_1 */ | ||
1130 | [816] = IMX_PIN_REG(MX35_PAD_ATA_DA1, 0x730, 0x2cc, 6, 0x0, 0), /* MX35_PAD_ATA_DA1__IPU_DIAGB_27 */ | ||
1131 | [817] = IMX_PIN_REG(MX35_PAD_ATA_DA1, 0x730, 0x2cc, 7, 0x0, 0), /* MX35_PAD_ATA_DA1__ECT_CTI_TRIG_IN1_6 */ | ||
1132 | [818] = IMX_PIN_REG(MX35_PAD_ATA_DA2, 0x734, 0x2d0, 0, 0x0, 0), /* MX35_PAD_ATA_DA2__ATA_DA_2 */ | ||
1133 | [819] = IMX_PIN_REG(MX35_PAD_ATA_DA2, 0x734, 0x2d0, 1, 0x94c, 2), /* MX35_PAD_ATA_DA2__IPU_CSI_D_7 */ | ||
1134 | [820] = IMX_PIN_REG(MX35_PAD_ATA_DA2, 0x734, 0x2d0, 3, 0x95c, 2), /* MX35_PAD_ATA_DA2__KPP_COL_3 */ | ||
1135 | [821] = IMX_PIN_REG(MX35_PAD_ATA_DA2, 0x734, 0x2d0, 5, 0x0, 0), /* MX35_PAD_ATA_DA2__GPIO3_2 */ | ||
1136 | [822] = IMX_PIN_REG(MX35_PAD_ATA_DA2, 0x734, 0x2d0, 6, 0x0, 0), /* MX35_PAD_ATA_DA2__IPU_DIAGB_28 */ | ||
1137 | [823] = IMX_PIN_REG(MX35_PAD_ATA_DA2, 0x734, 0x2d0, 7, 0x0, 0), /* MX35_PAD_ATA_DA2__ECT_CTI_TRIG_IN1_7 */ | ||
1138 | [824] = IMX_PIN_REG(MX35_PAD_MLB_CLK, 0x738, 0x2d4, 0, 0x0, 0), /* MX35_PAD_MLB_CLK__MLB_MLBCLK */ | ||
1139 | [825] = IMX_PIN_REG(MX35_PAD_MLB_CLK, 0x738, 0x2d4, 5, 0x0, 0), /* MX35_PAD_MLB_CLK__GPIO3_3 */ | ||
1140 | [826] = IMX_PIN_REG(MX35_PAD_MLB_DAT, 0x73c, 0x2d8, 0, 0x0, 0), /* MX35_PAD_MLB_DAT__MLB_MLBDAT */ | ||
1141 | [827] = IMX_PIN_REG(MX35_PAD_MLB_DAT, 0x73c, 0x2d8, 5, 0x904, 1), /* MX35_PAD_MLB_DAT__GPIO3_4 */ | ||
1142 | [828] = IMX_PIN_REG(MX35_PAD_MLB_SIG, 0x740, 0x2dc, 0, 0x0, 0), /* MX35_PAD_MLB_SIG__MLB_MLBSIG */ | ||
1143 | [829] = IMX_PIN_REG(MX35_PAD_MLB_SIG, 0x740, 0x2dc, 5, 0x908, 1), /* MX35_PAD_MLB_SIG__GPIO3_5 */ | ||
1144 | [830] = IMX_PIN_REG(MX35_PAD_FEC_TX_CLK, 0x744, 0x2e0, 0, 0x0, 0), /* MX35_PAD_FEC_TX_CLK__FEC_TX_CLK */ | ||
1145 | [831] = IMX_PIN_REG(MX35_PAD_FEC_TX_CLK, 0x744, 0x2e0, 1, 0x804, 1), /* MX35_PAD_FEC_TX_CLK__ESDHC1_DAT4 */ | ||
1146 | [832] = IMX_PIN_REG(MX35_PAD_FEC_TX_CLK, 0x744, 0x2e0, 2, 0x9a0, 3), /* MX35_PAD_FEC_TX_CLK__UART3_RXD_MUX */ | ||
1147 | [833] = IMX_PIN_REG(MX35_PAD_FEC_TX_CLK, 0x744, 0x2e0, 3, 0x9ec, 1), /* MX35_PAD_FEC_TX_CLK__USB_TOP_USBH2_DIR */ | ||
1148 | [834] = IMX_PIN_REG(MX35_PAD_FEC_TX_CLK, 0x744, 0x2e0, 4, 0x7ec, 3), /* MX35_PAD_FEC_TX_CLK__CSPI2_MOSI */ | ||
1149 | [835] = IMX_PIN_REG(MX35_PAD_FEC_TX_CLK, 0x744, 0x2e0, 5, 0x90c, 1), /* MX35_PAD_FEC_TX_CLK__GPIO3_6 */ | ||
1150 | [836] = IMX_PIN_REG(MX35_PAD_FEC_TX_CLK, 0x744, 0x2e0, 6, 0x928, 5), /* MX35_PAD_FEC_TX_CLK__IPU_DISPB_D12_VSYNC */ | ||
1151 | [837] = IMX_PIN_REG(MX35_PAD_FEC_TX_CLK, 0x744, 0x2e0, 7, 0x0, 0), /* MX35_PAD_FEC_TX_CLK__ARM11P_TOP_EVNTBUS_0 */ | ||
1152 | [838] = IMX_PIN_REG(MX35_PAD_FEC_RX_CLK, 0x748, 0x2e4, 0, 0x0, 0), /* MX35_PAD_FEC_RX_CLK__FEC_RX_CLK */ | ||
1153 | [839] = IMX_PIN_REG(MX35_PAD_FEC_RX_CLK, 0x748, 0x2e4, 1, 0x808, 1), /* MX35_PAD_FEC_RX_CLK__ESDHC1_DAT5 */ | ||
1154 | [840] = IMX_PIN_REG(MX35_PAD_FEC_RX_CLK, 0x748, 0x2e4, 2, 0x0, 0), /* MX35_PAD_FEC_RX_CLK__UART3_TXD_MUX */ | ||
1155 | [841] = IMX_PIN_REG(MX35_PAD_FEC_RX_CLK, 0x748, 0x2e4, 3, 0x0, 0), /* MX35_PAD_FEC_RX_CLK__USB_TOP_USBH2_STP */ | ||
1156 | [842] = IMX_PIN_REG(MX35_PAD_FEC_RX_CLK, 0x748, 0x2e4, 4, 0x7e8, 3), /* MX35_PAD_FEC_RX_CLK__CSPI2_MISO */ | ||
1157 | [843] = IMX_PIN_REG(MX35_PAD_FEC_RX_CLK, 0x748, 0x2e4, 5, 0x910, 1), /* MX35_PAD_FEC_RX_CLK__GPIO3_7 */ | ||
1158 | [844] = IMX_PIN_REG(MX35_PAD_FEC_RX_CLK, 0x748, 0x2e4, 6, 0x92c, 4), /* MX35_PAD_FEC_RX_CLK__IPU_DISPB_SD_D_I */ | ||
1159 | [845] = IMX_PIN_REG(MX35_PAD_FEC_RX_CLK, 0x748, 0x2e4, 7, 0x0, 0), /* MX35_PAD_FEC_RX_CLK__ARM11P_TOP_EVNTBUS_1 */ | ||
1160 | [846] = IMX_PIN_REG(MX35_PAD_FEC_RX_DV, 0x74c, 0x2e8, 0, 0x0, 0), /* MX35_PAD_FEC_RX_DV__FEC_RX_DV */ | ||
1161 | [847] = IMX_PIN_REG(MX35_PAD_FEC_RX_DV, 0x74c, 0x2e8, 1, 0x80c, 1), /* MX35_PAD_FEC_RX_DV__ESDHC1_DAT6 */ | ||
1162 | [848] = IMX_PIN_REG(MX35_PAD_FEC_RX_DV, 0x74c, 0x2e8, 2, 0x99c, 2), /* MX35_PAD_FEC_RX_DV__UART3_RTS */ | ||
1163 | [849] = IMX_PIN_REG(MX35_PAD_FEC_RX_DV, 0x74c, 0x2e8, 3, 0x9f0, 1), /* MX35_PAD_FEC_RX_DV__USB_TOP_USBH2_NXT */ | ||
1164 | [850] = IMX_PIN_REG(MX35_PAD_FEC_RX_DV, 0x74c, 0x2e8, 4, 0x7e0, 3), /* MX35_PAD_FEC_RX_DV__CSPI2_SCLK */ | ||
1165 | [851] = IMX_PIN_REG(MX35_PAD_FEC_RX_DV, 0x74c, 0x2e8, 5, 0x914, 1), /* MX35_PAD_FEC_RX_DV__GPIO3_8 */ | ||
1166 | [852] = IMX_PIN_REG(MX35_PAD_FEC_RX_DV, 0x74c, 0x2e8, 6, 0x0, 0), /* MX35_PAD_FEC_RX_DV__IPU_DISPB_SD_CLK */ | ||
1167 | [853] = IMX_PIN_REG(MX35_PAD_FEC_RX_DV, 0x74c, 0x2e8, 7, 0x0, 0), /* MX35_PAD_FEC_RX_DV__ARM11P_TOP_EVNTBUS_2 */ | ||
1168 | [854] = IMX_PIN_REG(MX35_PAD_FEC_COL, 0x750, 0x2ec, 0, 0x0, 0), /* MX35_PAD_FEC_COL__FEC_COL */ | ||
1169 | [855] = IMX_PIN_REG(MX35_PAD_FEC_COL, 0x750, 0x2ec, 1, 0x810, 1), /* MX35_PAD_FEC_COL__ESDHC1_DAT7 */ | ||
1170 | [856] = IMX_PIN_REG(MX35_PAD_FEC_COL, 0x750, 0x2ec, 2, 0x0, 0), /* MX35_PAD_FEC_COL__UART3_CTS */ | ||
1171 | [857] = IMX_PIN_REG(MX35_PAD_FEC_COL, 0x750, 0x2ec, 3, 0x9cc, 1), /* MX35_PAD_FEC_COL__USB_TOP_USBH2_DATA_0 */ | ||
1172 | [858] = IMX_PIN_REG(MX35_PAD_FEC_COL, 0x750, 0x2ec, 4, 0x7e4, 3), /* MX35_PAD_FEC_COL__CSPI2_RDY */ | ||
1173 | [859] = IMX_PIN_REG(MX35_PAD_FEC_COL, 0x750, 0x2ec, 5, 0x918, 1), /* MX35_PAD_FEC_COL__GPIO3_9 */ | ||
1174 | [860] = IMX_PIN_REG(MX35_PAD_FEC_COL, 0x750, 0x2ec, 6, 0x0, 0), /* MX35_PAD_FEC_COL__IPU_DISPB_SER_RS */ | ||
1175 | [861] = IMX_PIN_REG(MX35_PAD_FEC_COL, 0x750, 0x2ec, 7, 0x0, 0), /* MX35_PAD_FEC_COL__ARM11P_TOP_EVNTBUS_3 */ | ||
1176 | [862] = IMX_PIN_REG(MX35_PAD_FEC_RDATA0, 0x754, 0x2f0, 0, 0x0, 0), /* MX35_PAD_FEC_RDATA0__FEC_RDATA_0 */ | ||
1177 | [863] = IMX_PIN_REG(MX35_PAD_FEC_RDATA0, 0x754, 0x2f0, 1, 0x0, 0), /* MX35_PAD_FEC_RDATA0__PWM_PWMO */ | ||
1178 | [864] = IMX_PIN_REG(MX35_PAD_FEC_RDATA0, 0x754, 0x2f0, 2, 0x0, 0), /* MX35_PAD_FEC_RDATA0__UART3_DTR */ | ||
1179 | [865] = IMX_PIN_REG(MX35_PAD_FEC_RDATA0, 0x754, 0x2f0, 3, 0x9d0, 1), /* MX35_PAD_FEC_RDATA0__USB_TOP_USBH2_DATA_1 */ | ||
1180 | [866] = IMX_PIN_REG(MX35_PAD_FEC_RDATA0, 0x754, 0x2f0, 4, 0x7f0, 2), /* MX35_PAD_FEC_RDATA0__CSPI2_SS0 */ | ||
1181 | [867] = IMX_PIN_REG(MX35_PAD_FEC_RDATA0, 0x754, 0x2f0, 5, 0x8ec, 1), /* MX35_PAD_FEC_RDATA0__GPIO3_10 */ | ||
1182 | [868] = IMX_PIN_REG(MX35_PAD_FEC_RDATA0, 0x754, 0x2f0, 6, 0x0, 0), /* MX35_PAD_FEC_RDATA0__IPU_DISPB_CS1 */ | ||
1183 | [869] = IMX_PIN_REG(MX35_PAD_FEC_RDATA0, 0x754, 0x2f0, 7, 0x0, 0), /* MX35_PAD_FEC_RDATA0__ARM11P_TOP_EVNTBUS_4 */ | ||
1184 | [870] = IMX_PIN_REG(MX35_PAD_FEC_TDATA0, 0x758, 0x2f4, 0, 0x0, 0), /* MX35_PAD_FEC_TDATA0__FEC_TDATA_0 */ | ||
1185 | [871] = IMX_PIN_REG(MX35_PAD_FEC_TDATA0, 0x758, 0x2f4, 1, 0x0, 0), /* MX35_PAD_FEC_TDATA0__SPDIF_SPDIF_OUT1 */ | ||
1186 | [872] = IMX_PIN_REG(MX35_PAD_FEC_TDATA0, 0x758, 0x2f4, 2, 0x0, 0), /* MX35_PAD_FEC_TDATA0__UART3_DSR */ | ||
1187 | [873] = IMX_PIN_REG(MX35_PAD_FEC_TDATA0, 0x758, 0x2f4, 3, 0x9d4, 1), /* MX35_PAD_FEC_TDATA0__USB_TOP_USBH2_DATA_2 */ | ||
1188 | [874] = IMX_PIN_REG(MX35_PAD_FEC_TDATA0, 0x758, 0x2f4, 4, 0x7f4, 2), /* MX35_PAD_FEC_TDATA0__CSPI2_SS1 */ | ||
1189 | [875] = IMX_PIN_REG(MX35_PAD_FEC_TDATA0, 0x758, 0x2f4, 5, 0x8f0, 1), /* MX35_PAD_FEC_TDATA0__GPIO3_11 */ | ||
1190 | [876] = IMX_PIN_REG(MX35_PAD_FEC_TDATA0, 0x758, 0x2f4, 6, 0x0, 0), /* MX35_PAD_FEC_TDATA0__IPU_DISPB_CS0 */ | ||
1191 | [877] = IMX_PIN_REG(MX35_PAD_FEC_TDATA0, 0x758, 0x2f4, 7, 0x0, 0), /* MX35_PAD_FEC_TDATA0__ARM11P_TOP_EVNTBUS_5 */ | ||
1192 | [878] = IMX_PIN_REG(MX35_PAD_FEC_TX_EN, 0x75c, 0x2f8, 0, 0x0, 0), /* MX35_PAD_FEC_TX_EN__FEC_TX_EN */ | ||
1193 | [879] = IMX_PIN_REG(MX35_PAD_FEC_TX_EN, 0x75c, 0x2f8, 1, 0x998, 3), /* MX35_PAD_FEC_TX_EN__SPDIF_SPDIF_IN1 */ | ||
1194 | [880] = IMX_PIN_REG(MX35_PAD_FEC_TX_EN, 0x75c, 0x2f8, 2, 0x0, 0), /* MX35_PAD_FEC_TX_EN__UART3_RI */ | ||
1195 | [881] = IMX_PIN_REG(MX35_PAD_FEC_TX_EN, 0x75c, 0x2f8, 3, 0x9d8, 1), /* MX35_PAD_FEC_TX_EN__USB_TOP_USBH2_DATA_3 */ | ||
1196 | [882] = IMX_PIN_REG(MX35_PAD_FEC_TX_EN, 0x75c, 0x2f8, 5, 0x8f4, 1), /* MX35_PAD_FEC_TX_EN__GPIO3_12 */ | ||
1197 | [883] = IMX_PIN_REG(MX35_PAD_FEC_TX_EN, 0x75c, 0x2f8, 6, 0x0, 0), /* MX35_PAD_FEC_TX_EN__IPU_DISPB_PAR_RS */ | ||
1198 | [884] = IMX_PIN_REG(MX35_PAD_FEC_TX_EN, 0x75c, 0x2f8, 7, 0x0, 0), /* MX35_PAD_FEC_TX_EN__ARM11P_TOP_EVNTBUS_6 */ | ||
1199 | [885] = IMX_PIN_REG(MX35_PAD_FEC_MDC, 0x760, 0x2fc, 0, 0x0, 0), /* MX35_PAD_FEC_MDC__FEC_MDC */ | ||
1200 | [886] = IMX_PIN_REG(MX35_PAD_FEC_MDC, 0x760, 0x2fc, 1, 0x0, 0), /* MX35_PAD_FEC_MDC__CAN2_TXCAN */ | ||
1201 | [887] = IMX_PIN_REG(MX35_PAD_FEC_MDC, 0x760, 0x2fc, 2, 0x0, 0), /* MX35_PAD_FEC_MDC__UART3_DCD */ | ||
1202 | [888] = IMX_PIN_REG(MX35_PAD_FEC_MDC, 0x760, 0x2fc, 3, 0x9dc, 1), /* MX35_PAD_FEC_MDC__USB_TOP_USBH2_DATA_4 */ | ||
1203 | [889] = IMX_PIN_REG(MX35_PAD_FEC_MDC, 0x760, 0x2fc, 5, 0x8f8, 1), /* MX35_PAD_FEC_MDC__GPIO3_13 */ | ||
1204 | [890] = IMX_PIN_REG(MX35_PAD_FEC_MDC, 0x760, 0x2fc, 6, 0x0, 0), /* MX35_PAD_FEC_MDC__IPU_DISPB_WR */ | ||
1205 | [891] = IMX_PIN_REG(MX35_PAD_FEC_MDC, 0x760, 0x2fc, 7, 0x0, 0), /* MX35_PAD_FEC_MDC__ARM11P_TOP_EVNTBUS_7 */ | ||
1206 | [892] = IMX_PIN_REG(MX35_PAD_FEC_MDIO, 0x764, 0x300, 0, 0x0, 0), /* MX35_PAD_FEC_MDIO__FEC_MDIO */ | ||
1207 | [893] = IMX_PIN_REG(MX35_PAD_FEC_MDIO, 0x764, 0x300, 1, 0x7cc, 2), /* MX35_PAD_FEC_MDIO__CAN2_RXCAN */ | ||
1208 | [894] = IMX_PIN_REG(MX35_PAD_FEC_MDIO, 0x764, 0x300, 3, 0x9e0, 1), /* MX35_PAD_FEC_MDIO__USB_TOP_USBH2_DATA_5 */ | ||
1209 | [895] = IMX_PIN_REG(MX35_PAD_FEC_MDIO, 0x764, 0x300, 5, 0x8fc, 1), /* MX35_PAD_FEC_MDIO__GPIO3_14 */ | ||
1210 | [896] = IMX_PIN_REG(MX35_PAD_FEC_MDIO, 0x764, 0x300, 6, 0x0, 0), /* MX35_PAD_FEC_MDIO__IPU_DISPB_RD */ | ||
1211 | [897] = IMX_PIN_REG(MX35_PAD_FEC_MDIO, 0x764, 0x300, 7, 0x0, 0), /* MX35_PAD_FEC_MDIO__ARM11P_TOP_EVNTBUS_8 */ | ||
1212 | [898] = IMX_PIN_REG(MX35_PAD_FEC_TX_ERR, 0x768, 0x304, 0, 0x0, 0), /* MX35_PAD_FEC_TX_ERR__FEC_TX_ERR */ | ||
1213 | [899] = IMX_PIN_REG(MX35_PAD_FEC_TX_ERR, 0x768, 0x304, 1, 0x990, 2), /* MX35_PAD_FEC_TX_ERR__OWIRE_LINE */ | ||
1214 | [900] = IMX_PIN_REG(MX35_PAD_FEC_TX_ERR, 0x768, 0x304, 2, 0x994, 4), /* MX35_PAD_FEC_TX_ERR__SPDIF_SPDIF_EXTCLK */ | ||
1215 | [901] = IMX_PIN_REG(MX35_PAD_FEC_TX_ERR, 0x768, 0x304, 3, 0x9e4, 1), /* MX35_PAD_FEC_TX_ERR__USB_TOP_USBH2_DATA_6 */ | ||
1216 | [902] = IMX_PIN_REG(MX35_PAD_FEC_TX_ERR, 0x768, 0x304, 5, 0x900, 1), /* MX35_PAD_FEC_TX_ERR__GPIO3_15 */ | ||
1217 | [903] = IMX_PIN_REG(MX35_PAD_FEC_TX_ERR, 0x768, 0x304, 6, 0x924, 3), /* MX35_PAD_FEC_TX_ERR__IPU_DISPB_D0_VSYNC */ | ||
1218 | [904] = IMX_PIN_REG(MX35_PAD_FEC_TX_ERR, 0x768, 0x304, 7, 0x0, 0), /* MX35_PAD_FEC_TX_ERR__ARM11P_TOP_EVNTBUS_9 */ | ||
1219 | [905] = IMX_PIN_REG(MX35_PAD_FEC_RX_ERR, 0x76c, 0x308, 0, 0x0, 0), /* MX35_PAD_FEC_RX_ERR__FEC_RX_ERR */ | ||
1220 | [906] = IMX_PIN_REG(MX35_PAD_FEC_RX_ERR, 0x76c, 0x308, 1, 0x930, 3), /* MX35_PAD_FEC_RX_ERR__IPU_CSI_D_0 */ | ||
1221 | [907] = IMX_PIN_REG(MX35_PAD_FEC_RX_ERR, 0x76c, 0x308, 3, 0x9e8, 1), /* MX35_PAD_FEC_RX_ERR__USB_TOP_USBH2_DATA_7 */ | ||
1222 | [908] = IMX_PIN_REG(MX35_PAD_FEC_RX_ERR, 0x76c, 0x308, 4, 0x960, 1), /* MX35_PAD_FEC_RX_ERR__KPP_COL_4 */ | ||
1223 | [909] = IMX_PIN_REG(MX35_PAD_FEC_RX_ERR, 0x76c, 0x308, 5, 0x0, 0), /* MX35_PAD_FEC_RX_ERR__GPIO3_16 */ | ||
1224 | [910] = IMX_PIN_REG(MX35_PAD_FEC_RX_ERR, 0x76c, 0x308, 6, 0x92c, 5), /* MX35_PAD_FEC_RX_ERR__IPU_DISPB_SD_D_IO */ | ||
1225 | [911] = IMX_PIN_REG(MX35_PAD_FEC_CRS, 0x770, 0x30c, 0, 0x0, 0), /* MX35_PAD_FEC_CRS__FEC_CRS */ | ||
1226 | [912] = IMX_PIN_REG(MX35_PAD_FEC_CRS, 0x770, 0x30c, 1, 0x934, 3), /* MX35_PAD_FEC_CRS__IPU_CSI_D_1 */ | ||
1227 | [913] = IMX_PIN_REG(MX35_PAD_FEC_CRS, 0x770, 0x30c, 3, 0x0, 0), /* MX35_PAD_FEC_CRS__USB_TOP_USBH2_PWR */ | ||
1228 | [914] = IMX_PIN_REG(MX35_PAD_FEC_CRS, 0x770, 0x30c, 4, 0x964, 1), /* MX35_PAD_FEC_CRS__KPP_COL_5 */ | ||
1229 | [915] = IMX_PIN_REG(MX35_PAD_FEC_CRS, 0x770, 0x30c, 5, 0x0, 0), /* MX35_PAD_FEC_CRS__GPIO3_17 */ | ||
1230 | [916] = IMX_PIN_REG(MX35_PAD_FEC_CRS, 0x770, 0x30c, 6, 0x0, 0), /* MX35_PAD_FEC_CRS__IPU_FLASH_STROBE */ | ||
1231 | [917] = IMX_PIN_REG(MX35_PAD_FEC_RDATA1, 0x774, 0x310, 0, 0x0, 0), /* MX35_PAD_FEC_RDATA1__FEC_RDATA_1 */ | ||
1232 | [918] = IMX_PIN_REG(MX35_PAD_FEC_RDATA1, 0x774, 0x310, 1, 0x938, 4), /* MX35_PAD_FEC_RDATA1__IPU_CSI_D_2 */ | ||
1233 | [919] = IMX_PIN_REG(MX35_PAD_FEC_RDATA1, 0x774, 0x310, 2, 0x0, 0), /* MX35_PAD_FEC_RDATA1__AUDMUX_AUD6_RXC */ | ||
1234 | [920] = IMX_PIN_REG(MX35_PAD_FEC_RDATA1, 0x774, 0x310, 3, 0x9f4, 2), /* MX35_PAD_FEC_RDATA1__USB_TOP_USBH2_OC */ | ||
1235 | [921] = IMX_PIN_REG(MX35_PAD_FEC_RDATA1, 0x774, 0x310, 4, 0x968, 1), /* MX35_PAD_FEC_RDATA1__KPP_COL_6 */ | ||
1236 | [922] = IMX_PIN_REG(MX35_PAD_FEC_RDATA1, 0x774, 0x310, 5, 0x0, 0), /* MX35_PAD_FEC_RDATA1__GPIO3_18 */ | ||
1237 | [923] = IMX_PIN_REG(MX35_PAD_FEC_RDATA1, 0x774, 0x310, 6, 0x0, 0), /* MX35_PAD_FEC_RDATA1__IPU_DISPB_BE0 */ | ||
1238 | [924] = IMX_PIN_REG(MX35_PAD_FEC_TDATA1, 0x778, 0x314, 0, 0x0, 0), /* MX35_PAD_FEC_TDATA1__FEC_TDATA_1 */ | ||
1239 | [925] = IMX_PIN_REG(MX35_PAD_FEC_TDATA1, 0x778, 0x314, 1, 0x93c, 4), /* MX35_PAD_FEC_TDATA1__IPU_CSI_D_3 */ | ||
1240 | [926] = IMX_PIN_REG(MX35_PAD_FEC_TDATA1, 0x778, 0x314, 2, 0x7bc, 1), /* MX35_PAD_FEC_TDATA1__AUDMUX_AUD6_RXFS */ | ||
1241 | [927] = IMX_PIN_REG(MX35_PAD_FEC_TDATA1, 0x778, 0x314, 4, 0x96c, 1), /* MX35_PAD_FEC_TDATA1__KPP_COL_7 */ | ||
1242 | [928] = IMX_PIN_REG(MX35_PAD_FEC_TDATA1, 0x778, 0x314, 5, 0x0, 0), /* MX35_PAD_FEC_TDATA1__GPIO3_19 */ | ||
1243 | [929] = IMX_PIN_REG(MX35_PAD_FEC_TDATA1, 0x778, 0x314, 6, 0x0, 0), /* MX35_PAD_FEC_TDATA1__IPU_DISPB_BE1 */ | ||
1244 | [930] = IMX_PIN_REG(MX35_PAD_FEC_RDATA2, 0x77c, 0x318, 0, 0x0, 0), /* MX35_PAD_FEC_RDATA2__FEC_RDATA_2 */ | ||
1245 | [931] = IMX_PIN_REG(MX35_PAD_FEC_RDATA2, 0x77c, 0x318, 1, 0x940, 3), /* MX35_PAD_FEC_RDATA2__IPU_CSI_D_4 */ | ||
1246 | [932] = IMX_PIN_REG(MX35_PAD_FEC_RDATA2, 0x77c, 0x318, 2, 0x7b4, 1), /* MX35_PAD_FEC_RDATA2__AUDMUX_AUD6_TXD */ | ||
1247 | [933] = IMX_PIN_REG(MX35_PAD_FEC_RDATA2, 0x77c, 0x318, 4, 0x980, 1), /* MX35_PAD_FEC_RDATA2__KPP_ROW_4 */ | ||
1248 | [934] = IMX_PIN_REG(MX35_PAD_FEC_RDATA2, 0x77c, 0x318, 5, 0x0, 0), /* MX35_PAD_FEC_RDATA2__GPIO3_20 */ | ||
1249 | [935] = IMX_PIN_REG(MX35_PAD_FEC_TDATA2, 0x780, 0x31c, 0, 0x0, 0), /* MX35_PAD_FEC_TDATA2__FEC_TDATA_2 */ | ||
1250 | [936] = IMX_PIN_REG(MX35_PAD_FEC_TDATA2, 0x780, 0x31c, 1, 0x944, 3), /* MX35_PAD_FEC_TDATA2__IPU_CSI_D_5 */ | ||
1251 | [937] = IMX_PIN_REG(MX35_PAD_FEC_TDATA2, 0x780, 0x31c, 2, 0x7b0, 1), /* MX35_PAD_FEC_TDATA2__AUDMUX_AUD6_RXD */ | ||
1252 | [938] = IMX_PIN_REG(MX35_PAD_FEC_TDATA2, 0x780, 0x31c, 4, 0x984, 1), /* MX35_PAD_FEC_TDATA2__KPP_ROW_5 */ | ||
1253 | [939] = IMX_PIN_REG(MX35_PAD_FEC_TDATA2, 0x780, 0x31c, 5, 0x0, 0), /* MX35_PAD_FEC_TDATA2__GPIO3_21 */ | ||
1254 | [940] = IMX_PIN_REG(MX35_PAD_FEC_RDATA3, 0x784, 0x320, 0, 0x0, 0), /* MX35_PAD_FEC_RDATA3__FEC_RDATA_3 */ | ||
1255 | [941] = IMX_PIN_REG(MX35_PAD_FEC_RDATA3, 0x784, 0x320, 1, 0x948, 3), /* MX35_PAD_FEC_RDATA3__IPU_CSI_D_6 */ | ||
1256 | [942] = IMX_PIN_REG(MX35_PAD_FEC_RDATA3, 0x784, 0x320, 2, 0x7c0, 1), /* MX35_PAD_FEC_RDATA3__AUDMUX_AUD6_TXC */ | ||
1257 | [943] = IMX_PIN_REG(MX35_PAD_FEC_RDATA3, 0x784, 0x320, 4, 0x988, 1), /* MX35_PAD_FEC_RDATA3__KPP_ROW_6 */ | ||
1258 | [944] = IMX_PIN_REG(MX35_PAD_FEC_RDATA3, 0x784, 0x320, 6, 0x0, 0), /* MX35_PAD_FEC_RDATA3__GPIO3_22 */ | ||
1259 | [945] = IMX_PIN_REG(MX35_PAD_FEC_TDATA3, 0x788, 0x324, 0, 0x0, 0), /* MX35_PAD_FEC_TDATA3__FEC_TDATA_3 */ | ||
1260 | [946] = IMX_PIN_REG(MX35_PAD_FEC_TDATA3, 0x788, 0x324, 1, 0x94c, 3), /* MX35_PAD_FEC_TDATA3__IPU_CSI_D_7 */ | ||
1261 | [947] = IMX_PIN_REG(MX35_PAD_FEC_TDATA3, 0x788, 0x324, 2, 0x7c4, 1), /* MX35_PAD_FEC_TDATA3__AUDMUX_AUD6_TXFS */ | ||
1262 | [948] = IMX_PIN_REG(MX35_PAD_FEC_TDATA3, 0x788, 0x324, 4, 0x98c, 1), /* MX35_PAD_FEC_TDATA3__KPP_ROW_7 */ | ||
1263 | [949] = IMX_PIN_REG(MX35_PAD_FEC_TDATA3, 0x788, 0x324, 5, 0x0, 0), /* MX35_PAD_FEC_TDATA3__GPIO3_23 */ | ||
1264 | [950] = IMX_PIN_REG(MX35_PAD_EXT_ARMCLK, 0x78c, 0x0, 0, 0x0, 0), /* MX35_PAD_EXT_ARMCLK__CCM_EXT_ARMCLK */ | ||
1265 | [951] = IMX_PIN_REG(MX35_PAD_TEST_MODE, 0x790, 0x0, 0, 0x0, 0), /* MX35_PAD_TEST_MODE__TCU_TEST_MODE */ | ||
1266 | }; | ||
1267 | |||
1268 | /* Pad names for the pinmux subsystem */ | ||
1269 | static const struct pinctrl_pin_desc imx35_pinctrl_pads[] = { | ||
1270 | IMX_PINCTRL_PIN(MX35_PAD_CAPTURE), | ||
1271 | IMX_PINCTRL_PIN(MX35_PAD_COMPARE), | ||
1272 | IMX_PINCTRL_PIN(MX35_PAD_WDOG_RST), | ||
1273 | IMX_PINCTRL_PIN(MX35_PAD_GPIO1_0), | ||
1274 | IMX_PINCTRL_PIN(MX35_PAD_GPIO1_1), | ||
1275 | IMX_PINCTRL_PIN(MX35_PAD_GPIO2_0), | ||
1276 | IMX_PINCTRL_PIN(MX35_PAD_GPIO3_0), | ||
1277 | IMX_PINCTRL_PIN(MX35_PAD_RESET_IN_B), | ||
1278 | IMX_PINCTRL_PIN(MX35_PAD_POR_B), | ||
1279 | IMX_PINCTRL_PIN(MX35_PAD_CLKO), | ||
1280 | IMX_PINCTRL_PIN(MX35_PAD_BOOT_MODE0), | ||
1281 | IMX_PINCTRL_PIN(MX35_PAD_BOOT_MODE1), | ||
1282 | IMX_PINCTRL_PIN(MX35_PAD_CLK_MODE0), | ||
1283 | IMX_PINCTRL_PIN(MX35_PAD_CLK_MODE1), | ||
1284 | IMX_PINCTRL_PIN(MX35_PAD_POWER_FAIL), | ||
1285 | IMX_PINCTRL_PIN(MX35_PAD_VSTBY), | ||
1286 | IMX_PINCTRL_PIN(MX35_PAD_A0), | ||
1287 | IMX_PINCTRL_PIN(MX35_PAD_A1), | ||
1288 | IMX_PINCTRL_PIN(MX35_PAD_A2), | ||
1289 | IMX_PINCTRL_PIN(MX35_PAD_A3), | ||
1290 | IMX_PINCTRL_PIN(MX35_PAD_A4), | ||
1291 | IMX_PINCTRL_PIN(MX35_PAD_A5), | ||
1292 | IMX_PINCTRL_PIN(MX35_PAD_A6), | ||
1293 | IMX_PINCTRL_PIN(MX35_PAD_A7), | ||
1294 | IMX_PINCTRL_PIN(MX35_PAD_A8), | ||
1295 | IMX_PINCTRL_PIN(MX35_PAD_A9), | ||
1296 | IMX_PINCTRL_PIN(MX35_PAD_A10), | ||
1297 | IMX_PINCTRL_PIN(MX35_PAD_MA10), | ||
1298 | IMX_PINCTRL_PIN(MX35_PAD_A11), | ||
1299 | IMX_PINCTRL_PIN(MX35_PAD_A12), | ||
1300 | IMX_PINCTRL_PIN(MX35_PAD_A13), | ||
1301 | IMX_PINCTRL_PIN(MX35_PAD_A14), | ||
1302 | IMX_PINCTRL_PIN(MX35_PAD_A15), | ||
1303 | IMX_PINCTRL_PIN(MX35_PAD_A16), | ||
1304 | IMX_PINCTRL_PIN(MX35_PAD_A17), | ||
1305 | IMX_PINCTRL_PIN(MX35_PAD_A18), | ||
1306 | IMX_PINCTRL_PIN(MX35_PAD_A19), | ||
1307 | IMX_PINCTRL_PIN(MX35_PAD_A20), | ||
1308 | IMX_PINCTRL_PIN(MX35_PAD_A21), | ||
1309 | IMX_PINCTRL_PIN(MX35_PAD_A22), | ||
1310 | IMX_PINCTRL_PIN(MX35_PAD_A23), | ||
1311 | IMX_PINCTRL_PIN(MX35_PAD_A24), | ||
1312 | IMX_PINCTRL_PIN(MX35_PAD_A25), | ||
1313 | IMX_PINCTRL_PIN(MX35_PAD_SDBA1), | ||
1314 | IMX_PINCTRL_PIN(MX35_PAD_SDBA0), | ||
1315 | IMX_PINCTRL_PIN(MX35_PAD_SD0), | ||
1316 | IMX_PINCTRL_PIN(MX35_PAD_SD1), | ||
1317 | IMX_PINCTRL_PIN(MX35_PAD_SD2), | ||
1318 | IMX_PINCTRL_PIN(MX35_PAD_SD3), | ||
1319 | IMX_PINCTRL_PIN(MX35_PAD_SD4), | ||
1320 | IMX_PINCTRL_PIN(MX35_PAD_SD5), | ||
1321 | IMX_PINCTRL_PIN(MX35_PAD_SD6), | ||
1322 | IMX_PINCTRL_PIN(MX35_PAD_SD7), | ||
1323 | IMX_PINCTRL_PIN(MX35_PAD_SD8), | ||
1324 | IMX_PINCTRL_PIN(MX35_PAD_SD9), | ||
1325 | IMX_PINCTRL_PIN(MX35_PAD_SD10), | ||
1326 | IMX_PINCTRL_PIN(MX35_PAD_SD11), | ||
1327 | IMX_PINCTRL_PIN(MX35_PAD_SD12), | ||
1328 | IMX_PINCTRL_PIN(MX35_PAD_SD13), | ||
1329 | IMX_PINCTRL_PIN(MX35_PAD_SD14), | ||
1330 | IMX_PINCTRL_PIN(MX35_PAD_SD15), | ||
1331 | IMX_PINCTRL_PIN(MX35_PAD_SD16), | ||
1332 | IMX_PINCTRL_PIN(MX35_PAD_SD17), | ||
1333 | IMX_PINCTRL_PIN(MX35_PAD_SD18), | ||
1334 | IMX_PINCTRL_PIN(MX35_PAD_SD19), | ||
1335 | IMX_PINCTRL_PIN(MX35_PAD_SD20), | ||
1336 | IMX_PINCTRL_PIN(MX35_PAD_SD21), | ||
1337 | IMX_PINCTRL_PIN(MX35_PAD_SD22), | ||
1338 | IMX_PINCTRL_PIN(MX35_PAD_SD23), | ||
1339 | IMX_PINCTRL_PIN(MX35_PAD_SD24), | ||
1340 | IMX_PINCTRL_PIN(MX35_PAD_SD25), | ||
1341 | IMX_PINCTRL_PIN(MX35_PAD_SD26), | ||
1342 | IMX_PINCTRL_PIN(MX35_PAD_SD27), | ||
1343 | IMX_PINCTRL_PIN(MX35_PAD_SD28), | ||
1344 | IMX_PINCTRL_PIN(MX35_PAD_SD29), | ||
1345 | IMX_PINCTRL_PIN(MX35_PAD_SD30), | ||
1346 | IMX_PINCTRL_PIN(MX35_PAD_SD31), | ||
1347 | IMX_PINCTRL_PIN(MX35_PAD_DQM0), | ||
1348 | IMX_PINCTRL_PIN(MX35_PAD_DQM1), | ||
1349 | IMX_PINCTRL_PIN(MX35_PAD_DQM2), | ||
1350 | IMX_PINCTRL_PIN(MX35_PAD_DQM3), | ||
1351 | IMX_PINCTRL_PIN(MX35_PAD_EB0), | ||
1352 | IMX_PINCTRL_PIN(MX35_PAD_EB1), | ||
1353 | IMX_PINCTRL_PIN(MX35_PAD_OE), | ||
1354 | IMX_PINCTRL_PIN(MX35_PAD_CS0), | ||
1355 | IMX_PINCTRL_PIN(MX35_PAD_CS1), | ||
1356 | IMX_PINCTRL_PIN(MX35_PAD_CS2), | ||
1357 | IMX_PINCTRL_PIN(MX35_PAD_CS3), | ||
1358 | IMX_PINCTRL_PIN(MX35_PAD_CS4), | ||
1359 | IMX_PINCTRL_PIN(MX35_PAD_CS5), | ||
1360 | IMX_PINCTRL_PIN(MX35_PAD_NF_CE0), | ||
1361 | IMX_PINCTRL_PIN(MX35_PAD_ECB), | ||
1362 | IMX_PINCTRL_PIN(MX35_PAD_LBA), | ||
1363 | IMX_PINCTRL_PIN(MX35_PAD_BCLK), | ||
1364 | IMX_PINCTRL_PIN(MX35_PAD_RW), | ||
1365 | IMX_PINCTRL_PIN(MX35_PAD_RAS), | ||
1366 | IMX_PINCTRL_PIN(MX35_PAD_CAS), | ||
1367 | IMX_PINCTRL_PIN(MX35_PAD_SDWE), | ||
1368 | IMX_PINCTRL_PIN(MX35_PAD_SDCKE0), | ||
1369 | IMX_PINCTRL_PIN(MX35_PAD_SDCKE1), | ||
1370 | IMX_PINCTRL_PIN(MX35_PAD_SDCLK), | ||
1371 | IMX_PINCTRL_PIN(MX35_PAD_SDQS0), | ||
1372 | IMX_PINCTRL_PIN(MX35_PAD_SDQS1), | ||
1373 | IMX_PINCTRL_PIN(MX35_PAD_SDQS2), | ||
1374 | IMX_PINCTRL_PIN(MX35_PAD_SDQS3), | ||
1375 | IMX_PINCTRL_PIN(MX35_PAD_NFWE_B), | ||
1376 | IMX_PINCTRL_PIN(MX35_PAD_NFRE_B), | ||
1377 | IMX_PINCTRL_PIN(MX35_PAD_NFALE), | ||
1378 | IMX_PINCTRL_PIN(MX35_PAD_NFCLE), | ||
1379 | IMX_PINCTRL_PIN(MX35_PAD_NFWP_B), | ||
1380 | IMX_PINCTRL_PIN(MX35_PAD_NFRB), | ||
1381 | IMX_PINCTRL_PIN(MX35_PAD_D15), | ||
1382 | IMX_PINCTRL_PIN(MX35_PAD_D14), | ||
1383 | IMX_PINCTRL_PIN(MX35_PAD_D13), | ||
1384 | IMX_PINCTRL_PIN(MX35_PAD_D12), | ||
1385 | IMX_PINCTRL_PIN(MX35_PAD_D11), | ||
1386 | IMX_PINCTRL_PIN(MX35_PAD_D10), | ||
1387 | IMX_PINCTRL_PIN(MX35_PAD_D9), | ||
1388 | IMX_PINCTRL_PIN(MX35_PAD_D8), | ||
1389 | IMX_PINCTRL_PIN(MX35_PAD_D7), | ||
1390 | IMX_PINCTRL_PIN(MX35_PAD_D6), | ||
1391 | IMX_PINCTRL_PIN(MX35_PAD_D5), | ||
1392 | IMX_PINCTRL_PIN(MX35_PAD_D4), | ||
1393 | IMX_PINCTRL_PIN(MX35_PAD_D3), | ||
1394 | IMX_PINCTRL_PIN(MX35_PAD_D2), | ||
1395 | IMX_PINCTRL_PIN(MX35_PAD_D1), | ||
1396 | IMX_PINCTRL_PIN(MX35_PAD_D0), | ||
1397 | IMX_PINCTRL_PIN(MX35_PAD_CSI_D8), | ||
1398 | IMX_PINCTRL_PIN(MX35_PAD_CSI_D9), | ||
1399 | IMX_PINCTRL_PIN(MX35_PAD_CSI_D10), | ||
1400 | IMX_PINCTRL_PIN(MX35_PAD_CSI_D11), | ||
1401 | IMX_PINCTRL_PIN(MX35_PAD_CSI_D12), | ||
1402 | IMX_PINCTRL_PIN(MX35_PAD_CSI_D13), | ||
1403 | IMX_PINCTRL_PIN(MX35_PAD_CSI_D14), | ||
1404 | IMX_PINCTRL_PIN(MX35_PAD_CSI_D15), | ||
1405 | IMX_PINCTRL_PIN(MX35_PAD_CSI_MCLK), | ||
1406 | IMX_PINCTRL_PIN(MX35_PAD_CSI_VSYNC), | ||
1407 | IMX_PINCTRL_PIN(MX35_PAD_CSI_HSYNC), | ||
1408 | IMX_PINCTRL_PIN(MX35_PAD_CSI_PIXCLK), | ||
1409 | IMX_PINCTRL_PIN(MX35_PAD_I2C1_CLK), | ||
1410 | IMX_PINCTRL_PIN(MX35_PAD_I2C1_DAT), | ||
1411 | IMX_PINCTRL_PIN(MX35_PAD_I2C2_CLK), | ||
1412 | IMX_PINCTRL_PIN(MX35_PAD_I2C2_DAT), | ||
1413 | IMX_PINCTRL_PIN(MX35_PAD_STXD4), | ||
1414 | IMX_PINCTRL_PIN(MX35_PAD_SRXD4), | ||
1415 | IMX_PINCTRL_PIN(MX35_PAD_SCK4), | ||
1416 | IMX_PINCTRL_PIN(MX35_PAD_STXFS4), | ||
1417 | IMX_PINCTRL_PIN(MX35_PAD_STXD5), | ||
1418 | IMX_PINCTRL_PIN(MX35_PAD_SRXD5), | ||
1419 | IMX_PINCTRL_PIN(MX35_PAD_SCK5), | ||
1420 | IMX_PINCTRL_PIN(MX35_PAD_STXFS5), | ||
1421 | IMX_PINCTRL_PIN(MX35_PAD_SCKR), | ||
1422 | IMX_PINCTRL_PIN(MX35_PAD_FSR), | ||
1423 | IMX_PINCTRL_PIN(MX35_PAD_HCKR), | ||
1424 | IMX_PINCTRL_PIN(MX35_PAD_SCKT), | ||
1425 | IMX_PINCTRL_PIN(MX35_PAD_FST), | ||
1426 | IMX_PINCTRL_PIN(MX35_PAD_HCKT), | ||
1427 | IMX_PINCTRL_PIN(MX35_PAD_TX5_RX0), | ||
1428 | IMX_PINCTRL_PIN(MX35_PAD_TX4_RX1), | ||
1429 | IMX_PINCTRL_PIN(MX35_PAD_TX3_RX2), | ||
1430 | IMX_PINCTRL_PIN(MX35_PAD_TX2_RX3), | ||
1431 | IMX_PINCTRL_PIN(MX35_PAD_TX1), | ||
1432 | IMX_PINCTRL_PIN(MX35_PAD_TX0), | ||
1433 | IMX_PINCTRL_PIN(MX35_PAD_CSPI1_MOSI), | ||
1434 | IMX_PINCTRL_PIN(MX35_PAD_CSPI1_MISO), | ||
1435 | IMX_PINCTRL_PIN(MX35_PAD_CSPI1_SS0), | ||
1436 | IMX_PINCTRL_PIN(MX35_PAD_CSPI1_SS1), | ||
1437 | IMX_PINCTRL_PIN(MX35_PAD_CSPI1_SCLK), | ||
1438 | IMX_PINCTRL_PIN(MX35_PAD_CSPI1_SPI_RDY), | ||
1439 | IMX_PINCTRL_PIN(MX35_PAD_RXD1), | ||
1440 | IMX_PINCTRL_PIN(MX35_PAD_TXD1), | ||
1441 | IMX_PINCTRL_PIN(MX35_PAD_RTS1), | ||
1442 | IMX_PINCTRL_PIN(MX35_PAD_CTS1), | ||
1443 | IMX_PINCTRL_PIN(MX35_PAD_RXD2), | ||
1444 | IMX_PINCTRL_PIN(MX35_PAD_TXD2), | ||
1445 | IMX_PINCTRL_PIN(MX35_PAD_RTS2), | ||
1446 | IMX_PINCTRL_PIN(MX35_PAD_CTS2), | ||
1447 | IMX_PINCTRL_PIN(MX35_PAD_RTCK), | ||
1448 | IMX_PINCTRL_PIN(MX35_PAD_TCK), | ||
1449 | IMX_PINCTRL_PIN(MX35_PAD_TMS), | ||
1450 | IMX_PINCTRL_PIN(MX35_PAD_TDI), | ||
1451 | IMX_PINCTRL_PIN(MX35_PAD_TDO), | ||
1452 | IMX_PINCTRL_PIN(MX35_PAD_TRSTB), | ||
1453 | IMX_PINCTRL_PIN(MX35_PAD_DE_B), | ||
1454 | IMX_PINCTRL_PIN(MX35_PAD_SJC_MOD), | ||
1455 | IMX_PINCTRL_PIN(MX35_PAD_USBOTG_PWR), | ||
1456 | IMX_PINCTRL_PIN(MX35_PAD_USBOTG_OC), | ||
1457 | IMX_PINCTRL_PIN(MX35_PAD_LD0), | ||
1458 | IMX_PINCTRL_PIN(MX35_PAD_LD1), | ||
1459 | IMX_PINCTRL_PIN(MX35_PAD_LD2), | ||
1460 | IMX_PINCTRL_PIN(MX35_PAD_LD3), | ||
1461 | IMX_PINCTRL_PIN(MX35_PAD_LD4), | ||
1462 | IMX_PINCTRL_PIN(MX35_PAD_LD5), | ||
1463 | IMX_PINCTRL_PIN(MX35_PAD_LD6), | ||
1464 | IMX_PINCTRL_PIN(MX35_PAD_LD7), | ||
1465 | IMX_PINCTRL_PIN(MX35_PAD_LD8), | ||
1466 | IMX_PINCTRL_PIN(MX35_PAD_LD9), | ||
1467 | IMX_PINCTRL_PIN(MX35_PAD_LD10), | ||
1468 | IMX_PINCTRL_PIN(MX35_PAD_LD11), | ||
1469 | IMX_PINCTRL_PIN(MX35_PAD_LD12), | ||
1470 | IMX_PINCTRL_PIN(MX35_PAD_LD13), | ||
1471 | IMX_PINCTRL_PIN(MX35_PAD_LD14), | ||
1472 | IMX_PINCTRL_PIN(MX35_PAD_LD15), | ||
1473 | IMX_PINCTRL_PIN(MX35_PAD_LD16), | ||
1474 | IMX_PINCTRL_PIN(MX35_PAD_LD17), | ||
1475 | IMX_PINCTRL_PIN(MX35_PAD_LD18), | ||
1476 | IMX_PINCTRL_PIN(MX35_PAD_LD19), | ||
1477 | IMX_PINCTRL_PIN(MX35_PAD_LD20), | ||
1478 | IMX_PINCTRL_PIN(MX35_PAD_LD21), | ||
1479 | IMX_PINCTRL_PIN(MX35_PAD_LD22), | ||
1480 | IMX_PINCTRL_PIN(MX35_PAD_LD23), | ||
1481 | IMX_PINCTRL_PIN(MX35_PAD_D3_HSYNC), | ||
1482 | IMX_PINCTRL_PIN(MX35_PAD_D3_FPSHIFT), | ||
1483 | IMX_PINCTRL_PIN(MX35_PAD_D3_DRDY), | ||
1484 | IMX_PINCTRL_PIN(MX35_PAD_CONTRAST), | ||
1485 | IMX_PINCTRL_PIN(MX35_PAD_D3_VSYNC), | ||
1486 | IMX_PINCTRL_PIN(MX35_PAD_D3_REV), | ||
1487 | IMX_PINCTRL_PIN(MX35_PAD_D3_CLS), | ||
1488 | IMX_PINCTRL_PIN(MX35_PAD_D3_SPL), | ||
1489 | IMX_PINCTRL_PIN(MX35_PAD_SD1_CMD), | ||
1490 | IMX_PINCTRL_PIN(MX35_PAD_SD1_CLK), | ||
1491 | IMX_PINCTRL_PIN(MX35_PAD_SD1_DATA0), | ||
1492 | IMX_PINCTRL_PIN(MX35_PAD_SD1_DATA1), | ||
1493 | IMX_PINCTRL_PIN(MX35_PAD_SD1_DATA2), | ||
1494 | IMX_PINCTRL_PIN(MX35_PAD_SD1_DATA3), | ||
1495 | IMX_PINCTRL_PIN(MX35_PAD_SD2_CMD), | ||
1496 | IMX_PINCTRL_PIN(MX35_PAD_SD2_CLK), | ||
1497 | IMX_PINCTRL_PIN(MX35_PAD_SD2_DATA0), | ||
1498 | IMX_PINCTRL_PIN(MX35_PAD_SD2_DATA1), | ||
1499 | IMX_PINCTRL_PIN(MX35_PAD_SD2_DATA2), | ||
1500 | IMX_PINCTRL_PIN(MX35_PAD_SD2_DATA3), | ||
1501 | IMX_PINCTRL_PIN(MX35_PAD_ATA_CS0), | ||
1502 | IMX_PINCTRL_PIN(MX35_PAD_ATA_CS1), | ||
1503 | IMX_PINCTRL_PIN(MX35_PAD_ATA_DIOR), | ||
1504 | IMX_PINCTRL_PIN(MX35_PAD_ATA_DIOW), | ||
1505 | IMX_PINCTRL_PIN(MX35_PAD_ATA_DMACK), | ||
1506 | IMX_PINCTRL_PIN(MX35_PAD_ATA_RESET_B), | ||
1507 | IMX_PINCTRL_PIN(MX35_PAD_ATA_IORDY), | ||
1508 | IMX_PINCTRL_PIN(MX35_PAD_ATA_DATA0), | ||
1509 | IMX_PINCTRL_PIN(MX35_PAD_ATA_DATA1), | ||
1510 | IMX_PINCTRL_PIN(MX35_PAD_ATA_DATA2), | ||
1511 | IMX_PINCTRL_PIN(MX35_PAD_ATA_DATA3), | ||
1512 | IMX_PINCTRL_PIN(MX35_PAD_ATA_DATA4), | ||
1513 | IMX_PINCTRL_PIN(MX35_PAD_ATA_DATA5), | ||
1514 | IMX_PINCTRL_PIN(MX35_PAD_ATA_DATA6), | ||
1515 | IMX_PINCTRL_PIN(MX35_PAD_ATA_DATA7), | ||
1516 | IMX_PINCTRL_PIN(MX35_PAD_ATA_DATA8), | ||
1517 | IMX_PINCTRL_PIN(MX35_PAD_ATA_DATA9), | ||
1518 | IMX_PINCTRL_PIN(MX35_PAD_ATA_DATA10), | ||
1519 | IMX_PINCTRL_PIN(MX35_PAD_ATA_DATA11), | ||
1520 | IMX_PINCTRL_PIN(MX35_PAD_ATA_DATA12), | ||
1521 | IMX_PINCTRL_PIN(MX35_PAD_ATA_DATA13), | ||
1522 | IMX_PINCTRL_PIN(MX35_PAD_ATA_DATA14), | ||
1523 | IMX_PINCTRL_PIN(MX35_PAD_ATA_DATA15), | ||
1524 | IMX_PINCTRL_PIN(MX35_PAD_ATA_INTRQ), | ||
1525 | IMX_PINCTRL_PIN(MX35_PAD_ATA_BUFF_EN), | ||
1526 | IMX_PINCTRL_PIN(MX35_PAD_ATA_DMARQ), | ||
1527 | IMX_PINCTRL_PIN(MX35_PAD_ATA_DA0), | ||
1528 | IMX_PINCTRL_PIN(MX35_PAD_ATA_DA1), | ||
1529 | IMX_PINCTRL_PIN(MX35_PAD_ATA_DA2), | ||
1530 | IMX_PINCTRL_PIN(MX35_PAD_MLB_CLK), | ||
1531 | IMX_PINCTRL_PIN(MX35_PAD_MLB_DAT), | ||
1532 | IMX_PINCTRL_PIN(MX35_PAD_MLB_SIG), | ||
1533 | IMX_PINCTRL_PIN(MX35_PAD_FEC_TX_CLK), | ||
1534 | IMX_PINCTRL_PIN(MX35_PAD_FEC_RX_CLK), | ||
1535 | IMX_PINCTRL_PIN(MX35_PAD_FEC_RX_DV), | ||
1536 | IMX_PINCTRL_PIN(MX35_PAD_FEC_COL), | ||
1537 | IMX_PINCTRL_PIN(MX35_PAD_FEC_RDATA0), | ||
1538 | IMX_PINCTRL_PIN(MX35_PAD_FEC_TDATA0), | ||
1539 | IMX_PINCTRL_PIN(MX35_PAD_FEC_TX_EN), | ||
1540 | IMX_PINCTRL_PIN(MX35_PAD_FEC_MDC), | ||
1541 | IMX_PINCTRL_PIN(MX35_PAD_FEC_MDIO), | ||
1542 | IMX_PINCTRL_PIN(MX35_PAD_FEC_TX_ERR), | ||
1543 | IMX_PINCTRL_PIN(MX35_PAD_FEC_RX_ERR), | ||
1544 | IMX_PINCTRL_PIN(MX35_PAD_FEC_CRS), | ||
1545 | IMX_PINCTRL_PIN(MX35_PAD_FEC_RDATA1), | ||
1546 | IMX_PINCTRL_PIN(MX35_PAD_FEC_TDATA1), | ||
1547 | IMX_PINCTRL_PIN(MX35_PAD_FEC_RDATA2), | ||
1548 | IMX_PINCTRL_PIN(MX35_PAD_FEC_TDATA2), | ||
1549 | IMX_PINCTRL_PIN(MX35_PAD_FEC_RDATA3), | ||
1550 | IMX_PINCTRL_PIN(MX35_PAD_FEC_TDATA3), | ||
1551 | IMX_PINCTRL_PIN(MX35_PAD_EXT_ARMCLK), | ||
1552 | IMX_PINCTRL_PIN(MX35_PAD_TEST_MODE), | ||
1553 | }; | ||
1554 | |||
1555 | static struct imx_pinctrl_soc_info imx35_pinctrl_info = { | ||
1556 | .pins = imx35_pinctrl_pads, | ||
1557 | .npins = ARRAY_SIZE(imx35_pinctrl_pads), | ||
1558 | .pin_regs = imx35_pin_regs, | ||
1559 | .npin_regs = ARRAY_SIZE(imx35_pin_regs), | ||
1560 | }; | ||
1561 | |||
1562 | static struct of_device_id imx35_pinctrl_of_match[] __devinitdata = { | ||
1563 | { .compatible = "fsl,imx35-iomuxc", }, | ||
1564 | { /* sentinel */ } | ||
1565 | }; | ||
1566 | |||
1567 | static int __devinit imx35_pinctrl_probe(struct platform_device *pdev) | ||
1568 | { | ||
1569 | return imx_pinctrl_probe(pdev, &imx35_pinctrl_info); | ||
1570 | } | ||
1571 | |||
1572 | static struct platform_driver imx35_pinctrl_driver = { | ||
1573 | .driver = { | ||
1574 | .name = "imx35-pinctrl", | ||
1575 | .owner = THIS_MODULE, | ||
1576 | .of_match_table = of_match_ptr(imx35_pinctrl_of_match), | ||
1577 | }, | ||
1578 | .probe = imx35_pinctrl_probe, | ||
1579 | .remove = __devexit_p(imx_pinctrl_remove), | ||
1580 | }; | ||
1581 | |||
1582 | static int __init imx35_pinctrl_init(void) | ||
1583 | { | ||
1584 | return platform_driver_register(&imx35_pinctrl_driver); | ||
1585 | } | ||
1586 | arch_initcall(imx35_pinctrl_init); | ||
1587 | |||
1588 | static void __exit imx35_pinctrl_exit(void) | ||
1589 | { | ||
1590 | platform_driver_unregister(&imx35_pinctrl_driver); | ||
1591 | } | ||
1592 | module_exit(imx35_pinctrl_exit); | ||
1593 | MODULE_AUTHOR("Dong Aisheng <dong.aisheng@linaro.org>"); | ||
1594 | MODULE_DESCRIPTION("Freescale IMX35 pinctrl driver"); | ||
1595 | MODULE_LICENSE("GPL v2"); | ||
diff --git a/drivers/pinctrl/pinctrl-imx51.c b/drivers/pinctrl/pinctrl-imx51.c index 9fd02162a3c2..fb8468966779 100644 --- a/drivers/pinctrl/pinctrl-imx51.c +++ b/drivers/pinctrl/pinctrl-imx51.c | |||
@@ -23,251 +23,251 @@ | |||
23 | #include "pinctrl-imx.h" | 23 | #include "pinctrl-imx.h" |
24 | 24 | ||
25 | enum imx51_pads { | 25 | enum imx51_pads { |
26 | MX51_PAD_EIM_D16 = 1, | 26 | MX51_PAD_EIM_D16 = 0, |
27 | MX51_PAD_EIM_D17 = 2, | 27 | MX51_PAD_EIM_D17 = 1, |
28 | MX51_PAD_EIM_D18 = 3, | 28 | MX51_PAD_EIM_D18 = 2, |
29 | MX51_PAD_EIM_D19 = 4, | 29 | MX51_PAD_EIM_D19 = 3, |
30 | MX51_PAD_EIM_D20 = 5, | 30 | MX51_PAD_EIM_D20 = 4, |
31 | MX51_PAD_EIM_D21 = 6, | 31 | MX51_PAD_EIM_D21 = 5, |
32 | MX51_PAD_EIM_D22 = 7, | 32 | MX51_PAD_EIM_D22 = 6, |
33 | MX51_PAD_EIM_D23 = 8, | 33 | MX51_PAD_EIM_D23 = 7, |
34 | MX51_PAD_EIM_D24 = 9, | 34 | MX51_PAD_EIM_D24 = 8, |
35 | MX51_PAD_EIM_D25 = 10, | 35 | MX51_PAD_EIM_D25 = 9, |
36 | MX51_PAD_EIM_D26 = 11, | 36 | MX51_PAD_EIM_D26 = 10, |
37 | MX51_PAD_EIM_D27 = 12, | 37 | MX51_PAD_EIM_D27 = 11, |
38 | MX51_PAD_EIM_D28 = 13, | 38 | MX51_PAD_EIM_D28 = 12, |
39 | MX51_PAD_EIM_D29 = 14, | 39 | MX51_PAD_EIM_D29 = 13, |
40 | MX51_PAD_EIM_D30 = 15, | 40 | MX51_PAD_EIM_D30 = 14, |
41 | MX51_PAD_EIM_D31 = 16, | 41 | MX51_PAD_EIM_D31 = 15, |
42 | MX51_PAD_EIM_A16 = 17, | 42 | MX51_PAD_EIM_A16 = 16, |
43 | MX51_PAD_EIM_A17 = 18, | 43 | MX51_PAD_EIM_A17 = 17, |
44 | MX51_PAD_EIM_A18 = 19, | 44 | MX51_PAD_EIM_A18 = 18, |
45 | MX51_PAD_EIM_A19 = 20, | 45 | MX51_PAD_EIM_A19 = 19, |
46 | MX51_PAD_EIM_A20 = 21, | 46 | MX51_PAD_EIM_A20 = 20, |
47 | MX51_PAD_EIM_A21 = 22, | 47 | MX51_PAD_EIM_A21 = 21, |
48 | MX51_PAD_EIM_A22 = 23, | 48 | MX51_PAD_EIM_A22 = 22, |
49 | MX51_PAD_EIM_A23 = 24, | 49 | MX51_PAD_EIM_A23 = 23, |
50 | MX51_PAD_EIM_A24 = 25, | 50 | MX51_PAD_EIM_A24 = 24, |
51 | MX51_PAD_EIM_A25 = 26, | 51 | MX51_PAD_EIM_A25 = 25, |
52 | MX51_PAD_EIM_A26 = 27, | 52 | MX51_PAD_EIM_A26 = 26, |
53 | MX51_PAD_EIM_A27 = 28, | 53 | MX51_PAD_EIM_A27 = 27, |
54 | MX51_PAD_EIM_EB0 = 29, | 54 | MX51_PAD_EIM_EB0 = 28, |
55 | MX51_PAD_EIM_EB1 = 30, | 55 | MX51_PAD_EIM_EB1 = 29, |
56 | MX51_PAD_EIM_EB2 = 31, | 56 | MX51_PAD_EIM_EB2 = 30, |
57 | MX51_PAD_EIM_EB3 = 32, | 57 | MX51_PAD_EIM_EB3 = 31, |
58 | MX51_PAD_EIM_OE = 33, | 58 | MX51_PAD_EIM_OE = 32, |
59 | MX51_PAD_EIM_CS0 = 34, | 59 | MX51_PAD_EIM_CS0 = 33, |
60 | MX51_PAD_EIM_CS1 = 35, | 60 | MX51_PAD_EIM_CS1 = 34, |
61 | MX51_PAD_EIM_CS2 = 36, | 61 | MX51_PAD_EIM_CS2 = 35, |
62 | MX51_PAD_EIM_CS3 = 37, | 62 | MX51_PAD_EIM_CS3 = 36, |
63 | MX51_PAD_EIM_CS4 = 38, | 63 | MX51_PAD_EIM_CS4 = 37, |
64 | MX51_PAD_EIM_CS5 = 39, | 64 | MX51_PAD_EIM_CS5 = 38, |
65 | MX51_PAD_EIM_DTACK = 40, | 65 | MX51_PAD_EIM_DTACK = 39, |
66 | MX51_PAD_EIM_LBA = 41, | 66 | MX51_PAD_EIM_LBA = 40, |
67 | MX51_PAD_EIM_CRE = 42, | 67 | MX51_PAD_EIM_CRE = 41, |
68 | MX51_PAD_DRAM_CS1 = 43, | 68 | MX51_PAD_DRAM_CS1 = 42, |
69 | MX51_PAD_NANDF_WE_B = 44, | 69 | MX51_PAD_NANDF_WE_B = 43, |
70 | MX51_PAD_NANDF_RE_B = 45, | 70 | MX51_PAD_NANDF_RE_B = 44, |
71 | MX51_PAD_NANDF_ALE = 46, | 71 | MX51_PAD_NANDF_ALE = 45, |
72 | MX51_PAD_NANDF_CLE = 47, | 72 | MX51_PAD_NANDF_CLE = 46, |
73 | MX51_PAD_NANDF_WP_B = 48, | 73 | MX51_PAD_NANDF_WP_B = 47, |
74 | MX51_PAD_NANDF_RB0 = 49, | 74 | MX51_PAD_NANDF_RB0 = 48, |
75 | MX51_PAD_NANDF_RB1 = 50, | 75 | MX51_PAD_NANDF_RB1 = 49, |
76 | MX51_PAD_NANDF_RB2 = 51, | 76 | MX51_PAD_NANDF_RB2 = 50, |
77 | MX51_PAD_NANDF_RB3 = 52, | 77 | MX51_PAD_NANDF_RB3 = 51, |
78 | MX51_PAD_GPIO_NAND = 53, | 78 | MX51_PAD_GPIO_NAND = 52, |
79 | MX51_PAD_NANDF_CS0 = 54, | 79 | MX51_PAD_NANDF_CS0 = 53, |
80 | MX51_PAD_NANDF_CS1 = 55, | 80 | MX51_PAD_NANDF_CS1 = 54, |
81 | MX51_PAD_NANDF_CS2 = 56, | 81 | MX51_PAD_NANDF_CS2 = 55, |
82 | MX51_PAD_NANDF_CS3 = 57, | 82 | MX51_PAD_NANDF_CS3 = 56, |
83 | MX51_PAD_NANDF_CS4 = 58, | 83 | MX51_PAD_NANDF_CS4 = 57, |
84 | MX51_PAD_NANDF_CS5 = 59, | 84 | MX51_PAD_NANDF_CS5 = 58, |
85 | MX51_PAD_NANDF_CS6 = 60, | 85 | MX51_PAD_NANDF_CS6 = 59, |
86 | MX51_PAD_NANDF_CS7 = 61, | 86 | MX51_PAD_NANDF_CS7 = 60, |
87 | MX51_PAD_NANDF_RDY_INT = 62, | 87 | MX51_PAD_NANDF_RDY_INT = 61, |
88 | MX51_PAD_NANDF_D15 = 63, | 88 | MX51_PAD_NANDF_D15 = 62, |
89 | MX51_PAD_NANDF_D14 = 64, | 89 | MX51_PAD_NANDF_D14 = 63, |
90 | MX51_PAD_NANDF_D13 = 65, | 90 | MX51_PAD_NANDF_D13 = 64, |
91 | MX51_PAD_NANDF_D12 = 66, | 91 | MX51_PAD_NANDF_D12 = 65, |
92 | MX51_PAD_NANDF_D11 = 67, | 92 | MX51_PAD_NANDF_D11 = 66, |
93 | MX51_PAD_NANDF_D10 = 68, | 93 | MX51_PAD_NANDF_D10 = 67, |
94 | MX51_PAD_NANDF_D9 = 69, | 94 | MX51_PAD_NANDF_D9 = 68, |
95 | MX51_PAD_NANDF_D8 = 70, | 95 | MX51_PAD_NANDF_D8 = 69, |
96 | MX51_PAD_NANDF_D7 = 71, | 96 | MX51_PAD_NANDF_D7 = 70, |
97 | MX51_PAD_NANDF_D6 = 72, | 97 | MX51_PAD_NANDF_D6 = 71, |
98 | MX51_PAD_NANDF_D5 = 73, | 98 | MX51_PAD_NANDF_D5 = 72, |
99 | MX51_PAD_NANDF_D4 = 74, | 99 | MX51_PAD_NANDF_D4 = 73, |
100 | MX51_PAD_NANDF_D3 = 75, | 100 | MX51_PAD_NANDF_D3 = 74, |
101 | MX51_PAD_NANDF_D2 = 76, | 101 | MX51_PAD_NANDF_D2 = 75, |
102 | MX51_PAD_NANDF_D1 = 77, | 102 | MX51_PAD_NANDF_D1 = 76, |
103 | MX51_PAD_NANDF_D0 = 78, | 103 | MX51_PAD_NANDF_D0 = 77, |
104 | MX51_PAD_CSI1_D8 = 79, | 104 | MX51_PAD_CSI1_D8 = 78, |
105 | MX51_PAD_CSI1_D9 = 80, | 105 | MX51_PAD_CSI1_D9 = 79, |
106 | MX51_PAD_CSI1_D10 = 81, | 106 | MX51_PAD_CSI1_D10 = 80, |
107 | MX51_PAD_CSI1_D11 = 82, | 107 | MX51_PAD_CSI1_D11 = 81, |
108 | MX51_PAD_CSI1_D12 = 83, | 108 | MX51_PAD_CSI1_D12 = 82, |
109 | MX51_PAD_CSI1_D13 = 84, | 109 | MX51_PAD_CSI1_D13 = 83, |
110 | MX51_PAD_CSI1_D14 = 85, | 110 | MX51_PAD_CSI1_D14 = 84, |
111 | MX51_PAD_CSI1_D15 = 86, | 111 | MX51_PAD_CSI1_D15 = 85, |
112 | MX51_PAD_CSI1_D16 = 87, | 112 | MX51_PAD_CSI1_D16 = 86, |
113 | MX51_PAD_CSI1_D17 = 88, | 113 | MX51_PAD_CSI1_D17 = 87, |
114 | MX51_PAD_CSI1_D18 = 89, | 114 | MX51_PAD_CSI1_D18 = 88, |
115 | MX51_PAD_CSI1_D19 = 90, | 115 | MX51_PAD_CSI1_D19 = 89, |
116 | MX51_PAD_CSI1_VSYNC = 91, | 116 | MX51_PAD_CSI1_VSYNC = 90, |
117 | MX51_PAD_CSI1_HSYNC = 92, | 117 | MX51_PAD_CSI1_HSYNC = 91, |
118 | MX51_PAD_CSI1_PIXCLK = 93, | 118 | MX51_PAD_CSI1_PIXCLK = 92, |
119 | MX51_PAD_CSI1_MCLK = 94, | 119 | MX51_PAD_CSI1_MCLK = 93, |
120 | MX51_PAD_CSI2_D12 = 95, | 120 | MX51_PAD_CSI2_D12 = 94, |
121 | MX51_PAD_CSI2_D13 = 96, | 121 | MX51_PAD_CSI2_D13 = 95, |
122 | MX51_PAD_CSI2_D14 = 97, | 122 | MX51_PAD_CSI2_D14 = 96, |
123 | MX51_PAD_CSI2_D15 = 98, | 123 | MX51_PAD_CSI2_D15 = 97, |
124 | MX51_PAD_CSI2_D16 = 99, | 124 | MX51_PAD_CSI2_D16 = 98, |
125 | MX51_PAD_CSI2_D17 = 100, | 125 | MX51_PAD_CSI2_D17 = 99, |
126 | MX51_PAD_CSI2_D18 = 101, | 126 | MX51_PAD_CSI2_D18 = 100, |
127 | MX51_PAD_CSI2_D19 = 102, | 127 | MX51_PAD_CSI2_D19 = 101, |
128 | MX51_PAD_CSI2_VSYNC = 103, | 128 | MX51_PAD_CSI2_VSYNC = 102, |
129 | MX51_PAD_CSI2_HSYNC = 104, | 129 | MX51_PAD_CSI2_HSYNC = 103, |
130 | MX51_PAD_CSI2_PIXCLK = 105, | 130 | MX51_PAD_CSI2_PIXCLK = 104, |
131 | MX51_PAD_I2C1_CLK = 106, | 131 | MX51_PAD_I2C1_CLK = 105, |
132 | MX51_PAD_I2C1_DAT = 107, | 132 | MX51_PAD_I2C1_DAT = 106, |
133 | MX51_PAD_AUD3_BB_TXD = 108, | 133 | MX51_PAD_AUD3_BB_TXD = 107, |
134 | MX51_PAD_AUD3_BB_RXD = 109, | 134 | MX51_PAD_AUD3_BB_RXD = 108, |
135 | MX51_PAD_AUD3_BB_CK = 110, | 135 | MX51_PAD_AUD3_BB_CK = 109, |
136 | MX51_PAD_AUD3_BB_FS = 111, | 136 | MX51_PAD_AUD3_BB_FS = 110, |
137 | MX51_PAD_CSPI1_MOSI = 112, | 137 | MX51_PAD_CSPI1_MOSI = 111, |
138 | MX51_PAD_CSPI1_MISO = 113, | 138 | MX51_PAD_CSPI1_MISO = 112, |
139 | MX51_PAD_CSPI1_SS0 = 114, | 139 | MX51_PAD_CSPI1_SS0 = 113, |
140 | MX51_PAD_CSPI1_SS1 = 115, | 140 | MX51_PAD_CSPI1_SS1 = 114, |
141 | MX51_PAD_CSPI1_RDY = 116, | 141 | MX51_PAD_CSPI1_RDY = 115, |
142 | MX51_PAD_CSPI1_SCLK = 117, | 142 | MX51_PAD_CSPI1_SCLK = 116, |
143 | MX51_PAD_UART1_RXD = 118, | 143 | MX51_PAD_UART1_RXD = 117, |
144 | MX51_PAD_UART1_TXD = 119, | 144 | MX51_PAD_UART1_TXD = 118, |
145 | MX51_PAD_UART1_RTS = 120, | 145 | MX51_PAD_UART1_RTS = 119, |
146 | MX51_PAD_UART1_CTS = 121, | 146 | MX51_PAD_UART1_CTS = 120, |
147 | MX51_PAD_UART2_RXD = 122, | 147 | MX51_PAD_UART2_RXD = 121, |
148 | MX51_PAD_UART2_TXD = 123, | 148 | MX51_PAD_UART2_TXD = 122, |
149 | MX51_PAD_UART3_RXD = 124, | 149 | MX51_PAD_UART3_RXD = 123, |
150 | MX51_PAD_UART3_TXD = 125, | 150 | MX51_PAD_UART3_TXD = 124, |
151 | MX51_PAD_OWIRE_LINE = 126, | 151 | MX51_PAD_OWIRE_LINE = 125, |
152 | MX51_PAD_KEY_ROW0 = 127, | 152 | MX51_PAD_KEY_ROW0 = 126, |
153 | MX51_PAD_KEY_ROW1 = 128, | 153 | MX51_PAD_KEY_ROW1 = 127, |
154 | MX51_PAD_KEY_ROW2 = 129, | 154 | MX51_PAD_KEY_ROW2 = 128, |
155 | MX51_PAD_KEY_ROW3 = 130, | 155 | MX51_PAD_KEY_ROW3 = 129, |
156 | MX51_PAD_KEY_COL0 = 131, | 156 | MX51_PAD_KEY_COL0 = 130, |
157 | MX51_PAD_KEY_COL1 = 132, | 157 | MX51_PAD_KEY_COL1 = 131, |
158 | MX51_PAD_KEY_COL2 = 133, | 158 | MX51_PAD_KEY_COL2 = 132, |
159 | MX51_PAD_KEY_COL3 = 134, | 159 | MX51_PAD_KEY_COL3 = 133, |
160 | MX51_PAD_KEY_COL4 = 135, | 160 | MX51_PAD_KEY_COL4 = 134, |
161 | MX51_PAD_KEY_COL5 = 136, | 161 | MX51_PAD_KEY_COL5 = 135, |
162 | MX51_PAD_USBH1_CLK = 137, | 162 | MX51_PAD_USBH1_CLK = 136, |
163 | MX51_PAD_USBH1_DIR = 138, | 163 | MX51_PAD_USBH1_DIR = 137, |
164 | MX51_PAD_USBH1_STP = 139, | 164 | MX51_PAD_USBH1_STP = 138, |
165 | MX51_PAD_USBH1_NXT = 140, | 165 | MX51_PAD_USBH1_NXT = 139, |
166 | MX51_PAD_USBH1_DATA0 = 141, | 166 | MX51_PAD_USBH1_DATA0 = 140, |
167 | MX51_PAD_USBH1_DATA1 = 142, | 167 | MX51_PAD_USBH1_DATA1 = 141, |
168 | MX51_PAD_USBH1_DATA2 = 143, | 168 | MX51_PAD_USBH1_DATA2 = 142, |
169 | MX51_PAD_USBH1_DATA3 = 144, | 169 | MX51_PAD_USBH1_DATA3 = 143, |
170 | MX51_PAD_USBH1_DATA4 = 145, | 170 | MX51_PAD_USBH1_DATA4 = 144, |
171 | MX51_PAD_USBH1_DATA5 = 146, | 171 | MX51_PAD_USBH1_DATA5 = 145, |
172 | MX51_PAD_USBH1_DATA6 = 147, | 172 | MX51_PAD_USBH1_DATA6 = 146, |
173 | MX51_PAD_USBH1_DATA7 = 148, | 173 | MX51_PAD_USBH1_DATA7 = 147, |
174 | MX51_PAD_DI1_PIN11 = 149, | 174 | MX51_PAD_DI1_PIN11 = 148, |
175 | MX51_PAD_DI1_PIN12 = 150, | 175 | MX51_PAD_DI1_PIN12 = 149, |
176 | MX51_PAD_DI1_PIN13 = 151, | 176 | MX51_PAD_DI1_PIN13 = 150, |
177 | MX51_PAD_DI1_D0_CS = 152, | 177 | MX51_PAD_DI1_D0_CS = 151, |
178 | MX51_PAD_DI1_D1_CS = 153, | 178 | MX51_PAD_DI1_D1_CS = 152, |
179 | MX51_PAD_DISPB2_SER_DIN = 154, | 179 | MX51_PAD_DISPB2_SER_DIN = 153, |
180 | MX51_PAD_DISPB2_SER_DIO = 155, | 180 | MX51_PAD_DISPB2_SER_DIO = 154, |
181 | MX51_PAD_DISPB2_SER_CLK = 156, | 181 | MX51_PAD_DISPB2_SER_CLK = 155, |
182 | MX51_PAD_DISPB2_SER_RS = 157, | 182 | MX51_PAD_DISPB2_SER_RS = 156, |
183 | MX51_PAD_DISP1_DAT0 = 158, | 183 | MX51_PAD_DISP1_DAT0 = 157, |
184 | MX51_PAD_DISP1_DAT1 = 159, | 184 | MX51_PAD_DISP1_DAT1 = 158, |
185 | MX51_PAD_DISP1_DAT2 = 160, | 185 | MX51_PAD_DISP1_DAT2 = 159, |
186 | MX51_PAD_DISP1_DAT3 = 161, | 186 | MX51_PAD_DISP1_DAT3 = 160, |
187 | MX51_PAD_DISP1_DAT4 = 162, | 187 | MX51_PAD_DISP1_DAT4 = 161, |
188 | MX51_PAD_DISP1_DAT5 = 163, | 188 | MX51_PAD_DISP1_DAT5 = 162, |
189 | MX51_PAD_DISP1_DAT6 = 164, | 189 | MX51_PAD_DISP1_DAT6 = 163, |
190 | MX51_PAD_DISP1_DAT7 = 165, | 190 | MX51_PAD_DISP1_DAT7 = 164, |
191 | MX51_PAD_DISP1_DAT8 = 166, | 191 | MX51_PAD_DISP1_DAT8 = 165, |
192 | MX51_PAD_DISP1_DAT9 = 167, | 192 | MX51_PAD_DISP1_DAT9 = 166, |
193 | MX51_PAD_DISP1_DAT10 = 168, | 193 | MX51_PAD_DISP1_DAT10 = 167, |
194 | MX51_PAD_DISP1_DAT11 = 169, | 194 | MX51_PAD_DISP1_DAT11 = 168, |
195 | MX51_PAD_DISP1_DAT12 = 170, | 195 | MX51_PAD_DISP1_DAT12 = 169, |
196 | MX51_PAD_DISP1_DAT13 = 171, | 196 | MX51_PAD_DISP1_DAT13 = 170, |
197 | MX51_PAD_DISP1_DAT14 = 172, | 197 | MX51_PAD_DISP1_DAT14 = 171, |
198 | MX51_PAD_DISP1_DAT15 = 173, | 198 | MX51_PAD_DISP1_DAT15 = 172, |
199 | MX51_PAD_DISP1_DAT16 = 174, | 199 | MX51_PAD_DISP1_DAT16 = 173, |
200 | MX51_PAD_DISP1_DAT17 = 175, | 200 | MX51_PAD_DISP1_DAT17 = 174, |
201 | MX51_PAD_DISP1_DAT18 = 176, | 201 | MX51_PAD_DISP1_DAT18 = 175, |
202 | MX51_PAD_DISP1_DAT19 = 177, | 202 | MX51_PAD_DISP1_DAT19 = 176, |
203 | MX51_PAD_DISP1_DAT20 = 178, | 203 | MX51_PAD_DISP1_DAT20 = 177, |
204 | MX51_PAD_DISP1_DAT21 = 179, | 204 | MX51_PAD_DISP1_DAT21 = 178, |
205 | MX51_PAD_DISP1_DAT22 = 180, | 205 | MX51_PAD_DISP1_DAT22 = 179, |
206 | MX51_PAD_DISP1_DAT23 = 181, | 206 | MX51_PAD_DISP1_DAT23 = 180, |
207 | MX51_PAD_DI1_PIN3 = 182, | 207 | MX51_PAD_DI1_PIN3 = 181, |
208 | MX51_PAD_DI1_PIN2 = 183, | 208 | MX51_PAD_DI1_PIN2 = 182, |
209 | MX51_PAD_DI_GP2 = 184, | 209 | MX51_PAD_DI_GP2 = 183, |
210 | MX51_PAD_DI_GP3 = 185, | 210 | MX51_PAD_DI_GP3 = 184, |
211 | MX51_PAD_DI2_PIN4 = 186, | 211 | MX51_PAD_DI2_PIN4 = 185, |
212 | MX51_PAD_DI2_PIN2 = 187, | 212 | MX51_PAD_DI2_PIN2 = 186, |
213 | MX51_PAD_DI2_PIN3 = 188, | 213 | MX51_PAD_DI2_PIN3 = 187, |
214 | MX51_PAD_DI2_DISP_CLK = 189, | 214 | MX51_PAD_DI2_DISP_CLK = 188, |
215 | MX51_PAD_DI_GP4 = 190, | 215 | MX51_PAD_DI_GP4 = 189, |
216 | MX51_PAD_DISP2_DAT0 = 191, | 216 | MX51_PAD_DISP2_DAT0 = 190, |
217 | MX51_PAD_DISP2_DAT1 = 192, | 217 | MX51_PAD_DISP2_DAT1 = 191, |
218 | MX51_PAD_DISP2_DAT2 = 193, | 218 | MX51_PAD_DISP2_DAT2 = 192, |
219 | MX51_PAD_DISP2_DAT3 = 194, | 219 | MX51_PAD_DISP2_DAT3 = 193, |
220 | MX51_PAD_DISP2_DAT4 = 195, | 220 | MX51_PAD_DISP2_DAT4 = 194, |
221 | MX51_PAD_DISP2_DAT5 = 196, | 221 | MX51_PAD_DISP2_DAT5 = 195, |
222 | MX51_PAD_DISP2_DAT6 = 197, | 222 | MX51_PAD_DISP2_DAT6 = 196, |
223 | MX51_PAD_DISP2_DAT7 = 198, | 223 | MX51_PAD_DISP2_DAT7 = 197, |
224 | MX51_PAD_DISP2_DAT8 = 199, | 224 | MX51_PAD_DISP2_DAT8 = 198, |
225 | MX51_PAD_DISP2_DAT9 = 200, | 225 | MX51_PAD_DISP2_DAT9 = 199, |
226 | MX51_PAD_DISP2_DAT10 = 201, | 226 | MX51_PAD_DISP2_DAT10 = 200, |
227 | MX51_PAD_DISP2_DAT11 = 202, | 227 | MX51_PAD_DISP2_DAT11 = 201, |
228 | MX51_PAD_DISP2_DAT12 = 203, | 228 | MX51_PAD_DISP2_DAT12 = 202, |
229 | MX51_PAD_DISP2_DAT13 = 204, | 229 | MX51_PAD_DISP2_DAT13 = 203, |
230 | MX51_PAD_DISP2_DAT14 = 205, | 230 | MX51_PAD_DISP2_DAT14 = 204, |
231 | MX51_PAD_DISP2_DAT15 = 206, | 231 | MX51_PAD_DISP2_DAT15 = 205, |
232 | MX51_PAD_SD1_CMD = 207, | 232 | MX51_PAD_SD1_CMD = 206, |
233 | MX51_PAD_SD1_CLK = 208, | 233 | MX51_PAD_SD1_CLK = 207, |
234 | MX51_PAD_SD1_DATA0 = 209, | 234 | MX51_PAD_SD1_DATA0 = 208, |
235 | MX51_PAD_EIM_DA0 = 210, | 235 | MX51_PAD_EIM_DA0 = 209, |
236 | MX51_PAD_EIM_DA1 = 211, | 236 | MX51_PAD_EIM_DA1 = 210, |
237 | MX51_PAD_EIM_DA2 = 212, | 237 | MX51_PAD_EIM_DA2 = 211, |
238 | MX51_PAD_EIM_DA3 = 213, | 238 | MX51_PAD_EIM_DA3 = 212, |
239 | MX51_PAD_SD1_DATA1 = 214, | 239 | MX51_PAD_SD1_DATA1 = 213, |
240 | MX51_PAD_EIM_DA4 = 215, | 240 | MX51_PAD_EIM_DA4 = 214, |
241 | MX51_PAD_EIM_DA5 = 216, | 241 | MX51_PAD_EIM_DA5 = 215, |
242 | MX51_PAD_EIM_DA6 = 217, | 242 | MX51_PAD_EIM_DA6 = 216, |
243 | MX51_PAD_EIM_DA7 = 218, | 243 | MX51_PAD_EIM_DA7 = 217, |
244 | MX51_PAD_SD1_DATA2 = 219, | 244 | MX51_PAD_SD1_DATA2 = 218, |
245 | MX51_PAD_EIM_DA10 = 220, | 245 | MX51_PAD_EIM_DA10 = 219, |
246 | MX51_PAD_EIM_DA11 = 221, | 246 | MX51_PAD_EIM_DA11 = 220, |
247 | MX51_PAD_EIM_DA8 = 222, | 247 | MX51_PAD_EIM_DA8 = 221, |
248 | MX51_PAD_EIM_DA9 = 223, | 248 | MX51_PAD_EIM_DA9 = 222, |
249 | MX51_PAD_SD1_DATA3 = 224, | 249 | MX51_PAD_SD1_DATA3 = 223, |
250 | MX51_PAD_GPIO1_0 = 225, | 250 | MX51_PAD_GPIO1_0 = 224, |
251 | MX51_PAD_GPIO1_1 = 226, | 251 | MX51_PAD_GPIO1_1 = 225, |
252 | MX51_PAD_EIM_DA12 = 227, | 252 | MX51_PAD_EIM_DA12 = 226, |
253 | MX51_PAD_EIM_DA13 = 228, | 253 | MX51_PAD_EIM_DA13 = 227, |
254 | MX51_PAD_EIM_DA14 = 229, | 254 | MX51_PAD_EIM_DA14 = 228, |
255 | MX51_PAD_EIM_DA15 = 230, | 255 | MX51_PAD_EIM_DA15 = 229, |
256 | MX51_PAD_SD2_CMD = 231, | 256 | MX51_PAD_SD2_CMD = 230, |
257 | MX51_PAD_SD2_CLK = 232, | 257 | MX51_PAD_SD2_CLK = 231, |
258 | MX51_PAD_SD2_DATA0 = 233, | 258 | MX51_PAD_SD2_DATA0 = 232, |
259 | MX51_PAD_SD2_DATA1 = 234, | 259 | MX51_PAD_SD2_DATA1 = 233, |
260 | MX51_PAD_SD2_DATA2 = 235, | 260 | MX51_PAD_SD2_DATA2 = 234, |
261 | MX51_PAD_SD2_DATA3 = 236, | 261 | MX51_PAD_SD2_DATA3 = 235, |
262 | MX51_PAD_GPIO1_2 = 237, | 262 | MX51_PAD_GPIO1_2 = 236, |
263 | MX51_PAD_GPIO1_3 = 238, | 263 | MX51_PAD_GPIO1_3 = 237, |
264 | MX51_PAD_PMIC_INT_REQ = 239, | 264 | MX51_PAD_PMIC_INT_REQ = 238, |
265 | MX51_PAD_GPIO1_4 = 240, | 265 | MX51_PAD_GPIO1_4 = 239, |
266 | MX51_PAD_GPIO1_5 = 241, | 266 | MX51_PAD_GPIO1_5 = 240, |
267 | MX51_PAD_GPIO1_6 = 242, | 267 | MX51_PAD_GPIO1_6 = 241, |
268 | MX51_PAD_GPIO1_7 = 243, | 268 | MX51_PAD_GPIO1_7 = 242, |
269 | MX51_PAD_GPIO1_8 = 244, | 269 | MX51_PAD_GPIO1_8 = 243, |
270 | MX51_PAD_GPIO1_9 = 245, | 270 | MX51_PAD_GPIO1_9 = 244, |
271 | }; | 271 | }; |
272 | 272 | ||
273 | /* imx51 register maps */ | 273 | /* imx51 register maps */ |
diff --git a/drivers/pinctrl/pinctrl-imx53.c b/drivers/pinctrl/pinctrl-imx53.c index 1f49e16a9bcd..783feb1ce064 100644 --- a/drivers/pinctrl/pinctrl-imx53.c +++ b/drivers/pinctrl/pinctrl-imx53.c | |||
@@ -23,207 +23,207 @@ | |||
23 | #include "pinctrl-imx.h" | 23 | #include "pinctrl-imx.h" |
24 | 24 | ||
25 | enum imx53_pads { | 25 | enum imx53_pads { |
26 | MX53_PAD_GPIO_19 = 1, | 26 | MX53_PAD_GPIO_19 = 0, |
27 | MX53_PAD_KEY_COL0 = 2, | 27 | MX53_PAD_KEY_COL0 = 1, |
28 | MX53_PAD_KEY_ROW0 = 3, | 28 | MX53_PAD_KEY_ROW0 = 2, |
29 | MX53_PAD_KEY_COL1 = 4, | 29 | MX53_PAD_KEY_COL1 = 3, |
30 | MX53_PAD_KEY_ROW1 = 5, | 30 | MX53_PAD_KEY_ROW1 = 4, |
31 | MX53_PAD_KEY_COL2 = 6, | 31 | MX53_PAD_KEY_COL2 = 5, |
32 | MX53_PAD_KEY_ROW2 = 7, | 32 | MX53_PAD_KEY_ROW2 = 6, |
33 | MX53_PAD_KEY_COL3 = 8, | 33 | MX53_PAD_KEY_COL3 = 7, |
34 | MX53_PAD_KEY_ROW3 = 9, | 34 | MX53_PAD_KEY_ROW3 = 8, |
35 | MX53_PAD_KEY_COL4 = 10, | 35 | MX53_PAD_KEY_COL4 = 9, |
36 | MX53_PAD_KEY_ROW4 = 11, | 36 | MX53_PAD_KEY_ROW4 = 10, |
37 | MX53_PAD_DI0_DISP_CLK = 12, | 37 | MX53_PAD_DI0_DISP_CLK = 11, |
38 | MX53_PAD_DI0_PIN15 = 13, | 38 | MX53_PAD_DI0_PIN15 = 12, |
39 | MX53_PAD_DI0_PIN2 = 14, | 39 | MX53_PAD_DI0_PIN2 = 13, |
40 | MX53_PAD_DI0_PIN3 = 15, | 40 | MX53_PAD_DI0_PIN3 = 14, |
41 | MX53_PAD_DI0_PIN4 = 16, | 41 | MX53_PAD_DI0_PIN4 = 15, |
42 | MX53_PAD_DISP0_DAT0 = 17, | 42 | MX53_PAD_DISP0_DAT0 = 16, |
43 | MX53_PAD_DISP0_DAT1 = 18, | 43 | MX53_PAD_DISP0_DAT1 = 17, |
44 | MX53_PAD_DISP0_DAT2 = 19, | 44 | MX53_PAD_DISP0_DAT2 = 18, |
45 | MX53_PAD_DISP0_DAT3 = 20, | 45 | MX53_PAD_DISP0_DAT3 = 19, |
46 | MX53_PAD_DISP0_DAT4 = 21, | 46 | MX53_PAD_DISP0_DAT4 = 20, |
47 | MX53_PAD_DISP0_DAT5 = 22, | 47 | MX53_PAD_DISP0_DAT5 = 21, |
48 | MX53_PAD_DISP0_DAT6 = 23, | 48 | MX53_PAD_DISP0_DAT6 = 22, |
49 | MX53_PAD_DISP0_DAT7 = 24, | 49 | MX53_PAD_DISP0_DAT7 = 23, |
50 | MX53_PAD_DISP0_DAT8 = 25, | 50 | MX53_PAD_DISP0_DAT8 = 24, |
51 | MX53_PAD_DISP0_DAT9 = 26, | 51 | MX53_PAD_DISP0_DAT9 = 25, |
52 | MX53_PAD_DISP0_DAT10 = 27, | 52 | MX53_PAD_DISP0_DAT10 = 26, |
53 | MX53_PAD_DISP0_DAT11 = 28, | 53 | MX53_PAD_DISP0_DAT11 = 27, |
54 | MX53_PAD_DISP0_DAT12 = 29, | 54 | MX53_PAD_DISP0_DAT12 = 28, |
55 | MX53_PAD_DISP0_DAT13 = 30, | 55 | MX53_PAD_DISP0_DAT13 = 29, |
56 | MX53_PAD_DISP0_DAT14 = 31, | 56 | MX53_PAD_DISP0_DAT14 = 30, |
57 | MX53_PAD_DISP0_DAT15 = 32, | 57 | MX53_PAD_DISP0_DAT15 = 31, |
58 | MX53_PAD_DISP0_DAT16 = 33, | 58 | MX53_PAD_DISP0_DAT16 = 32, |
59 | MX53_PAD_DISP0_DAT17 = 34, | 59 | MX53_PAD_DISP0_DAT17 = 33, |
60 | MX53_PAD_DISP0_DAT18 = 35, | 60 | MX53_PAD_DISP0_DAT18 = 34, |
61 | MX53_PAD_DISP0_DAT19 = 36, | 61 | MX53_PAD_DISP0_DAT19 = 35, |
62 | MX53_PAD_DISP0_DAT20 = 37, | 62 | MX53_PAD_DISP0_DAT20 = 36, |
63 | MX53_PAD_DISP0_DAT21 = 38, | 63 | MX53_PAD_DISP0_DAT21 = 37, |
64 | MX53_PAD_DISP0_DAT22 = 39, | 64 | MX53_PAD_DISP0_DAT22 = 38, |
65 | MX53_PAD_DISP0_DAT23 = 40, | 65 | MX53_PAD_DISP0_DAT23 = 39, |
66 | MX53_PAD_CSI0_PIXCLK = 41, | 66 | MX53_PAD_CSI0_PIXCLK = 40, |
67 | MX53_PAD_CSI0_MCLK = 42, | 67 | MX53_PAD_CSI0_MCLK = 41, |
68 | MX53_PAD_CSI0_DATA_EN = 43, | 68 | MX53_PAD_CSI0_DATA_EN = 42, |
69 | MX53_PAD_CSI0_VSYNC = 44, | 69 | MX53_PAD_CSI0_VSYNC = 43, |
70 | MX53_PAD_CSI0_DAT4 = 45, | 70 | MX53_PAD_CSI0_DAT4 = 44, |
71 | MX53_PAD_CSI0_DAT5 = 46, | 71 | MX53_PAD_CSI0_DAT5 = 45, |
72 | MX53_PAD_CSI0_DAT6 = 47, | 72 | MX53_PAD_CSI0_DAT6 = 46, |
73 | MX53_PAD_CSI0_DAT7 = 48, | 73 | MX53_PAD_CSI0_DAT7 = 47, |
74 | MX53_PAD_CSI0_DAT8 = 49, | 74 | MX53_PAD_CSI0_DAT8 = 48, |
75 | MX53_PAD_CSI0_DAT9 = 50, | 75 | MX53_PAD_CSI0_DAT9 = 49, |
76 | MX53_PAD_CSI0_DAT10 = 51, | 76 | MX53_PAD_CSI0_DAT10 = 50, |
77 | MX53_PAD_CSI0_DAT11 = 52, | 77 | MX53_PAD_CSI0_DAT11 = 51, |
78 | MX53_PAD_CSI0_DAT12 = 53, | 78 | MX53_PAD_CSI0_DAT12 = 52, |
79 | MX53_PAD_CSI0_DAT13 = 54, | 79 | MX53_PAD_CSI0_DAT13 = 53, |
80 | MX53_PAD_CSI0_DAT14 = 55, | 80 | MX53_PAD_CSI0_DAT14 = 54, |
81 | MX53_PAD_CSI0_DAT15 = 56, | 81 | MX53_PAD_CSI0_DAT15 = 55, |
82 | MX53_PAD_CSI0_DAT16 = 57, | 82 | MX53_PAD_CSI0_DAT16 = 56, |
83 | MX53_PAD_CSI0_DAT17 = 58, | 83 | MX53_PAD_CSI0_DAT17 = 57, |
84 | MX53_PAD_CSI0_DAT18 = 59, | 84 | MX53_PAD_CSI0_DAT18 = 58, |
85 | MX53_PAD_CSI0_DAT19 = 60, | 85 | MX53_PAD_CSI0_DAT19 = 59, |
86 | MX53_PAD_EIM_A25 = 61, | 86 | MX53_PAD_EIM_A25 = 60, |
87 | MX53_PAD_EIM_EB2 = 62, | 87 | MX53_PAD_EIM_EB2 = 61, |
88 | MX53_PAD_EIM_D16 = 63, | 88 | MX53_PAD_EIM_D16 = 62, |
89 | MX53_PAD_EIM_D17 = 64, | 89 | MX53_PAD_EIM_D17 = 63, |
90 | MX53_PAD_EIM_D18 = 65, | 90 | MX53_PAD_EIM_D18 = 64, |
91 | MX53_PAD_EIM_D19 = 66, | 91 | MX53_PAD_EIM_D19 = 65, |
92 | MX53_PAD_EIM_D20 = 67, | 92 | MX53_PAD_EIM_D20 = 66, |
93 | MX53_PAD_EIM_D21 = 68, | 93 | MX53_PAD_EIM_D21 = 67, |
94 | MX53_PAD_EIM_D22 = 69, | 94 | MX53_PAD_EIM_D22 = 68, |
95 | MX53_PAD_EIM_D23 = 70, | 95 | MX53_PAD_EIM_D23 = 69, |
96 | MX53_PAD_EIM_EB3 = 71, | 96 | MX53_PAD_EIM_EB3 = 70, |
97 | MX53_PAD_EIM_D24 = 72, | 97 | MX53_PAD_EIM_D24 = 71, |
98 | MX53_PAD_EIM_D25 = 73, | 98 | MX53_PAD_EIM_D25 = 72, |
99 | MX53_PAD_EIM_D26 = 74, | 99 | MX53_PAD_EIM_D26 = 73, |
100 | MX53_PAD_EIM_D27 = 75, | 100 | MX53_PAD_EIM_D27 = 74, |
101 | MX53_PAD_EIM_D28 = 76, | 101 | MX53_PAD_EIM_D28 = 75, |
102 | MX53_PAD_EIM_D29 = 77, | 102 | MX53_PAD_EIM_D29 = 76, |
103 | MX53_PAD_EIM_D30 = 78, | 103 | MX53_PAD_EIM_D30 = 77, |
104 | MX53_PAD_EIM_D31 = 79, | 104 | MX53_PAD_EIM_D31 = 78, |
105 | MX53_PAD_EIM_A24 = 80, | 105 | MX53_PAD_EIM_A24 = 79, |
106 | MX53_PAD_EIM_A23 = 81, | 106 | MX53_PAD_EIM_A23 = 80, |
107 | MX53_PAD_EIM_A22 = 82, | 107 | MX53_PAD_EIM_A22 = 81, |
108 | MX53_PAD_EIM_A21 = 83, | 108 | MX53_PAD_EIM_A21 = 82, |
109 | MX53_PAD_EIM_A20 = 84, | 109 | MX53_PAD_EIM_A20 = 83, |
110 | MX53_PAD_EIM_A19 = 85, | 110 | MX53_PAD_EIM_A19 = 84, |
111 | MX53_PAD_EIM_A18 = 86, | 111 | MX53_PAD_EIM_A18 = 85, |
112 | MX53_PAD_EIM_A17 = 87, | 112 | MX53_PAD_EIM_A17 = 86, |
113 | MX53_PAD_EIM_A16 = 88, | 113 | MX53_PAD_EIM_A16 = 87, |
114 | MX53_PAD_EIM_CS0 = 89, | 114 | MX53_PAD_EIM_CS0 = 88, |
115 | MX53_PAD_EIM_CS1 = 90, | 115 | MX53_PAD_EIM_CS1 = 89, |
116 | MX53_PAD_EIM_OE = 91, | 116 | MX53_PAD_EIM_OE = 90, |
117 | MX53_PAD_EIM_RW = 92, | 117 | MX53_PAD_EIM_RW = 91, |
118 | MX53_PAD_EIM_LBA = 93, | 118 | MX53_PAD_EIM_LBA = 92, |
119 | MX53_PAD_EIM_EB0 = 94, | 119 | MX53_PAD_EIM_EB0 = 93, |
120 | MX53_PAD_EIM_EB1 = 95, | 120 | MX53_PAD_EIM_EB1 = 94, |
121 | MX53_PAD_EIM_DA0 = 96, | 121 | MX53_PAD_EIM_DA0 = 95, |
122 | MX53_PAD_EIM_DA1 = 97, | 122 | MX53_PAD_EIM_DA1 = 96, |
123 | MX53_PAD_EIM_DA2 = 98, | 123 | MX53_PAD_EIM_DA2 = 97, |
124 | MX53_PAD_EIM_DA3 = 99, | 124 | MX53_PAD_EIM_DA3 = 98, |
125 | MX53_PAD_EIM_DA4 = 100, | 125 | MX53_PAD_EIM_DA4 = 99, |
126 | MX53_PAD_EIM_DA5 = 101, | 126 | MX53_PAD_EIM_DA5 = 100, |
127 | MX53_PAD_EIM_DA6 = 102, | 127 | MX53_PAD_EIM_DA6 = 101, |
128 | MX53_PAD_EIM_DA7 = 103, | 128 | MX53_PAD_EIM_DA7 = 102, |
129 | MX53_PAD_EIM_DA8 = 104, | 129 | MX53_PAD_EIM_DA8 = 103, |
130 | MX53_PAD_EIM_DA9 = 105, | 130 | MX53_PAD_EIM_DA9 = 104, |
131 | MX53_PAD_EIM_DA10 = 106, | 131 | MX53_PAD_EIM_DA10 = 105, |
132 | MX53_PAD_EIM_DA11 = 107, | 132 | MX53_PAD_EIM_DA11 = 106, |
133 | MX53_PAD_EIM_DA12 = 108, | 133 | MX53_PAD_EIM_DA12 = 107, |
134 | MX53_PAD_EIM_DA13 = 109, | 134 | MX53_PAD_EIM_DA13 = 108, |
135 | MX53_PAD_EIM_DA14 = 110, | 135 | MX53_PAD_EIM_DA14 = 109, |
136 | MX53_PAD_EIM_DA15 = 111, | 136 | MX53_PAD_EIM_DA15 = 110, |
137 | MX53_PAD_NANDF_WE_B = 112, | 137 | MX53_PAD_NANDF_WE_B = 111, |
138 | MX53_PAD_NANDF_RE_B = 113, | 138 | MX53_PAD_NANDF_RE_B = 112, |
139 | MX53_PAD_EIM_WAIT = 114, | 139 | MX53_PAD_EIM_WAIT = 113, |
140 | MX53_PAD_LVDS1_TX3_P = 115, | 140 | MX53_PAD_LVDS1_TX3_P = 114, |
141 | MX53_PAD_LVDS1_TX2_P = 116, | 141 | MX53_PAD_LVDS1_TX2_P = 115, |
142 | MX53_PAD_LVDS1_CLK_P = 117, | 142 | MX53_PAD_LVDS1_CLK_P = 116, |
143 | MX53_PAD_LVDS1_TX1_P = 118, | 143 | MX53_PAD_LVDS1_TX1_P = 117, |
144 | MX53_PAD_LVDS1_TX0_P = 119, | 144 | MX53_PAD_LVDS1_TX0_P = 118, |
145 | MX53_PAD_LVDS0_TX3_P = 120, | 145 | MX53_PAD_LVDS0_TX3_P = 119, |
146 | MX53_PAD_LVDS0_CLK_P = 121, | 146 | MX53_PAD_LVDS0_CLK_P = 120, |
147 | MX53_PAD_LVDS0_TX2_P = 122, | 147 | MX53_PAD_LVDS0_TX2_P = 121, |
148 | MX53_PAD_LVDS0_TX1_P = 123, | 148 | MX53_PAD_LVDS0_TX1_P = 122, |
149 | MX53_PAD_LVDS0_TX0_P = 124, | 149 | MX53_PAD_LVDS0_TX0_P = 123, |
150 | MX53_PAD_GPIO_10 = 125, | 150 | MX53_PAD_GPIO_10 = 124, |
151 | MX53_PAD_GPIO_11 = 126, | 151 | MX53_PAD_GPIO_11 = 125, |
152 | MX53_PAD_GPIO_12 = 127, | 152 | MX53_PAD_GPIO_12 = 126, |
153 | MX53_PAD_GPIO_13 = 128, | 153 | MX53_PAD_GPIO_13 = 127, |
154 | MX53_PAD_GPIO_14 = 129, | 154 | MX53_PAD_GPIO_14 = 128, |
155 | MX53_PAD_NANDF_CLE = 130, | 155 | MX53_PAD_NANDF_CLE = 129, |
156 | MX53_PAD_NANDF_ALE = 131, | 156 | MX53_PAD_NANDF_ALE = 130, |
157 | MX53_PAD_NANDF_WP_B = 132, | 157 | MX53_PAD_NANDF_WP_B = 131, |
158 | MX53_PAD_NANDF_RB0 = 133, | 158 | MX53_PAD_NANDF_RB0 = 132, |
159 | MX53_PAD_NANDF_CS0 = 134, | 159 | MX53_PAD_NANDF_CS0 = 133, |
160 | MX53_PAD_NANDF_CS1 = 135, | 160 | MX53_PAD_NANDF_CS1 = 134, |
161 | MX53_PAD_NANDF_CS2 = 136, | 161 | MX53_PAD_NANDF_CS2 = 135, |
162 | MX53_PAD_NANDF_CS3 = 137, | 162 | MX53_PAD_NANDF_CS3 = 136, |
163 | MX53_PAD_FEC_MDIO = 138, | 163 | MX53_PAD_FEC_MDIO = 137, |
164 | MX53_PAD_FEC_REF_CLK = 139, | 164 | MX53_PAD_FEC_REF_CLK = 138, |
165 | MX53_PAD_FEC_RX_ER = 140, | 165 | MX53_PAD_FEC_RX_ER = 139, |
166 | MX53_PAD_FEC_CRS_DV = 141, | 166 | MX53_PAD_FEC_CRS_DV = 140, |
167 | MX53_PAD_FEC_RXD1 = 142, | 167 | MX53_PAD_FEC_RXD1 = 141, |
168 | MX53_PAD_FEC_RXD0 = 143, | 168 | MX53_PAD_FEC_RXD0 = 142, |
169 | MX53_PAD_FEC_TX_EN = 144, | 169 | MX53_PAD_FEC_TX_EN = 143, |
170 | MX53_PAD_FEC_TXD1 = 145, | 170 | MX53_PAD_FEC_TXD1 = 144, |
171 | MX53_PAD_FEC_TXD0 = 146, | 171 | MX53_PAD_FEC_TXD0 = 145, |
172 | MX53_PAD_FEC_MDC = 147, | 172 | MX53_PAD_FEC_MDC = 146, |
173 | MX53_PAD_PATA_DIOW = 148, | 173 | MX53_PAD_PATA_DIOW = 147, |
174 | MX53_PAD_PATA_DMACK = 149, | 174 | MX53_PAD_PATA_DMACK = 148, |
175 | MX53_PAD_PATA_DMARQ = 150, | 175 | MX53_PAD_PATA_DMARQ = 149, |
176 | MX53_PAD_PATA_BUFFER_EN = 151, | 176 | MX53_PAD_PATA_BUFFER_EN = 150, |
177 | MX53_PAD_PATA_INTRQ = 152, | 177 | MX53_PAD_PATA_INTRQ = 151, |
178 | MX53_PAD_PATA_DIOR = 153, | 178 | MX53_PAD_PATA_DIOR = 152, |
179 | MX53_PAD_PATA_RESET_B = 154, | 179 | MX53_PAD_PATA_RESET_B = 153, |
180 | MX53_PAD_PATA_IORDY = 155, | 180 | MX53_PAD_PATA_IORDY = 154, |
181 | MX53_PAD_PATA_DA_0 = 156, | 181 | MX53_PAD_PATA_DA_0 = 155, |
182 | MX53_PAD_PATA_DA_1 = 157, | 182 | MX53_PAD_PATA_DA_1 = 156, |
183 | MX53_PAD_PATA_DA_2 = 158, | 183 | MX53_PAD_PATA_DA_2 = 157, |
184 | MX53_PAD_PATA_CS_0 = 159, | 184 | MX53_PAD_PATA_CS_0 = 158, |
185 | MX53_PAD_PATA_CS_1 = 160, | 185 | MX53_PAD_PATA_CS_1 = 159, |
186 | MX53_PAD_PATA_DATA0 = 161, | 186 | MX53_PAD_PATA_DATA0 = 160, |
187 | MX53_PAD_PATA_DATA1 = 162, | 187 | MX53_PAD_PATA_DATA1 = 161, |
188 | MX53_PAD_PATA_DATA2 = 163, | 188 | MX53_PAD_PATA_DATA2 = 162, |
189 | MX53_PAD_PATA_DATA3 = 164, | 189 | MX53_PAD_PATA_DATA3 = 163, |
190 | MX53_PAD_PATA_DATA4 = 165, | 190 | MX53_PAD_PATA_DATA4 = 164, |
191 | MX53_PAD_PATA_DATA5 = 166, | 191 | MX53_PAD_PATA_DATA5 = 165, |
192 | MX53_PAD_PATA_DATA6 = 167, | 192 | MX53_PAD_PATA_DATA6 = 166, |
193 | MX53_PAD_PATA_DATA7 = 168, | 193 | MX53_PAD_PATA_DATA7 = 167, |
194 | MX53_PAD_PATA_DATA8 = 169, | 194 | MX53_PAD_PATA_DATA8 = 168, |
195 | MX53_PAD_PATA_DATA9 = 170, | 195 | MX53_PAD_PATA_DATA9 = 169, |
196 | MX53_PAD_PATA_DATA10 = 171, | 196 | MX53_PAD_PATA_DATA10 = 170, |
197 | MX53_PAD_PATA_DATA11 = 172, | 197 | MX53_PAD_PATA_DATA11 = 171, |
198 | MX53_PAD_PATA_DATA12 = 173, | 198 | MX53_PAD_PATA_DATA12 = 172, |
199 | MX53_PAD_PATA_DATA13 = 174, | 199 | MX53_PAD_PATA_DATA13 = 173, |
200 | MX53_PAD_PATA_DATA14 = 175, | 200 | MX53_PAD_PATA_DATA14 = 174, |
201 | MX53_PAD_PATA_DATA15 = 176, | 201 | MX53_PAD_PATA_DATA15 = 175, |
202 | MX53_PAD_SD1_DATA0 = 177, | 202 | MX53_PAD_SD1_DATA0 = 176, |
203 | MX53_PAD_SD1_DATA1 = 178, | 203 | MX53_PAD_SD1_DATA1 = 177, |
204 | MX53_PAD_SD1_CMD = 179, | 204 | MX53_PAD_SD1_CMD = 178, |
205 | MX53_PAD_SD1_DATA2 = 180, | 205 | MX53_PAD_SD1_DATA2 = 179, |
206 | MX53_PAD_SD1_CLK = 181, | 206 | MX53_PAD_SD1_CLK = 180, |
207 | MX53_PAD_SD1_DATA3 = 182, | 207 | MX53_PAD_SD1_DATA3 = 181, |
208 | MX53_PAD_SD2_CLK = 183, | 208 | MX53_PAD_SD2_CLK = 182, |
209 | MX53_PAD_SD2_CMD = 184, | 209 | MX53_PAD_SD2_CMD = 183, |
210 | MX53_PAD_SD2_DATA3 = 185, | 210 | MX53_PAD_SD2_DATA3 = 184, |
211 | MX53_PAD_SD2_DATA2 = 186, | 211 | MX53_PAD_SD2_DATA2 = 185, |
212 | MX53_PAD_SD2_DATA1 = 187, | 212 | MX53_PAD_SD2_DATA1 = 186, |
213 | MX53_PAD_SD2_DATA0 = 188, | 213 | MX53_PAD_SD2_DATA0 = 187, |
214 | MX53_PAD_GPIO_0 = 189, | 214 | MX53_PAD_GPIO_0 = 188, |
215 | MX53_PAD_GPIO_1 = 190, | 215 | MX53_PAD_GPIO_1 = 189, |
216 | MX53_PAD_GPIO_9 = 191, | 216 | MX53_PAD_GPIO_9 = 190, |
217 | MX53_PAD_GPIO_3 = 192, | 217 | MX53_PAD_GPIO_3 = 191, |
218 | MX53_PAD_GPIO_6 = 193, | 218 | MX53_PAD_GPIO_6 = 192, |
219 | MX53_PAD_GPIO_2 = 194, | 219 | MX53_PAD_GPIO_2 = 193, |
220 | MX53_PAD_GPIO_4 = 195, | 220 | MX53_PAD_GPIO_4 = 194, |
221 | MX53_PAD_GPIO_5 = 196, | 221 | MX53_PAD_GPIO_5 = 195, |
222 | MX53_PAD_GPIO_7 = 197, | 222 | MX53_PAD_GPIO_7 = 196, |
223 | MX53_PAD_GPIO_8 = 198, | 223 | MX53_PAD_GPIO_8 = 197, |
224 | MX53_PAD_GPIO_16 = 199, | 224 | MX53_PAD_GPIO_16 = 198, |
225 | MX53_PAD_GPIO_17 = 200, | 225 | MX53_PAD_GPIO_17 = 199, |
226 | MX53_PAD_GPIO_18 = 201, | 226 | MX53_PAD_GPIO_18 = 200, |
227 | }; | 227 | }; |
228 | 228 | ||
229 | /* imx53 register maps */ | 229 | /* imx53 register maps */ |
diff --git a/drivers/pinctrl/pinctrl-nomadik-db8500.c b/drivers/pinctrl/pinctrl-nomadik-db8500.c index a39fb7a6fc51..ec6209dd7c39 100644 --- a/drivers/pinctrl/pinctrl-nomadik-db8500.c +++ b/drivers/pinctrl/pinctrl-nomadik-db8500.c | |||
@@ -465,6 +465,8 @@ static const unsigned mc4_a_1_pins[] = { DB8500_PIN_AH24, DB8500_PIN_AG25, | |||
465 | static const unsigned mc1_a_1_pins[] = { DB8500_PIN_AH16, DB8500_PIN_AG15, | 465 | static const unsigned mc1_a_1_pins[] = { DB8500_PIN_AH16, DB8500_PIN_AG15, |
466 | DB8500_PIN_AJ15, DB8500_PIN_AG14, DB8500_PIN_AF13, DB8500_PIN_AG13, | 466 | DB8500_PIN_AJ15, DB8500_PIN_AG14, DB8500_PIN_AF13, DB8500_PIN_AG13, |
467 | DB8500_PIN_AH15 }; | 467 | DB8500_PIN_AH15 }; |
468 | static const unsigned mc1_a_2_pins[] = { DB8500_PIN_AH16, DB8500_PIN_AJ15, | ||
469 | DB8500_PIN_AG14, DB8500_PIN_AF13, DB8500_PIN_AG13,DB8500_PIN_AH15 }; | ||
468 | static const unsigned mc1dir_a_1_pins[] = { DB8500_PIN_AH13, DB8500_PIN_AG12, | 470 | static const unsigned mc1dir_a_1_pins[] = { DB8500_PIN_AH13, DB8500_PIN_AG12, |
469 | DB8500_PIN_AH12, DB8500_PIN_AH11 }; | 471 | DB8500_PIN_AH12, DB8500_PIN_AH11 }; |
470 | static const unsigned hsir_a_1_pins[] = { DB8500_PIN_AG10, DB8500_PIN_AH10, | 472 | static const unsigned hsir_a_1_pins[] = { DB8500_PIN_AG10, DB8500_PIN_AH10, |
@@ -641,6 +643,7 @@ static const struct nmk_pingroup nmk_db8500_groups[] = { | |||
641 | DB8500_PIN_GROUP(msp2_a_1, NMK_GPIO_ALT_A), | 643 | DB8500_PIN_GROUP(msp2_a_1, NMK_GPIO_ALT_A), |
642 | DB8500_PIN_GROUP(mc4_a_1, NMK_GPIO_ALT_A), | 644 | DB8500_PIN_GROUP(mc4_a_1, NMK_GPIO_ALT_A), |
643 | DB8500_PIN_GROUP(mc1_a_1, NMK_GPIO_ALT_A), | 645 | DB8500_PIN_GROUP(mc1_a_1, NMK_GPIO_ALT_A), |
646 | DB8500_PIN_GROUP(mc1_a_2, NMK_GPIO_ALT_A), | ||
644 | DB8500_PIN_GROUP(hsir_a_1, NMK_GPIO_ALT_A), | 647 | DB8500_PIN_GROUP(hsir_a_1, NMK_GPIO_ALT_A), |
645 | DB8500_PIN_GROUP(hsit_a_1, NMK_GPIO_ALT_A), | 648 | DB8500_PIN_GROUP(hsit_a_1, NMK_GPIO_ALT_A), |
646 | DB8500_PIN_GROUP(hsit_a_2, NMK_GPIO_ALT_A), | 649 | DB8500_PIN_GROUP(hsit_a_2, NMK_GPIO_ALT_A), |
@@ -768,7 +771,7 @@ DB8500_FUNC_GROUPS(ipgpio, "ipgpio0_a_1", "ipgpio1_a_1", "ipgpio7_b_1", | |||
768 | /* MSP2 can not invert the RX/TX pins but has the optional SCK pin */ | 771 | /* MSP2 can not invert the RX/TX pins but has the optional SCK pin */ |
769 | DB8500_FUNC_GROUPS(msp2, "msp2sck_a_1", "msp2_a_1"); | 772 | DB8500_FUNC_GROUPS(msp2, "msp2sck_a_1", "msp2_a_1"); |
770 | DB8500_FUNC_GROUPS(mc4, "mc4_a_1", "mc4rstn_c_1"); | 773 | DB8500_FUNC_GROUPS(mc4, "mc4_a_1", "mc4rstn_c_1"); |
771 | DB8500_FUNC_GROUPS(mc1, "mc1_a_1", "mc1dir_a_1"); | 774 | DB8500_FUNC_GROUPS(mc1, "mc1_a_1", "mc1_a_2", "mc1dir_a_1"); |
772 | DB8500_FUNC_GROUPS(hsi, "hsir_a_1", "hsit_a_1", "hsit_a_2"); | 775 | DB8500_FUNC_GROUPS(hsi, "hsir_a_1", "hsit_a_1", "hsit_a_2"); |
773 | DB8500_FUNC_GROUPS(clkout, "clkout_a_1", "clkout_a_2", "clkout_c_1"); | 776 | DB8500_FUNC_GROUPS(clkout, "clkout_a_1", "clkout_a_2", "clkout_c_1"); |
774 | DB8500_FUNC_GROUPS(usb, "usb_a_1"); | 777 | DB8500_FUNC_GROUPS(usb, "usb_a_1"); |
diff --git a/drivers/pinctrl/pinctrl-nomadik-db8540.c b/drivers/pinctrl/pinctrl-nomadik-db8540.c new file mode 100644 index 000000000000..3daf665c84c3 --- /dev/null +++ b/drivers/pinctrl/pinctrl-nomadik-db8540.c | |||
@@ -0,0 +1,999 @@ | |||
1 | #include <linux/kernel.h> | ||
2 | #include <linux/pinctrl/pinctrl.h> | ||
3 | #include "pinctrl-nomadik.h" | ||
4 | |||
5 | /* All the pins that can be used for GPIO and some other functions */ | ||
6 | #define _GPIO(offset) (offset) | ||
7 | |||
8 | #define DB8540_PIN_AH6 _GPIO(0) | ||
9 | #define DB8540_PIN_AG7 _GPIO(1) | ||
10 | #define DB8540_PIN_AF2 _GPIO(2) | ||
11 | #define DB8540_PIN_AD3 _GPIO(3) | ||
12 | #define DB8540_PIN_AF6 _GPIO(4) | ||
13 | #define DB8540_PIN_AG6 _GPIO(5) | ||
14 | #define DB8540_PIN_AD5 _GPIO(6) | ||
15 | #define DB8540_PIN_AF7 _GPIO(7) | ||
16 | #define DB8540_PIN_AG5 _GPIO(8) | ||
17 | #define DB8540_PIN_AH5 _GPIO(9) | ||
18 | #define DB8540_PIN_AE4 _GPIO(10) | ||
19 | #define DB8540_PIN_AD1 _GPIO(11) | ||
20 | #define DB8540_PIN_AD2 _GPIO(12) | ||
21 | #define DB8540_PIN_AC2 _GPIO(13) | ||
22 | #define DB8540_PIN_AC4 _GPIO(14) | ||
23 | #define DB8540_PIN_AC3 _GPIO(15) | ||
24 | #define DB8540_PIN_AH7 _GPIO(16) | ||
25 | #define DB8540_PIN_AE7 _GPIO(17) | ||
26 | /* Hole */ | ||
27 | #define DB8540_PIN_AF8 _GPIO(22) | ||
28 | #define DB8540_PIN_AH11 _GPIO(23) | ||
29 | #define DB8540_PIN_AG11 _GPIO(24) | ||
30 | #define DB8540_PIN_AF11 _GPIO(25) | ||
31 | #define DB8540_PIN_AH10 _GPIO(26) | ||
32 | #define DB8540_PIN_AG10 _GPIO(27) | ||
33 | #define DB8540_PIN_AF10 _GPIO(28) | ||
34 | /* Hole */ | ||
35 | #define DB8540_PIN_AD4 _GPIO(33) | ||
36 | #define DB8540_PIN_AF3 _GPIO(34) | ||
37 | #define DB8540_PIN_AF5 _GPIO(35) | ||
38 | #define DB8540_PIN_AG4 _GPIO(36) | ||
39 | #define DB8540_PIN_AF9 _GPIO(37) | ||
40 | #define DB8540_PIN_AE8 _GPIO(38) | ||
41 | /* Hole */ | ||
42 | #define DB8540_PIN_M26 _GPIO(64) | ||
43 | #define DB8540_PIN_M25 _GPIO(65) | ||
44 | #define DB8540_PIN_M27 _GPIO(66) | ||
45 | #define DB8540_PIN_N25 _GPIO(67) | ||
46 | /* Hole */ | ||
47 | #define DB8540_PIN_M28 _GPIO(70) | ||
48 | #define DB8540_PIN_N26 _GPIO(71) | ||
49 | #define DB8540_PIN_M22 _GPIO(72) | ||
50 | #define DB8540_PIN_N22 _GPIO(73) | ||
51 | #define DB8540_PIN_N27 _GPIO(74) | ||
52 | #define DB8540_PIN_N28 _GPIO(75) | ||
53 | #define DB8540_PIN_P22 _GPIO(76) | ||
54 | #define DB8540_PIN_P28 _GPIO(77) | ||
55 | #define DB8540_PIN_P26 _GPIO(78) | ||
56 | #define DB8540_PIN_T22 _GPIO(79) | ||
57 | #define DB8540_PIN_R27 _GPIO(80) | ||
58 | #define DB8540_PIN_P27 _GPIO(81) | ||
59 | #define DB8540_PIN_R26 _GPIO(82) | ||
60 | #define DB8540_PIN_R25 _GPIO(83) | ||
61 | #define DB8540_PIN_U22 _GPIO(84) | ||
62 | #define DB8540_PIN_T27 _GPIO(85) | ||
63 | #define DB8540_PIN_T25 _GPIO(86) | ||
64 | #define DB8540_PIN_T26 _GPIO(87) | ||
65 | /* Hole */ | ||
66 | #define DB8540_PIN_AF20 _GPIO(116) | ||
67 | #define DB8540_PIN_AG21 _GPIO(117) | ||
68 | #define DB8540_PIN_AH19 _GPIO(118) | ||
69 | #define DB8540_PIN_AE19 _GPIO(119) | ||
70 | #define DB8540_PIN_AG18 _GPIO(120) | ||
71 | #define DB8540_PIN_AH17 _GPIO(121) | ||
72 | #define DB8540_PIN_AF19 _GPIO(122) | ||
73 | #define DB8540_PIN_AF18 _GPIO(123) | ||
74 | #define DB8540_PIN_AE18 _GPIO(124) | ||
75 | #define DB8540_PIN_AG17 _GPIO(125) | ||
76 | #define DB8540_PIN_AF17 _GPIO(126) | ||
77 | #define DB8540_PIN_AE17 _GPIO(127) | ||
78 | #define DB8540_PIN_AC27 _GPIO(128) | ||
79 | #define DB8540_PIN_AD27 _GPIO(129) | ||
80 | #define DB8540_PIN_AE28 _GPIO(130) | ||
81 | #define DB8540_PIN_AG26 _GPIO(131) | ||
82 | #define DB8540_PIN_AF25 _GPIO(132) | ||
83 | #define DB8540_PIN_AE27 _GPIO(133) | ||
84 | #define DB8540_PIN_AF27 _GPIO(134) | ||
85 | #define DB8540_PIN_AG28 _GPIO(135) | ||
86 | #define DB8540_PIN_AF28 _GPIO(136) | ||
87 | #define DB8540_PIN_AG25 _GPIO(137) | ||
88 | #define DB8540_PIN_AG24 _GPIO(138) | ||
89 | #define DB8540_PIN_AD25 _GPIO(139) | ||
90 | #define DB8540_PIN_AH25 _GPIO(140) | ||
91 | #define DB8540_PIN_AF26 _GPIO(141) | ||
92 | #define DB8540_PIN_AF23 _GPIO(142) | ||
93 | #define DB8540_PIN_AG23 _GPIO(143) | ||
94 | #define DB8540_PIN_AE25 _GPIO(144) | ||
95 | #define DB8540_PIN_AH24 _GPIO(145) | ||
96 | #define DB8540_PIN_AJ25 _GPIO(146) | ||
97 | #define DB8540_PIN_AG27 _GPIO(147) | ||
98 | #define DB8540_PIN_AH23 _GPIO(148) | ||
99 | #define DB8540_PIN_AE26 _GPIO(149) | ||
100 | #define DB8540_PIN_AE24 _GPIO(150) | ||
101 | #define DB8540_PIN_AJ24 _GPIO(151) | ||
102 | #define DB8540_PIN_AE21 _GPIO(152) | ||
103 | #define DB8540_PIN_AG22 _GPIO(153) | ||
104 | #define DB8540_PIN_AF21 _GPIO(154) | ||
105 | #define DB8540_PIN_AF24 _GPIO(155) | ||
106 | #define DB8540_PIN_AH22 _GPIO(156) | ||
107 | #define DB8540_PIN_AJ23 _GPIO(157) | ||
108 | #define DB8540_PIN_AH21 _GPIO(158) | ||
109 | #define DB8540_PIN_AG20 _GPIO(159) | ||
110 | #define DB8540_PIN_AE23 _GPIO(160) | ||
111 | #define DB8540_PIN_AH20 _GPIO(161) | ||
112 | #define DB8540_PIN_AG19 _GPIO(162) | ||
113 | #define DB8540_PIN_AF22 _GPIO(163) | ||
114 | #define DB8540_PIN_AJ21 _GPIO(164) | ||
115 | #define DB8540_PIN_AD26 _GPIO(165) | ||
116 | #define DB8540_PIN_AD28 _GPIO(166) | ||
117 | #define DB8540_PIN_AC28 _GPIO(167) | ||
118 | #define DB8540_PIN_AC26 _GPIO(168) | ||
119 | /* Hole */ | ||
120 | #define DB8540_PIN_J3 _GPIO(192) | ||
121 | #define DB8540_PIN_H1 _GPIO(193) | ||
122 | #define DB8540_PIN_J2 _GPIO(194) | ||
123 | #define DB8540_PIN_H2 _GPIO(195) | ||
124 | #define DB8540_PIN_H3 _GPIO(196) | ||
125 | #define DB8540_PIN_H4 _GPIO(197) | ||
126 | #define DB8540_PIN_G2 _GPIO(198) | ||
127 | #define DB8540_PIN_G3 _GPIO(199) | ||
128 | #define DB8540_PIN_G4 _GPIO(200) | ||
129 | #define DB8540_PIN_F2 _GPIO(201) | ||
130 | #define DB8540_PIN_C6 _GPIO(202) | ||
131 | #define DB8540_PIN_B6 _GPIO(203) | ||
132 | #define DB8540_PIN_B7 _GPIO(204) | ||
133 | #define DB8540_PIN_A7 _GPIO(205) | ||
134 | #define DB8540_PIN_D7 _GPIO(206) | ||
135 | #define DB8540_PIN_D8 _GPIO(207) | ||
136 | #define DB8540_PIN_F3 _GPIO(208) | ||
137 | #define DB8540_PIN_E2 _GPIO(209) | ||
138 | #define DB8540_PIN_C7 _GPIO(210) | ||
139 | #define DB8540_PIN_B8 _GPIO(211) | ||
140 | #define DB8540_PIN_C10 _GPIO(212) | ||
141 | #define DB8540_PIN_C8 _GPIO(213) | ||
142 | #define DB8540_PIN_C9 _GPIO(214) | ||
143 | /* Hole */ | ||
144 | #define DB8540_PIN_B9 _GPIO(219) | ||
145 | #define DB8540_PIN_A10 _GPIO(220) | ||
146 | #define DB8540_PIN_D9 _GPIO(221) | ||
147 | #define DB8540_PIN_B11 _GPIO(222) | ||
148 | #define DB8540_PIN_B10 _GPIO(223) | ||
149 | #define DB8540_PIN_E10 _GPIO(224) | ||
150 | #define DB8540_PIN_B12 _GPIO(225) | ||
151 | #define DB8540_PIN_D10 _GPIO(226) | ||
152 | #define DB8540_PIN_D11 _GPIO(227) | ||
153 | #define DB8540_PIN_AJ6 _GPIO(228) | ||
154 | #define DB8540_PIN_B13 _GPIO(229) | ||
155 | #define DB8540_PIN_C12 _GPIO(230) | ||
156 | #define DB8540_PIN_B14 _GPIO(231) | ||
157 | #define DB8540_PIN_E11 _GPIO(232) | ||
158 | /* Hole */ | ||
159 | #define DB8540_PIN_D12 _GPIO(256) | ||
160 | #define DB8540_PIN_D15 _GPIO(257) | ||
161 | #define DB8540_PIN_C13 _GPIO(258) | ||
162 | #define DB8540_PIN_C14 _GPIO(259) | ||
163 | #define DB8540_PIN_C18 _GPIO(260) | ||
164 | #define DB8540_PIN_C16 _GPIO(261) | ||
165 | #define DB8540_PIN_B16 _GPIO(262) | ||
166 | #define DB8540_PIN_D18 _GPIO(263) | ||
167 | #define DB8540_PIN_C15 _GPIO(264) | ||
168 | #define DB8540_PIN_C17 _GPIO(265) | ||
169 | #define DB8540_PIN_B17 _GPIO(266) | ||
170 | #define DB8540_PIN_D17 _GPIO(267) | ||
171 | |||
172 | /* | ||
173 | * The names of the pins are denoted by GPIO number and ball name, even | ||
174 | * though they can be used for other things than GPIO, this is the first | ||
175 | * column in the table of the data sheet and often used on schematics and | ||
176 | * such. | ||
177 | */ | ||
178 | static const struct pinctrl_pin_desc nmk_db8540_pins[] = { | ||
179 | PINCTRL_PIN(DB8540_PIN_AH6, "GPIO0_AH6"), | ||
180 | PINCTRL_PIN(DB8540_PIN_AG7, "GPIO1_AG7"), | ||
181 | PINCTRL_PIN(DB8540_PIN_AF2, "GPIO2_AF2"), | ||
182 | PINCTRL_PIN(DB8540_PIN_AD3, "GPIO3_AD3"), | ||
183 | PINCTRL_PIN(DB8540_PIN_AF6, "GPIO4_AF6"), | ||
184 | PINCTRL_PIN(DB8540_PIN_AG6, "GPIO5_AG6"), | ||
185 | PINCTRL_PIN(DB8540_PIN_AD5, "GPIO6_AD5"), | ||
186 | PINCTRL_PIN(DB8540_PIN_AF7, "GPIO7_AF7"), | ||
187 | PINCTRL_PIN(DB8540_PIN_AG5, "GPIO8_AG5"), | ||
188 | PINCTRL_PIN(DB8540_PIN_AH5, "GPIO9_AH5"), | ||
189 | PINCTRL_PIN(DB8540_PIN_AE4, "GPIO10_AE4"), | ||
190 | PINCTRL_PIN(DB8540_PIN_AD1, "GPIO11_AD1"), | ||
191 | PINCTRL_PIN(DB8540_PIN_AD2, "GPIO12_AD2"), | ||
192 | PINCTRL_PIN(DB8540_PIN_AC2, "GPIO13_AC2"), | ||
193 | PINCTRL_PIN(DB8540_PIN_AC4, "GPIO14_AC4"), | ||
194 | PINCTRL_PIN(DB8540_PIN_AC3, "GPIO15_AC3"), | ||
195 | PINCTRL_PIN(DB8540_PIN_AH7, "GPIO16_AH7"), | ||
196 | PINCTRL_PIN(DB8540_PIN_AE7, "GPIO17_AE7"), | ||
197 | /* Hole */ | ||
198 | PINCTRL_PIN(DB8540_PIN_AF8, "GPIO22_AF8"), | ||
199 | PINCTRL_PIN(DB8540_PIN_AH11, "GPIO23_AH11"), | ||
200 | PINCTRL_PIN(DB8540_PIN_AG11, "GPIO24_AG11"), | ||
201 | PINCTRL_PIN(DB8540_PIN_AF11, "GPIO25_AF11"), | ||
202 | PINCTRL_PIN(DB8540_PIN_AH10, "GPIO26_AH10"), | ||
203 | PINCTRL_PIN(DB8540_PIN_AG10, "GPIO27_AG10"), | ||
204 | PINCTRL_PIN(DB8540_PIN_AF10, "GPIO28_AF10"), | ||
205 | /* Hole */ | ||
206 | PINCTRL_PIN(DB8540_PIN_AD4, "GPIO33_AD4"), | ||
207 | PINCTRL_PIN(DB8540_PIN_AF3, "GPIO34_AF3"), | ||
208 | PINCTRL_PIN(DB8540_PIN_AF5, "GPIO35_AF5"), | ||
209 | PINCTRL_PIN(DB8540_PIN_AG4, "GPIO36_AG4"), | ||
210 | PINCTRL_PIN(DB8540_PIN_AF9, "GPIO37_AF9"), | ||
211 | PINCTRL_PIN(DB8540_PIN_AE8, "GPIO38_AE8"), | ||
212 | /* Hole */ | ||
213 | PINCTRL_PIN(DB8540_PIN_M26, "GPIO64_M26"), | ||
214 | PINCTRL_PIN(DB8540_PIN_M25, "GPIO65_M25"), | ||
215 | PINCTRL_PIN(DB8540_PIN_M27, "GPIO66_M27"), | ||
216 | PINCTRL_PIN(DB8540_PIN_N25, "GPIO67_N25"), | ||
217 | /* Hole */ | ||
218 | PINCTRL_PIN(DB8540_PIN_M28, "GPIO70_M28"), | ||
219 | PINCTRL_PIN(DB8540_PIN_N26, "GPIO71_N26"), | ||
220 | PINCTRL_PIN(DB8540_PIN_M22, "GPIO72_M22"), | ||
221 | PINCTRL_PIN(DB8540_PIN_N22, "GPIO73_N22"), | ||
222 | PINCTRL_PIN(DB8540_PIN_N27, "GPIO74_N27"), | ||
223 | PINCTRL_PIN(DB8540_PIN_N28, "GPIO75_N28"), | ||
224 | PINCTRL_PIN(DB8540_PIN_P22, "GPIO76_P22"), | ||
225 | PINCTRL_PIN(DB8540_PIN_P28, "GPIO77_P28"), | ||
226 | PINCTRL_PIN(DB8540_PIN_P26, "GPIO78_P26"), | ||
227 | PINCTRL_PIN(DB8540_PIN_T22, "GPIO79_T22"), | ||
228 | PINCTRL_PIN(DB8540_PIN_R27, "GPIO80_R27"), | ||
229 | PINCTRL_PIN(DB8540_PIN_P27, "GPIO81_P27"), | ||
230 | PINCTRL_PIN(DB8540_PIN_R26, "GPIO82_R26"), | ||
231 | PINCTRL_PIN(DB8540_PIN_R25, "GPIO83_R25"), | ||
232 | PINCTRL_PIN(DB8540_PIN_U22, "GPIO84_U22"), | ||
233 | PINCTRL_PIN(DB8540_PIN_T27, "GPIO85_T27"), | ||
234 | PINCTRL_PIN(DB8540_PIN_T25, "GPIO86_T25"), | ||
235 | PINCTRL_PIN(DB8540_PIN_T26, "GPIO87_T26"), | ||
236 | /* Hole */ | ||
237 | PINCTRL_PIN(DB8540_PIN_AF20, "GPIO116_AF20"), | ||
238 | PINCTRL_PIN(DB8540_PIN_AG21, "GPIO117_AG21"), | ||
239 | PINCTRL_PIN(DB8540_PIN_AH19, "GPIO118_AH19"), | ||
240 | PINCTRL_PIN(DB8540_PIN_AE19, "GPIO119_AE19"), | ||
241 | PINCTRL_PIN(DB8540_PIN_AG18, "GPIO120_AG18"), | ||
242 | PINCTRL_PIN(DB8540_PIN_AH17, "GPIO121_AH17"), | ||
243 | PINCTRL_PIN(DB8540_PIN_AF19, "GPIO122_AF19"), | ||
244 | PINCTRL_PIN(DB8540_PIN_AF18, "GPIO123_AF18"), | ||
245 | PINCTRL_PIN(DB8540_PIN_AE18, "GPIO124_AE18"), | ||
246 | PINCTRL_PIN(DB8540_PIN_AG17, "GPIO125_AG17"), | ||
247 | PINCTRL_PIN(DB8540_PIN_AF17, "GPIO126_AF17"), | ||
248 | PINCTRL_PIN(DB8540_PIN_AE17, "GPIO127_AE17"), | ||
249 | PINCTRL_PIN(DB8540_PIN_AC27, "GPIO128_AC27"), | ||
250 | PINCTRL_PIN(DB8540_PIN_AD27, "GPIO129_AD27"), | ||
251 | PINCTRL_PIN(DB8540_PIN_AE28, "GPIO130_AE28"), | ||
252 | PINCTRL_PIN(DB8540_PIN_AG26, "GPIO131_AG26"), | ||
253 | PINCTRL_PIN(DB8540_PIN_AF25, "GPIO132_AF25"), | ||
254 | PINCTRL_PIN(DB8540_PIN_AE27, "GPIO133_AE27"), | ||
255 | PINCTRL_PIN(DB8540_PIN_AF27, "GPIO134_AF27"), | ||
256 | PINCTRL_PIN(DB8540_PIN_AG28, "GPIO135_AG28"), | ||
257 | PINCTRL_PIN(DB8540_PIN_AF28, "GPIO136_AF28"), | ||
258 | PINCTRL_PIN(DB8540_PIN_AG25, "GPIO137_AG25"), | ||
259 | PINCTRL_PIN(DB8540_PIN_AG24, "GPIO138_AG24"), | ||
260 | PINCTRL_PIN(DB8540_PIN_AD25, "GPIO139_AD25"), | ||
261 | PINCTRL_PIN(DB8540_PIN_AH25, "GPIO140_AH25"), | ||
262 | PINCTRL_PIN(DB8540_PIN_AF26, "GPIO141_AF26"), | ||
263 | PINCTRL_PIN(DB8540_PIN_AF23, "GPIO142_AF23"), | ||
264 | PINCTRL_PIN(DB8540_PIN_AG23, "GPIO143_AG23"), | ||
265 | PINCTRL_PIN(DB8540_PIN_AE25, "GPIO144_AE25"), | ||
266 | PINCTRL_PIN(DB8540_PIN_AH24, "GPIO145_AH24"), | ||
267 | PINCTRL_PIN(DB8540_PIN_AJ25, "GPIO146_AJ25"), | ||
268 | PINCTRL_PIN(DB8540_PIN_AG27, "GPIO147_AG27"), | ||
269 | PINCTRL_PIN(DB8540_PIN_AH23, "GPIO148_AH23"), | ||
270 | PINCTRL_PIN(DB8540_PIN_AE26, "GPIO149_AE26"), | ||
271 | PINCTRL_PIN(DB8540_PIN_AE24, "GPIO150_AE24"), | ||
272 | PINCTRL_PIN(DB8540_PIN_AJ24, "GPIO151_AJ24"), | ||
273 | PINCTRL_PIN(DB8540_PIN_AE21, "GPIO152_AE21"), | ||
274 | PINCTRL_PIN(DB8540_PIN_AG22, "GPIO153_AG22"), | ||
275 | PINCTRL_PIN(DB8540_PIN_AF21, "GPIO154_AF21"), | ||
276 | PINCTRL_PIN(DB8540_PIN_AF24, "GPIO155_AF24"), | ||
277 | PINCTRL_PIN(DB8540_PIN_AH22, "GPIO156_AH22"), | ||
278 | PINCTRL_PIN(DB8540_PIN_AJ23, "GPIO157_AJ23"), | ||
279 | PINCTRL_PIN(DB8540_PIN_AH21, "GPIO158_AH21"), | ||
280 | PINCTRL_PIN(DB8540_PIN_AG20, "GPIO159_AG20"), | ||
281 | PINCTRL_PIN(DB8540_PIN_AE23, "GPIO160_AE23"), | ||
282 | PINCTRL_PIN(DB8540_PIN_AH20, "GPIO161_AH20"), | ||
283 | PINCTRL_PIN(DB8540_PIN_AG19, "GPIO162_AG19"), | ||
284 | PINCTRL_PIN(DB8540_PIN_AF22, "GPIO163_AF22"), | ||
285 | PINCTRL_PIN(DB8540_PIN_AJ21, "GPIO164_AJ21"), | ||
286 | PINCTRL_PIN(DB8540_PIN_AD26, "GPIO165_AD26"), | ||
287 | PINCTRL_PIN(DB8540_PIN_AD28, "GPIO166_AD28"), | ||
288 | PINCTRL_PIN(DB8540_PIN_AC28, "GPIO167_AC28"), | ||
289 | PINCTRL_PIN(DB8540_PIN_AC26, "GPIO168_AC26"), | ||
290 | /* Hole */ | ||
291 | PINCTRL_PIN(DB8540_PIN_J3, "GPIO192_J3"), | ||
292 | PINCTRL_PIN(DB8540_PIN_H1, "GPIO193_H1"), | ||
293 | PINCTRL_PIN(DB8540_PIN_J2, "GPIO194_J2"), | ||
294 | PINCTRL_PIN(DB8540_PIN_H2, "GPIO195_H2"), | ||
295 | PINCTRL_PIN(DB8540_PIN_H3, "GPIO196_H3"), | ||
296 | PINCTRL_PIN(DB8540_PIN_H4, "GPIO197_H4"), | ||
297 | PINCTRL_PIN(DB8540_PIN_G2, "GPIO198_G2"), | ||
298 | PINCTRL_PIN(DB8540_PIN_G3, "GPIO199_G3"), | ||
299 | PINCTRL_PIN(DB8540_PIN_G4, "GPIO200_G4"), | ||
300 | PINCTRL_PIN(DB8540_PIN_F2, "GPIO201_F2"), | ||
301 | PINCTRL_PIN(DB8540_PIN_C6, "GPIO202_C6"), | ||
302 | PINCTRL_PIN(DB8540_PIN_B6, "GPIO203_B6"), | ||
303 | PINCTRL_PIN(DB8540_PIN_B7, "GPIO204_B7"), | ||
304 | PINCTRL_PIN(DB8540_PIN_A7, "GPIO205_A7"), | ||
305 | PINCTRL_PIN(DB8540_PIN_D7, "GPIO206_D7"), | ||
306 | PINCTRL_PIN(DB8540_PIN_D8, "GPIO207_D8"), | ||
307 | PINCTRL_PIN(DB8540_PIN_F3, "GPIO208_F3"), | ||
308 | PINCTRL_PIN(DB8540_PIN_E2, "GPIO209_E2"), | ||
309 | PINCTRL_PIN(DB8540_PIN_C7, "GPIO210_C7"), | ||
310 | PINCTRL_PIN(DB8540_PIN_B8, "GPIO211_B8"), | ||
311 | PINCTRL_PIN(DB8540_PIN_C10, "GPIO212_C10"), | ||
312 | PINCTRL_PIN(DB8540_PIN_C8, "GPIO213_C8"), | ||
313 | PINCTRL_PIN(DB8540_PIN_C9, "GPIO214_C9"), | ||
314 | /* Hole */ | ||
315 | PINCTRL_PIN(DB8540_PIN_B9, "GPIO219_B9"), | ||
316 | PINCTRL_PIN(DB8540_PIN_A10, "GPIO220_A10"), | ||
317 | PINCTRL_PIN(DB8540_PIN_D9, "GPIO221_D9"), | ||
318 | PINCTRL_PIN(DB8540_PIN_B11, "GPIO222_B11"), | ||
319 | PINCTRL_PIN(DB8540_PIN_B10, "GPIO223_B10"), | ||
320 | PINCTRL_PIN(DB8540_PIN_E10, "GPIO224_E10"), | ||
321 | PINCTRL_PIN(DB8540_PIN_B12, "GPIO225_B12"), | ||
322 | PINCTRL_PIN(DB8540_PIN_D10, "GPIO226_D10"), | ||
323 | PINCTRL_PIN(DB8540_PIN_D11, "GPIO227_D11"), | ||
324 | PINCTRL_PIN(DB8540_PIN_AJ6, "GPIO228_AJ6"), | ||
325 | PINCTRL_PIN(DB8540_PIN_B13, "GPIO229_B13"), | ||
326 | PINCTRL_PIN(DB8540_PIN_C12, "GPIO230_C12"), | ||
327 | PINCTRL_PIN(DB8540_PIN_B14, "GPIO231_B14"), | ||
328 | PINCTRL_PIN(DB8540_PIN_E11, "GPIO232_E11"), | ||
329 | /* Hole */ | ||
330 | PINCTRL_PIN(DB8540_PIN_D12, "GPIO256_D12"), | ||
331 | PINCTRL_PIN(DB8540_PIN_D15, "GPIO257_D15"), | ||
332 | PINCTRL_PIN(DB8540_PIN_C13, "GPIO258_C13"), | ||
333 | PINCTRL_PIN(DB8540_PIN_C14, "GPIO259_C14"), | ||
334 | PINCTRL_PIN(DB8540_PIN_C18, "GPIO260_C18"), | ||
335 | PINCTRL_PIN(DB8540_PIN_C16, "GPIO261_C16"), | ||
336 | PINCTRL_PIN(DB8540_PIN_B16, "GPIO262_B16"), | ||
337 | PINCTRL_PIN(DB8540_PIN_D18, "GPIO263_D18"), | ||
338 | PINCTRL_PIN(DB8540_PIN_C15, "GPIO264_C15"), | ||
339 | PINCTRL_PIN(DB8540_PIN_C17, "GPIO265_C17"), | ||
340 | PINCTRL_PIN(DB8540_PIN_B17, "GPIO266_B17"), | ||
341 | PINCTRL_PIN(DB8540_PIN_D17, "GPIO267_D17"), | ||
342 | }; | ||
343 | |||
344 | #define DB8540_GPIO_RANGE(a, b, c) { .name = "db8540", .id = a, .base = b, \ | ||
345 | .pin_base = b, .npins = c } | ||
346 | |||
347 | /* | ||
348 | * This matches the 32-pin gpio chips registered by the GPIO portion. This | ||
349 | * cannot be const since we assign the struct gpio_chip * pointer at runtime. | ||
350 | */ | ||
351 | static struct pinctrl_gpio_range nmk_db8540_ranges[] = { | ||
352 | DB8540_GPIO_RANGE(0, 0, 18), | ||
353 | DB8540_GPIO_RANGE(0, 22, 7), | ||
354 | DB8540_GPIO_RANGE(1, 33, 6), | ||
355 | DB8540_GPIO_RANGE(2, 64, 4), | ||
356 | DB8540_GPIO_RANGE(2, 70, 18), | ||
357 | DB8540_GPIO_RANGE(3, 116, 12), | ||
358 | DB8540_GPIO_RANGE(4, 128, 32), | ||
359 | DB8540_GPIO_RANGE(5, 160, 9), | ||
360 | DB8540_GPIO_RANGE(6, 192, 23), | ||
361 | DB8540_GPIO_RANGE(6, 219, 5), | ||
362 | DB8540_GPIO_RANGE(7, 224, 9), | ||
363 | DB8540_GPIO_RANGE(8, 256, 12), | ||
364 | }; | ||
365 | |||
366 | /* | ||
367 | * Read the pin group names like this: | ||
368 | * u0_a_1 = first groups of pins for uart0 on alt function a | ||
369 | * i2c2_b_2 = second group of pins for i2c2 on alt function b | ||
370 | * | ||
371 | * The groups are arranged as sets per altfunction column, so we can | ||
372 | * mux in one group at a time by selecting the same altfunction for them | ||
373 | * all. When functions require pins on different altfunctions, you need | ||
374 | * to combine several groups. | ||
375 | */ | ||
376 | |||
377 | /* Altfunction A column */ | ||
378 | static const unsigned u0_a_1_pins[] = { DB8540_PIN_AH6, DB8540_PIN_AG7, | ||
379 | DB8540_PIN_AF2, DB8540_PIN_AD3 }; | ||
380 | static const unsigned u1rxtx_a_1_pins[] = { DB8540_PIN_AF6, DB8540_PIN_AG6 }; | ||
381 | static const unsigned u1ctsrts_a_1_pins[] = { DB8540_PIN_AD5, DB8540_PIN_AF7 }; | ||
382 | /* Image processor I2C line, this is driven by image processor firmware */ | ||
383 | static const unsigned ipi2c_a_1_pins[] = { DB8540_PIN_AG5, DB8540_PIN_AH5 }; | ||
384 | static const unsigned ipi2c_a_2_pins[] = { DB8540_PIN_AE4, DB8540_PIN_AD1 }; | ||
385 | /* MSP0 can only be on these pins, but TXD and RXD can be flipped */ | ||
386 | static const unsigned msp0txrx_a_1_pins[] = { DB8540_PIN_AD2, DB8540_PIN_AC3 }; | ||
387 | static const unsigned msp0tfstck_a_1_pins[] = { DB8540_PIN_AC2, | ||
388 | DB8540_PIN_AC4 }; | ||
389 | static const unsigned msp0rfsrck_a_1_pins[] = { DB8540_PIN_AH7, | ||
390 | DB8540_PIN_AE7 }; | ||
391 | /* Basic pins of the MMC/SD card 0 interface */ | ||
392 | static const unsigned mc0_a_1_pins[] = { DB8540_PIN_AH11, DB8540_PIN_AG11, | ||
393 | DB8540_PIN_AF11, DB8540_PIN_AH10, DB8540_PIN_AG10, DB8540_PIN_AF10}; | ||
394 | /* MSP1 can only be on these pins, but TXD and RXD can be flipped */ | ||
395 | static const unsigned msp1txrx_a_1_pins[] = { DB8540_PIN_AD4, DB8540_PIN_AG4 }; | ||
396 | static const unsigned msp1_a_1_pins[] = { DB8540_PIN_AF3, DB8540_PIN_AF5 }; | ||
397 | |||
398 | static const unsigned modobsclk_a_1_pins[] = { DB8540_PIN_AF9 }; | ||
399 | static const unsigned clkoutreq_a_1_pins[] = { DB8540_PIN_AE8 }; | ||
400 | /* LCD interface */ | ||
401 | static const unsigned lcdb_a_1_pins[] = { DB8540_PIN_M26, DB8540_PIN_M25, | ||
402 | DB8540_PIN_M27, DB8540_PIN_N25 }; | ||
403 | static const unsigned lcdvsi0_a_1_pins[] = { DB8540_PIN_AJ24 }; | ||
404 | static const unsigned lcdvsi1_a_1_pins[] = { DB8540_PIN_AE21 }; | ||
405 | static const unsigned lcd_d0_d7_a_1_pins[] = { DB8540_PIN_M28, DB8540_PIN_N26, | ||
406 | DB8540_PIN_M22, DB8540_PIN_N22, DB8540_PIN_N27, DB8540_PIN_N28, | ||
407 | DB8540_PIN_P22, DB8540_PIN_P28 }; | ||
408 | /* D8 thru D11 often used as TVOUT lines */ | ||
409 | static const unsigned lcd_d8_d11_a_1_pins[] = { DB8540_PIN_P26, DB8540_PIN_T22, | ||
410 | DB8540_PIN_R27, DB8540_PIN_P27 }; | ||
411 | static const unsigned lcd_d12_d23_a_1_pins[] = { DB8540_PIN_R26, DB8540_PIN_R25, | ||
412 | DB8540_PIN_U22, DB8540_PIN_T27, DB8540_PIN_AG22, DB8540_PIN_AF21, | ||
413 | DB8540_PIN_AF24, DB8540_PIN_AH22, DB8540_PIN_AJ23, DB8540_PIN_AH21, | ||
414 | DB8540_PIN_AG20, DB8540_PIN_AE23 }; | ||
415 | static const unsigned kp_a_1_pins[] = { DB8540_PIN_AH20, DB8540_PIN_AG19, | ||
416 | DB8540_PIN_AF22, DB8540_PIN_AJ21, DB8540_PIN_T25, DB8540_PIN_T26 }; | ||
417 | /* MC2 has 8 data lines and no direction control, so only for (e)MMC */ | ||
418 | static const unsigned mc2_a_1_pins[] = { DB8540_PIN_AC27, DB8540_PIN_AD27, | ||
419 | DB8540_PIN_AE28, DB8540_PIN_AG26, DB8540_PIN_AF25, DB8540_PIN_AE27, | ||
420 | DB8540_PIN_AF27, DB8540_PIN_AG28, DB8540_PIN_AF28, DB8540_PIN_AG25, | ||
421 | DB8540_PIN_AG24 }; | ||
422 | static const unsigned ssp1_a_1_pins[] = { DB8540_PIN_AD25, DB8540_PIN_AH25, | ||
423 | DB8540_PIN_AF26, DB8540_PIN_AF23 }; | ||
424 | static const unsigned ssp0_a_1_pins[] = { DB8540_PIN_AG23, DB8540_PIN_AE25, | ||
425 | DB8540_PIN_AH24, DB8540_PIN_AJ25 }; | ||
426 | static const unsigned i2c0_a_1_pins[] = { DB8540_PIN_AG27, DB8540_PIN_AH23 }; | ||
427 | /* | ||
428 | * Image processor GPIO pins are named "ipgpio" and have their own | ||
429 | * numberspace | ||
430 | */ | ||
431 | static const unsigned ipgpio0_a_1_pins[] = { DB8540_PIN_AE26 }; | ||
432 | static const unsigned ipgpio1_a_1_pins[] = { DB8540_PIN_AE24 }; | ||
433 | /* modem i2s interface */ | ||
434 | static const unsigned modi2s_a_1_pins[] = { DB8540_PIN_AD26, DB8540_PIN_AD28, | ||
435 | DB8540_PIN_AC28, DB8540_PIN_AC26 }; | ||
436 | static const unsigned spi2_a_1_pins[] = { DB8540_PIN_AF20, DB8540_PIN_AG21, | ||
437 | DB8540_PIN_AH19, DB8540_PIN_AE19 }; | ||
438 | static const unsigned u2txrx_a_1_pins[] = { DB8540_PIN_AG18, DB8540_PIN_AH17 }; | ||
439 | static const unsigned u2ctsrts_a_1_pins[] = { DB8540_PIN_AF19, | ||
440 | DB8540_PIN_AF18 }; | ||
441 | static const unsigned modsmb_a_1_pins[] = { DB8540_PIN_AF17, DB8540_PIN_AE17 }; | ||
442 | static const unsigned msp2sck_a_1_pins[] = { DB8540_PIN_J3 }; | ||
443 | static const unsigned msp2txdtcktfs_a_1_pins[] = { DB8540_PIN_H1, DB8540_PIN_J2, | ||
444 | DB8540_PIN_H2 }; | ||
445 | static const unsigned msp2rxd_a_1_pins[] = { DB8540_PIN_H3 }; | ||
446 | static const unsigned mc4_a_1_pins[] = { DB8540_PIN_H4, DB8540_PIN_G2, | ||
447 | DB8540_PIN_G3, DB8540_PIN_G4, DB8540_PIN_F2, DB8540_PIN_C6, | ||
448 | DB8540_PIN_B6, DB8540_PIN_B7, DB8540_PIN_A7, DB8540_PIN_D7, | ||
449 | DB8540_PIN_D8 }; | ||
450 | static const unsigned mc1_a_1_pins[] = { DB8540_PIN_F3, DB8540_PIN_E2, | ||
451 | DB8540_PIN_C7, DB8540_PIN_B8, DB8540_PIN_C10, DB8540_PIN_C8, | ||
452 | DB8540_PIN_C9 }; | ||
453 | /* mc1_a_2_pins exclude MC1_FBCLK */ | ||
454 | static const unsigned mc1_a_2_pins[] = { DB8540_PIN_F3, DB8540_PIN_C7, | ||
455 | DB8540_PIN_B8, DB8540_PIN_C10, DB8540_PIN_C8, | ||
456 | DB8540_PIN_C9 }; | ||
457 | static const unsigned hsir_a_1_pins[] = { DB8540_PIN_B9, DB8540_PIN_A10, | ||
458 | DB8540_PIN_D9 }; | ||
459 | static const unsigned hsit_a_1_pins[] = { DB8540_PIN_B11, DB8540_PIN_B10, | ||
460 | DB8540_PIN_E10, DB8540_PIN_B12, DB8540_PIN_D10 }; | ||
461 | static const unsigned hsit_a_2_pins[] = { DB8540_PIN_B11, DB8540_PIN_B10, | ||
462 | DB8540_PIN_E10, DB8540_PIN_B12 }; | ||
463 | static const unsigned clkout_a_1_pins[] = { DB8540_PIN_D11, DB8540_PIN_AJ6 }; | ||
464 | static const unsigned clkout_a_2_pins[] = { DB8540_PIN_B13, DB8540_PIN_C12 }; | ||
465 | static const unsigned msp4_a_1_pins[] = { DB8540_PIN_B14, DB8540_PIN_E11 }; | ||
466 | static const unsigned usb_a_1_pins[] = { DB8540_PIN_D12, DB8540_PIN_D15, | ||
467 | DB8540_PIN_C13, DB8540_PIN_C14, DB8540_PIN_C18, DB8540_PIN_C16, | ||
468 | DB8540_PIN_B16, DB8540_PIN_D18, DB8540_PIN_C15, DB8540_PIN_C17, | ||
469 | DB8540_PIN_B17, DB8540_PIN_D17 }; | ||
470 | /* Altfunction B colum */ | ||
471 | static const unsigned apetrig_b_1_pins[] = { DB8540_PIN_AH6, DB8540_PIN_AG7 }; | ||
472 | static const unsigned modtrig_b_1_pins[] = { DB8540_PIN_AF2, DB8540_PIN_AD3 }; | ||
473 | static const unsigned i2c4_b_1_pins[] = { DB8540_PIN_AF6, DB8540_PIN_AG6 }; | ||
474 | static const unsigned i2c1_b_1_pins[] = { DB8540_PIN_AD5, DB8540_PIN_AF7 }; | ||
475 | static const unsigned i2c2_b_1_pins[] = { DB8540_PIN_AG5, DB8540_PIN_AH5 }; | ||
476 | static const unsigned i2c2_b_2_pins[] = { DB8540_PIN_AE4, DB8540_PIN_AD1 }; | ||
477 | static const unsigned msp0txrx_b_1_pins[] = { DB8540_PIN_AD2, DB8540_PIN_AC3 }; | ||
478 | static const unsigned i2c1_b_2_pins[] = { DB8540_PIN_AH7, DB8540_PIN_AE7 }; | ||
479 | static const unsigned stmmod_b_1_pins[] = { DB8540_PIN_AH11, DB8540_PIN_AF11, | ||
480 | DB8540_PIN_AH10, DB8540_PIN_AG10, DB8540_PIN_AF10 }; | ||
481 | static const unsigned moduartstmmux_b_1_pins[] = { DB8540_PIN_AG11 }; | ||
482 | static const unsigned msp1txrx_b_1_pins[] = { DB8540_PIN_AD4, DB8540_PIN_AG4 }; | ||
483 | static const unsigned kp_b_1_pins[] = { DB8540_PIN_AJ24, DB8540_PIN_AE21, | ||
484 | DB8540_PIN_M26, DB8540_PIN_M25, DB8540_PIN_M27, DB8540_PIN_N25, | ||
485 | DB8540_PIN_M28, DB8540_PIN_N26, DB8540_PIN_M22, DB8540_PIN_N22, | ||
486 | DB8540_PIN_N27, DB8540_PIN_N28, DB8540_PIN_P22, DB8540_PIN_P28, | ||
487 | DB8540_PIN_P26, DB8540_PIN_T22, DB8540_PIN_R27, DB8540_PIN_P27, | ||
488 | DB8540_PIN_R26, DB8540_PIN_R25 }; | ||
489 | static const unsigned u2txrx_b_1_pins[] = { DB8540_PIN_U22, DB8540_PIN_T27 }; | ||
490 | static const unsigned sm_b_1_pins[] = { DB8540_PIN_AG22, DB8540_PIN_AF21, | ||
491 | DB8540_PIN_AF24, DB8540_PIN_AH22, DB8540_PIN_AJ23, DB8540_PIN_AH21, | ||
492 | DB8540_PIN_AG20, DB8540_PIN_AE23, DB8540_PIN_AH20, DB8540_PIN_AF22, | ||
493 | DB8540_PIN_AJ21, DB8540_PIN_AC27, DB8540_PIN_AD27, DB8540_PIN_AE28, | ||
494 | DB8540_PIN_AG26, DB8540_PIN_AF25, DB8540_PIN_AE27, DB8540_PIN_AF27, | ||
495 | DB8540_PIN_AG28, DB8540_PIN_AF28, DB8540_PIN_AG25, DB8540_PIN_AG24, | ||
496 | DB8540_PIN_AD25 }; | ||
497 | static const unsigned smcs0_b_1_pins[] = { DB8540_PIN_AG19 }; | ||
498 | static const unsigned smcs1_b_1_pins[] = { DB8540_PIN_AE26 }; | ||
499 | static const unsigned ipgpio7_b_1_pins[] = { DB8540_PIN_AH25 }; | ||
500 | static const unsigned ipgpio2_b_1_pins[] = { DB8540_PIN_AF26 }; | ||
501 | static const unsigned ipgpio3_b_1_pins[] = { DB8540_PIN_AF23 }; | ||
502 | static const unsigned i2c6_b_1_pins[] = { DB8540_PIN_AG23, DB8540_PIN_AE25 }; | ||
503 | static const unsigned i2c5_b_1_pins[] = { DB8540_PIN_AH24, DB8540_PIN_AJ25 }; | ||
504 | static const unsigned u3txrx_b_1_pins[] = { DB8540_PIN_AF20, DB8540_PIN_AG21 }; | ||
505 | static const unsigned u3ctsrts_b_1_pins[] = { DB8540_PIN_AH19, | ||
506 | DB8540_PIN_AE19 }; | ||
507 | static const unsigned i2c5_b_2_pins[] = { DB8540_PIN_AG18, DB8540_PIN_AH17 }; | ||
508 | static const unsigned i2c4_b_2_pins[] = { DB8540_PIN_AF19, DB8540_PIN_AF18 }; | ||
509 | static const unsigned u4txrx_b_1_pins[] = { DB8540_PIN_AE18, DB8540_PIN_AG17 }; | ||
510 | static const unsigned u4ctsrts_b_1_pins[] = { DB8540_PIN_AF17, | ||
511 | DB8540_PIN_AE17 }; | ||
512 | static const unsigned ddrtrig_b_1_pins[] = { DB8540_PIN_J3 }; | ||
513 | static const unsigned msp4_b_1_pins[] = { DB8540_PIN_H3 }; | ||
514 | static const unsigned pwl_b_1_pins[] = { DB8540_PIN_C6 }; | ||
515 | static const unsigned spi1_b_1_pins[] = { DB8540_PIN_E2, DB8540_PIN_C10, | ||
516 | DB8540_PIN_C8, DB8540_PIN_C9 }; | ||
517 | static const unsigned mc3_b_1_pins[] = { DB8540_PIN_B9, DB8540_PIN_A10, | ||
518 | DB8540_PIN_D9, DB8540_PIN_B11, DB8540_PIN_B10, DB8540_PIN_E10, | ||
519 | DB8540_PIN_B12 }; | ||
520 | static const unsigned pwl_b_2_pins[] = { DB8540_PIN_D10 }; | ||
521 | static const unsigned pwl_b_3_pins[] = { DB8540_PIN_B13 }; | ||
522 | static const unsigned pwl_b_4_pins[] = { DB8540_PIN_C12 }; | ||
523 | static const unsigned u2txrx_b_2_pins[] = { DB8540_PIN_B17, DB8540_PIN_D17 }; | ||
524 | |||
525 | /* Altfunction C column */ | ||
526 | static const unsigned ipgpio6_c_1_pins[] = { DB8540_PIN_AG6 }; | ||
527 | static const unsigned ipgpio0_c_1_pins[] = { DB8540_PIN_AD5 }; | ||
528 | static const unsigned ipgpio1_c_1_pins[] = { DB8540_PIN_AF7 }; | ||
529 | static const unsigned ipgpio3_c_1_pins[] = { DB8540_PIN_AE4 }; | ||
530 | static const unsigned ipgpio2_c_1_pins[] = { DB8540_PIN_AD1 }; | ||
531 | static const unsigned u0_c_1_pins[] = { DB8540_PIN_AD4, DB8540_PIN_AF3, | ||
532 | DB8540_PIN_AF5, DB8540_PIN_AG4 }; | ||
533 | static const unsigned smcleale_c_1_pins[] = { DB8540_PIN_AJ24, | ||
534 | DB8540_PIN_AE21 }; | ||
535 | static const unsigned ipgpio4_c_1_pins[] = { DB8540_PIN_M26 }; | ||
536 | static const unsigned ipgpio5_c_1_pins[] = { DB8540_PIN_M25 }; | ||
537 | static const unsigned ipgpio6_c_2_pins[] = { DB8540_PIN_M27 }; | ||
538 | static const unsigned ipgpio7_c_1_pins[] = { DB8540_PIN_N25 }; | ||
539 | static const unsigned stmape_c_1_pins[] = { DB8540_PIN_M28, DB8540_PIN_N26, | ||
540 | DB8540_PIN_M22, DB8540_PIN_N22, DB8540_PIN_N27 }; | ||
541 | static const unsigned u2rxtx_c_1_pins[] = { DB8540_PIN_N28, DB8540_PIN_P22 }; | ||
542 | static const unsigned modobsresout_c_1_pins[] = { DB8540_PIN_P28 }; | ||
543 | static const unsigned ipgpio2_c_2_pins[] = { DB8540_PIN_P26 }; | ||
544 | static const unsigned ipgpio3_c_2_pins[] = { DB8540_PIN_T22 }; | ||
545 | static const unsigned ipgpio4_c_2_pins[] = { DB8540_PIN_R27 }; | ||
546 | static const unsigned ipgpio5_c_2_pins[] = { DB8540_PIN_P27 }; | ||
547 | static const unsigned modaccgpo_c_1_pins[] = { DB8540_PIN_R26, DB8540_PIN_R25, | ||
548 | DB8540_PIN_U22 }; | ||
549 | static const unsigned modobspwrrst_c_1_pins[] = { DB8540_PIN_T27 }; | ||
550 | static const unsigned mc5_c_1_pins[] = { DB8540_PIN_AG22, DB8540_PIN_AF21, | ||
551 | DB8540_PIN_AF24, DB8540_PIN_AH22, DB8540_PIN_AJ23, DB8540_PIN_AH21, | ||
552 | DB8540_PIN_AG20, DB8540_PIN_AE23, DB8540_PIN_AH20, DB8540_PIN_AF22, | ||
553 | DB8540_PIN_AJ21}; | ||
554 | static const unsigned smps0_c_1_pins[] = { DB8540_PIN_AG19 }; | ||
555 | static const unsigned moduart1_c_1_pins[] = { DB8540_PIN_T25, DB8540_PIN_T26 }; | ||
556 | static const unsigned mc2rstn_c_1_pins[] = { DB8540_PIN_AE28 }; | ||
557 | static const unsigned i2c5_c_1_pins[] = { DB8540_PIN_AG28, DB8540_PIN_AF28 }; | ||
558 | static const unsigned ipgpio0_c_2_pins[] = { DB8540_PIN_AG25 }; | ||
559 | static const unsigned ipgpio1_c_2_pins[] = { DB8540_PIN_AG24 }; | ||
560 | static const unsigned kp_c_1_pins[] = { DB8540_PIN_AD25, DB8540_PIN_AH25, | ||
561 | DB8540_PIN_AF26, DB8540_PIN_AF23 }; | ||
562 | static const unsigned modrf_c_1_pins[] = { DB8540_PIN_AG23, DB8540_PIN_AE25, | ||
563 | DB8540_PIN_AH24 }; | ||
564 | static const unsigned smps1_c_1_pins[] = { DB8540_PIN_AE26 }; | ||
565 | static const unsigned i2c5_c_2_pins[] = { DB8540_PIN_AH19, DB8540_PIN_AE19 }; | ||
566 | static const unsigned u4ctsrts_c_1_pins[] = { DB8540_PIN_AG18, | ||
567 | DB8540_PIN_AH17 }; | ||
568 | static const unsigned u3rxtx_c_1_pins[] = { DB8540_PIN_AF19, DB8540_PIN_AF18 }; | ||
569 | static const unsigned msp4_c_1_pins[] = { DB8540_PIN_J3 }; | ||
570 | static const unsigned mc4rstn_c_1_pins[] = { DB8540_PIN_C6 }; | ||
571 | static const unsigned spi0_c_1_pins[] = { DB8540_PIN_A10, DB8540_PIN_B10, | ||
572 | DB8540_PIN_E10, DB8540_PIN_B12 }; | ||
573 | static const unsigned i2c3_c_1_pins[] = { DB8540_PIN_B13, DB8540_PIN_C12 }; | ||
574 | |||
575 | /* Other alt C1 column */ | ||
576 | static const unsigned spi3_oc1_1_pins[] = { DB8540_PIN_AG5, DB8540_PIN_AH5, | ||
577 | DB8540_PIN_AE4, DB8540_PIN_AD1 }; | ||
578 | static const unsigned stmape_oc1_1_pins[] = { DB8540_PIN_AH11, DB8540_PIN_AF11, | ||
579 | DB8540_PIN_AH10, DB8540_PIN_AG10, DB8540_PIN_AF10 }; | ||
580 | static const unsigned u2_oc1_1_pins[] = { DB8540_PIN_AG11 }; | ||
581 | static const unsigned remap0_oc1_1_pins[] = { DB8540_PIN_AJ24 }; | ||
582 | static const unsigned remap1_oc1_1_pins[] = { DB8540_PIN_AE21 }; | ||
583 | static const unsigned modobsrefclk_oc1_1_pins[] = { DB8540_PIN_M26 }; | ||
584 | static const unsigned modobspwrctrl_oc1_1_pins[] = { DB8540_PIN_M25 }; | ||
585 | static const unsigned modobsclkout_oc1_1_pins[] = { DB8540_PIN_M27 }; | ||
586 | static const unsigned moduart1_oc1_1_pins[] = { DB8540_PIN_N25 }; | ||
587 | static const unsigned modprcmudbg_oc1_1_pins[] = { DB8540_PIN_M28, | ||
588 | DB8540_PIN_N26, DB8540_PIN_M22, DB8540_PIN_N22, DB8540_PIN_N27, | ||
589 | DB8540_PIN_P22, DB8540_PIN_P28, DB8540_PIN_P26, DB8540_PIN_T22, | ||
590 | DB8540_PIN_R26, DB8540_PIN_R25, DB8540_PIN_U22, DB8540_PIN_T27, | ||
591 | DB8540_PIN_AH20, DB8540_PIN_AG19, DB8540_PIN_AF22, DB8540_PIN_AJ21, | ||
592 | DB8540_PIN_T25}; | ||
593 | static const unsigned modobsresout_oc1_1_pins[] = { DB8540_PIN_N28 }; | ||
594 | static const unsigned modaccgpo_oc1_1_pins[] = { DB8540_PIN_R27, DB8540_PIN_P27, | ||
595 | DB8540_PIN_T26 }; | ||
596 | static const unsigned kp_oc1_1_pins[] = { DB8540_PIN_AG22, DB8540_PIN_AF21, | ||
597 | DB8540_PIN_AF24, DB8540_PIN_AH22, DB8540_PIN_AJ23, DB8540_PIN_AH21, | ||
598 | DB8540_PIN_AG20, DB8540_PIN_AE23 }; | ||
599 | static const unsigned modxmip_oc1_1_pins[] = { DB8540_PIN_AD25, DB8540_PIN_AH25, | ||
600 | DB8540_PIN_AG23, DB8540_PIN_AE25 }; | ||
601 | static const unsigned i2c6_oc1_1_pins[] = { DB8540_PIN_AE26, DB8540_PIN_AE24 }; | ||
602 | static const unsigned u2txrx_oc1_1_pins[] = { DB8540_PIN_B7, DB8540_PIN_A7 }; | ||
603 | static const unsigned u2ctsrts_oc1_1_pins[] = { DB8540_PIN_D7, DB8540_PIN_D8 }; | ||
604 | |||
605 | /* Other alt C2 column */ | ||
606 | static const unsigned sbag_oc2_1_pins[] = { DB8540_PIN_AH11, DB8540_PIN_AG11, | ||
607 | DB8540_PIN_AF11, DB8540_PIN_AH10, DB8540_PIN_AG10, DB8540_PIN_AF10 }; | ||
608 | static const unsigned hxclk_oc2_1_pins[] = { DB8540_PIN_M25 }; | ||
609 | static const unsigned modaccuart_oc2_1_pins[] = { DB8540_PIN_N25 }; | ||
610 | static const unsigned stmmod_oc2_1_pins[] = { DB8540_PIN_M28, DB8540_PIN_N26, | ||
611 | DB8540_PIN_M22, DB8540_PIN_N22, DB8540_PIN_N27 }; | ||
612 | static const unsigned moduartstmmux_oc2_1_pins[] = { DB8540_PIN_N28 }; | ||
613 | static const unsigned hxgpio_oc2_1_pins[] = { DB8540_PIN_P22, DB8540_PIN_P28, | ||
614 | DB8540_PIN_P26, DB8540_PIN_T22, DB8540_PIN_R27, DB8540_PIN_P27, | ||
615 | DB8540_PIN_R26, DB8540_PIN_R25 }; | ||
616 | static const unsigned sbag_oc2_2_pins[] = { DB8540_PIN_U22, DB8540_PIN_T27, | ||
617 | DB8540_PIN_AG22, DB8540_PIN_AF21, DB8540_PIN_AF24, DB8540_PIN_AH22 }; | ||
618 | static const unsigned modobsservice_oc2_1_pins[] = { DB8540_PIN_AJ23 }; | ||
619 | static const unsigned moduart0_oc2_1_pins[] = { DB8540_PIN_AG20, | ||
620 | DB8540_PIN_AE23 }; | ||
621 | static const unsigned stmape_oc2_1_pins[] = { DB8540_PIN_AH20, DB8540_PIN_AG19, | ||
622 | DB8540_PIN_AF22, DB8540_PIN_AJ21, DB8540_PIN_T25 }; | ||
623 | static const unsigned u2_oc2_1_pins[] = { DB8540_PIN_T26, DB8540_PIN_AH21 }; | ||
624 | static const unsigned modxmip_oc2_1_pins[] = { DB8540_PIN_AE26, | ||
625 | DB8540_PIN_AE24 }; | ||
626 | |||
627 | /* Other alt C3 column */ | ||
628 | static const unsigned modaccgpo_oc3_1_pins[] = { DB8540_PIN_AG11 }; | ||
629 | static const unsigned tpui_oc3_1_pins[] = { DB8540_PIN_M26, DB8540_PIN_M25, | ||
630 | DB8540_PIN_M27, DB8540_PIN_N25, DB8540_PIN_M28, DB8540_PIN_N26, | ||
631 | DB8540_PIN_M22, DB8540_PIN_N22, DB8540_PIN_N27, DB8540_PIN_N28, | ||
632 | DB8540_PIN_P22, DB8540_PIN_P28, DB8540_PIN_P26, DB8540_PIN_T22, | ||
633 | DB8540_PIN_R27, DB8540_PIN_P27, DB8540_PIN_R26, DB8540_PIN_R25, | ||
634 | DB8540_PIN_U22, DB8540_PIN_T27, DB8540_PIN_AG22, DB8540_PIN_AF21, | ||
635 | DB8540_PIN_AF24, DB8540_PIN_AH22, DB8540_PIN_AJ23, DB8540_PIN_AH21, | ||
636 | DB8540_PIN_AG20, DB8540_PIN_AE23, DB8540_PIN_AH20, DB8540_PIN_AG19, | ||
637 | DB8540_PIN_AF22, DB8540_PIN_AJ21, DB8540_PIN_T25, DB8540_PIN_T26 }; | ||
638 | |||
639 | /* Other alt C4 column */ | ||
640 | static const unsigned hwobs_oc4_1_pins[] = { DB8540_PIN_M26, DB8540_PIN_M25, | ||
641 | DB8540_PIN_M27, DB8540_PIN_N25, DB8540_PIN_M28, DB8540_PIN_N26, | ||
642 | DB8540_PIN_M22, DB8540_PIN_N22, DB8540_PIN_N27, DB8540_PIN_N28, | ||
643 | DB8540_PIN_P22, DB8540_PIN_P28, DB8540_PIN_P26, DB8540_PIN_T22, | ||
644 | DB8540_PIN_R27, DB8540_PIN_P27, DB8540_PIN_R26, DB8540_PIN_R25 }; | ||
645 | static const unsigned moduart1txrx_oc4_1_pins[] = { DB8540_PIN_U22, | ||
646 | DB8540_PIN_T27 }; | ||
647 | static const unsigned moduart1rtscts_oc4_1_pins[] = { DB8540_PIN_AG22, | ||
648 | DB8540_PIN_AF21 }; | ||
649 | static const unsigned modaccuarttxrx_oc4_1_pins[] = { DB8540_PIN_AF24, | ||
650 | DB8540_PIN_AH22 }; | ||
651 | static const unsigned modaccuartrtscts_oc4_1_pins[] = { DB8540_PIN_AJ23, | ||
652 | DB8540_PIN_AH21 }; | ||
653 | static const unsigned stmmod_oc4_1_pins[] = { DB8540_PIN_AH20, DB8540_PIN_AG19, | ||
654 | DB8540_PIN_AF22, DB8540_PIN_AJ21, DB8540_PIN_T25 }; | ||
655 | static const unsigned moduartstmmux_oc4_1_pins[] = { DB8540_PIN_T26 }; | ||
656 | |||
657 | #define DB8540_PIN_GROUP(a, b) { .name = #a, .pins = a##_pins, \ | ||
658 | .npins = ARRAY_SIZE(a##_pins), .altsetting = b } | ||
659 | |||
660 | static const struct nmk_pingroup nmk_db8540_groups[] = { | ||
661 | /* Altfunction A column */ | ||
662 | DB8540_PIN_GROUP(u0_a_1, NMK_GPIO_ALT_A), | ||
663 | DB8540_PIN_GROUP(u1rxtx_a_1, NMK_GPIO_ALT_A), | ||
664 | DB8540_PIN_GROUP(u1ctsrts_a_1, NMK_GPIO_ALT_A), | ||
665 | DB8540_PIN_GROUP(ipi2c_a_1, NMK_GPIO_ALT_A), | ||
666 | DB8540_PIN_GROUP(ipi2c_a_2, NMK_GPIO_ALT_A), | ||
667 | DB8540_PIN_GROUP(msp0txrx_a_1, NMK_GPIO_ALT_A), | ||
668 | DB8540_PIN_GROUP(msp0tfstck_a_1, NMK_GPIO_ALT_A), | ||
669 | DB8540_PIN_GROUP(msp0rfsrck_a_1, NMK_GPIO_ALT_A), | ||
670 | DB8540_PIN_GROUP(mc0_a_1, NMK_GPIO_ALT_A), | ||
671 | DB8540_PIN_GROUP(msp1txrx_a_1, NMK_GPIO_ALT_A), | ||
672 | DB8540_PIN_GROUP(msp1_a_1, NMK_GPIO_ALT_A), | ||
673 | DB8540_PIN_GROUP(modobsclk_a_1, NMK_GPIO_ALT_A), | ||
674 | DB8540_PIN_GROUP(clkoutreq_a_1, NMK_GPIO_ALT_A), | ||
675 | DB8540_PIN_GROUP(lcdb_a_1, NMK_GPIO_ALT_A), | ||
676 | DB8540_PIN_GROUP(lcdvsi0_a_1, NMK_GPIO_ALT_A), | ||
677 | DB8540_PIN_GROUP(lcdvsi1_a_1, NMK_GPIO_ALT_A), | ||
678 | DB8540_PIN_GROUP(lcd_d0_d7_a_1, NMK_GPIO_ALT_A), | ||
679 | DB8540_PIN_GROUP(lcd_d8_d11_a_1, NMK_GPIO_ALT_A), | ||
680 | DB8540_PIN_GROUP(lcd_d12_d23_a_1, NMK_GPIO_ALT_A), | ||
681 | DB8540_PIN_GROUP(kp_a_1, NMK_GPIO_ALT_A), | ||
682 | DB8540_PIN_GROUP(mc2_a_1, NMK_GPIO_ALT_A), | ||
683 | DB8540_PIN_GROUP(ssp1_a_1, NMK_GPIO_ALT_A), | ||
684 | DB8540_PIN_GROUP(ssp0_a_1, NMK_GPIO_ALT_A), | ||
685 | DB8540_PIN_GROUP(i2c0_a_1, NMK_GPIO_ALT_A), | ||
686 | DB8540_PIN_GROUP(ipgpio0_a_1, NMK_GPIO_ALT_A), | ||
687 | DB8540_PIN_GROUP(ipgpio1_a_1, NMK_GPIO_ALT_A), | ||
688 | DB8540_PIN_GROUP(modi2s_a_1, NMK_GPIO_ALT_A), | ||
689 | DB8540_PIN_GROUP(spi2_a_1, NMK_GPIO_ALT_A), | ||
690 | DB8540_PIN_GROUP(u2txrx_a_1, NMK_GPIO_ALT_A), | ||
691 | DB8540_PIN_GROUP(u2ctsrts_a_1, NMK_GPIO_ALT_A), | ||
692 | DB8540_PIN_GROUP(modsmb_a_1, NMK_GPIO_ALT_A), | ||
693 | DB8540_PIN_GROUP(msp2sck_a_1, NMK_GPIO_ALT_A), | ||
694 | DB8540_PIN_GROUP(msp2txdtcktfs_a_1, NMK_GPIO_ALT_A), | ||
695 | DB8540_PIN_GROUP(msp2rxd_a_1, NMK_GPIO_ALT_A), | ||
696 | DB8540_PIN_GROUP(mc4_a_1, NMK_GPIO_ALT_A), | ||
697 | DB8540_PIN_GROUP(mc1_a_1, NMK_GPIO_ALT_A), | ||
698 | DB8540_PIN_GROUP(hsir_a_1, NMK_GPIO_ALT_A), | ||
699 | DB8540_PIN_GROUP(hsit_a_1, NMK_GPIO_ALT_A), | ||
700 | DB8540_PIN_GROUP(hsit_a_2, NMK_GPIO_ALT_A), | ||
701 | DB8540_PIN_GROUP(clkout_a_1, NMK_GPIO_ALT_A), | ||
702 | DB8540_PIN_GROUP(clkout_a_2, NMK_GPIO_ALT_A), | ||
703 | DB8540_PIN_GROUP(msp4_a_1, NMK_GPIO_ALT_A), | ||
704 | DB8540_PIN_GROUP(usb_a_1, NMK_GPIO_ALT_A), | ||
705 | /* Altfunction B column */ | ||
706 | DB8540_PIN_GROUP(apetrig_b_1, NMK_GPIO_ALT_B), | ||
707 | DB8540_PIN_GROUP(modtrig_b_1, NMK_GPIO_ALT_B), | ||
708 | DB8540_PIN_GROUP(i2c4_b_1, NMK_GPIO_ALT_B), | ||
709 | DB8540_PIN_GROUP(i2c1_b_1, NMK_GPIO_ALT_B), | ||
710 | DB8540_PIN_GROUP(i2c2_b_1, NMK_GPIO_ALT_B), | ||
711 | DB8540_PIN_GROUP(i2c2_b_2, NMK_GPIO_ALT_B), | ||
712 | DB8540_PIN_GROUP(msp0txrx_b_1, NMK_GPIO_ALT_B), | ||
713 | DB8540_PIN_GROUP(i2c1_b_2, NMK_GPIO_ALT_B), | ||
714 | DB8540_PIN_GROUP(stmmod_b_1, NMK_GPIO_ALT_B), | ||
715 | DB8540_PIN_GROUP(moduartstmmux_b_1, NMK_GPIO_ALT_B), | ||
716 | DB8540_PIN_GROUP(msp1txrx_b_1, NMK_GPIO_ALT_B), | ||
717 | DB8540_PIN_GROUP(kp_b_1, NMK_GPIO_ALT_B), | ||
718 | DB8540_PIN_GROUP(u2txrx_b_1, NMK_GPIO_ALT_B), | ||
719 | DB8540_PIN_GROUP(sm_b_1, NMK_GPIO_ALT_B), | ||
720 | DB8540_PIN_GROUP(smcs0_b_1, NMK_GPIO_ALT_B), | ||
721 | DB8540_PIN_GROUP(smcs1_b_1, NMK_GPIO_ALT_B), | ||
722 | DB8540_PIN_GROUP(ipgpio7_b_1, NMK_GPIO_ALT_B), | ||
723 | DB8540_PIN_GROUP(ipgpio2_b_1, NMK_GPIO_ALT_B), | ||
724 | DB8540_PIN_GROUP(ipgpio3_b_1, NMK_GPIO_ALT_B), | ||
725 | DB8540_PIN_GROUP(i2c6_b_1, NMK_GPIO_ALT_B), | ||
726 | DB8540_PIN_GROUP(i2c5_b_1, NMK_GPIO_ALT_B), | ||
727 | DB8540_PIN_GROUP(u3txrx_b_1, NMK_GPIO_ALT_B), | ||
728 | DB8540_PIN_GROUP(u3ctsrts_b_1, NMK_GPIO_ALT_B), | ||
729 | DB8540_PIN_GROUP(i2c5_b_2, NMK_GPIO_ALT_B), | ||
730 | DB8540_PIN_GROUP(i2c4_b_2, NMK_GPIO_ALT_B), | ||
731 | DB8540_PIN_GROUP(u4txrx_b_1, NMK_GPIO_ALT_B), | ||
732 | DB8540_PIN_GROUP(u4ctsrts_b_1, NMK_GPIO_ALT_B), | ||
733 | DB8540_PIN_GROUP(ddrtrig_b_1, NMK_GPIO_ALT_B), | ||
734 | DB8540_PIN_GROUP(msp4_b_1, NMK_GPIO_ALT_B), | ||
735 | DB8540_PIN_GROUP(pwl_b_1, NMK_GPIO_ALT_B), | ||
736 | DB8540_PIN_GROUP(spi1_b_1, NMK_GPIO_ALT_B), | ||
737 | DB8540_PIN_GROUP(mc3_b_1, NMK_GPIO_ALT_B), | ||
738 | DB8540_PIN_GROUP(pwl_b_2, NMK_GPIO_ALT_B), | ||
739 | DB8540_PIN_GROUP(pwl_b_3, NMK_GPIO_ALT_B), | ||
740 | DB8540_PIN_GROUP(pwl_b_4, NMK_GPIO_ALT_B), | ||
741 | DB8540_PIN_GROUP(u2txrx_b_2, NMK_GPIO_ALT_B), | ||
742 | /* Altfunction C column */ | ||
743 | DB8540_PIN_GROUP(ipgpio6_c_1, NMK_GPIO_ALT_C), | ||
744 | DB8540_PIN_GROUP(ipgpio0_c_1, NMK_GPIO_ALT_C), | ||
745 | DB8540_PIN_GROUP(ipgpio1_c_1, NMK_GPIO_ALT_C), | ||
746 | DB8540_PIN_GROUP(ipgpio3_c_1, NMK_GPIO_ALT_C), | ||
747 | DB8540_PIN_GROUP(ipgpio2_c_1, NMK_GPIO_ALT_C), | ||
748 | DB8540_PIN_GROUP(u0_c_1, NMK_GPIO_ALT_C), | ||
749 | DB8540_PIN_GROUP(smcleale_c_1, NMK_GPIO_ALT_C), | ||
750 | DB8540_PIN_GROUP(ipgpio4_c_1, NMK_GPIO_ALT_C), | ||
751 | DB8540_PIN_GROUP(ipgpio5_c_1, NMK_GPIO_ALT_C), | ||
752 | DB8540_PIN_GROUP(ipgpio6_c_2, NMK_GPIO_ALT_C), | ||
753 | DB8540_PIN_GROUP(ipgpio7_c_1, NMK_GPIO_ALT_C), | ||
754 | DB8540_PIN_GROUP(stmape_c_1, NMK_GPIO_ALT_C), | ||
755 | DB8540_PIN_GROUP(u2rxtx_c_1, NMK_GPIO_ALT_C), | ||
756 | DB8540_PIN_GROUP(modobsresout_c_1, NMK_GPIO_ALT_C), | ||
757 | DB8540_PIN_GROUP(ipgpio2_c_2, NMK_GPIO_ALT_C), | ||
758 | DB8540_PIN_GROUP(ipgpio3_c_2, NMK_GPIO_ALT_C), | ||
759 | DB8540_PIN_GROUP(ipgpio4_c_2, NMK_GPIO_ALT_C), | ||
760 | DB8540_PIN_GROUP(ipgpio5_c_2, NMK_GPIO_ALT_C), | ||
761 | DB8540_PIN_GROUP(modaccgpo_c_1, NMK_GPIO_ALT_C), | ||
762 | DB8540_PIN_GROUP(modobspwrrst_c_1, NMK_GPIO_ALT_C), | ||
763 | DB8540_PIN_GROUP(mc5_c_1, NMK_GPIO_ALT_C), | ||
764 | DB8540_PIN_GROUP(smps0_c_1, NMK_GPIO_ALT_C), | ||
765 | DB8540_PIN_GROUP(moduart1_c_1, NMK_GPIO_ALT_C), | ||
766 | DB8540_PIN_GROUP(mc2rstn_c_1, NMK_GPIO_ALT_C), | ||
767 | DB8540_PIN_GROUP(i2c5_c_1, NMK_GPIO_ALT_C), | ||
768 | DB8540_PIN_GROUP(ipgpio0_c_2, NMK_GPIO_ALT_C), | ||
769 | DB8540_PIN_GROUP(ipgpio1_c_2, NMK_GPIO_ALT_C), | ||
770 | DB8540_PIN_GROUP(kp_c_1, NMK_GPIO_ALT_C), | ||
771 | DB8540_PIN_GROUP(modrf_c_1, NMK_GPIO_ALT_C), | ||
772 | DB8540_PIN_GROUP(smps1_c_1, NMK_GPIO_ALT_C), | ||
773 | DB8540_PIN_GROUP(i2c5_c_2, NMK_GPIO_ALT_C), | ||
774 | DB8540_PIN_GROUP(u4ctsrts_c_1, NMK_GPIO_ALT_C), | ||
775 | DB8540_PIN_GROUP(u3rxtx_c_1, NMK_GPIO_ALT_C), | ||
776 | DB8540_PIN_GROUP(msp4_c_1, NMK_GPIO_ALT_C), | ||
777 | DB8540_PIN_GROUP(mc4rstn_c_1, NMK_GPIO_ALT_C), | ||
778 | DB8540_PIN_GROUP(spi0_c_1, NMK_GPIO_ALT_C), | ||
779 | DB8540_PIN_GROUP(i2c3_c_1, NMK_GPIO_ALT_C), | ||
780 | |||
781 | /* Other alt C1 column, these are still configured as alt C */ | ||
782 | DB8540_PIN_GROUP(spi3_oc1_1, NMK_GPIO_ALT_C), | ||
783 | DB8540_PIN_GROUP(stmape_oc1_1, NMK_GPIO_ALT_C), | ||
784 | DB8540_PIN_GROUP(u2_oc1_1, NMK_GPIO_ALT_C), | ||
785 | DB8540_PIN_GROUP(remap0_oc1_1, NMK_GPIO_ALT_C), | ||
786 | DB8540_PIN_GROUP(remap1_oc1_1, NMK_GPIO_ALT_C), | ||
787 | DB8540_PIN_GROUP(modobsrefclk_oc1_1, NMK_GPIO_ALT_C), | ||
788 | DB8540_PIN_GROUP(modobspwrctrl_oc1_1, NMK_GPIO_ALT_C), | ||
789 | DB8540_PIN_GROUP(modobsclkout_oc1_1, NMK_GPIO_ALT_C), | ||
790 | DB8540_PIN_GROUP(moduart1_oc1_1, NMK_GPIO_ALT_C), | ||
791 | DB8540_PIN_GROUP(modprcmudbg_oc1_1, NMK_GPIO_ALT_C), | ||
792 | DB8540_PIN_GROUP(modobsresout_oc1_1, NMK_GPIO_ALT_C), | ||
793 | DB8540_PIN_GROUP(modaccgpo_oc1_1, NMK_GPIO_ALT_C), | ||
794 | DB8540_PIN_GROUP(kp_oc1_1, NMK_GPIO_ALT_C), | ||
795 | DB8540_PIN_GROUP(modxmip_oc1_1, NMK_GPIO_ALT_C), | ||
796 | DB8540_PIN_GROUP(i2c6_oc1_1, NMK_GPIO_ALT_C), | ||
797 | DB8540_PIN_GROUP(u2txrx_oc1_1, NMK_GPIO_ALT_C), | ||
798 | DB8540_PIN_GROUP(u2ctsrts_oc1_1, NMK_GPIO_ALT_C), | ||
799 | |||
800 | /* Other alt C2 column, these are still configured as alt C */ | ||
801 | DB8540_PIN_GROUP(sbag_oc2_1, NMK_GPIO_ALT_C), | ||
802 | DB8540_PIN_GROUP(hxclk_oc2_1, NMK_GPIO_ALT_C), | ||
803 | DB8540_PIN_GROUP(modaccuart_oc2_1, NMK_GPIO_ALT_C), | ||
804 | DB8540_PIN_GROUP(stmmod_oc2_1, NMK_GPIO_ALT_C), | ||
805 | DB8540_PIN_GROUP(moduartstmmux_oc2_1, NMK_GPIO_ALT_C), | ||
806 | DB8540_PIN_GROUP(hxgpio_oc2_1, NMK_GPIO_ALT_C), | ||
807 | DB8540_PIN_GROUP(sbag_oc2_2, NMK_GPIO_ALT_C), | ||
808 | DB8540_PIN_GROUP(modobsservice_oc2_1, NMK_GPIO_ALT_C), | ||
809 | DB8540_PIN_GROUP(moduart0_oc2_1, NMK_GPIO_ALT_C), | ||
810 | DB8540_PIN_GROUP(stmape_oc2_1, NMK_GPIO_ALT_C), | ||
811 | DB8540_PIN_GROUP(u2_oc2_1, NMK_GPIO_ALT_C), | ||
812 | DB8540_PIN_GROUP(modxmip_oc2_1, NMK_GPIO_ALT_C), | ||
813 | |||
814 | /* Other alt C3 column, these are still configured as alt C */ | ||
815 | DB8540_PIN_GROUP(modaccgpo_oc3_1, NMK_GPIO_ALT_C), | ||
816 | DB8540_PIN_GROUP(tpui_oc3_1, NMK_GPIO_ALT_C), | ||
817 | |||
818 | /* Other alt C4 column, these are still configured as alt C */ | ||
819 | DB8540_PIN_GROUP(hwobs_oc4_1, NMK_GPIO_ALT_C), | ||
820 | DB8540_PIN_GROUP(moduart1txrx_oc4_1, NMK_GPIO_ALT_C), | ||
821 | DB8540_PIN_GROUP(moduart1rtscts_oc4_1, NMK_GPIO_ALT_C), | ||
822 | DB8540_PIN_GROUP(modaccuarttxrx_oc4_1, NMK_GPIO_ALT_C), | ||
823 | DB8540_PIN_GROUP(modaccuartrtscts_oc4_1, NMK_GPIO_ALT_C), | ||
824 | DB8540_PIN_GROUP(stmmod_oc4_1, NMK_GPIO_ALT_C), | ||
825 | |||
826 | }; | ||
827 | |||
828 | /* We use this macro to define the groups applicable to a function */ | ||
829 | #define DB8540_FUNC_GROUPS(a, b...) \ | ||
830 | static const char * const a##_groups[] = { b }; | ||
831 | |||
832 | DB8540_FUNC_GROUPS(apetrig, "apetrig_b_1"); | ||
833 | DB8540_FUNC_GROUPS(clkout, "clkoutreq_a_1", "clkout_a_1", "clkout_a_2"); | ||
834 | DB8540_FUNC_GROUPS(ddrtrig, "ddrtrig_b_1"); | ||
835 | DB8540_FUNC_GROUPS(hsi, "hsir_a_1", "hsit_a_1", "hsit_a_2"); | ||
836 | DB8540_FUNC_GROUPS(hwobs, "hwobs_oc4_1"); | ||
837 | DB8540_FUNC_GROUPS(hx, "hxclk_oc2_1", "hxgpio_oc2_1"); | ||
838 | DB8540_FUNC_GROUPS(i2c0, "i2c0_a_1"); | ||
839 | DB8540_FUNC_GROUPS(i2c1, "i2c1_b_1", "i2c1_b_2"); | ||
840 | DB8540_FUNC_GROUPS(i2c2, "i2c2_b_1", "i2c2_b_2"); | ||
841 | DB8540_FUNC_GROUPS(i2c3, "i2c3_c_1", "i2c4_b_1"); | ||
842 | DB8540_FUNC_GROUPS(i2c4, "i2c4_b_2"); | ||
843 | DB8540_FUNC_GROUPS(i2c5, "i2c5_b_1", "i2c5_b_2", "i2c5_c_1", "i2c5_c_2"); | ||
844 | DB8540_FUNC_GROUPS(i2c6, "i2c6_b_1", "i2c6_oc1_1"); | ||
845 | /* The image processor has 8 GPIO pins that can be muxed out */ | ||
846 | DB8540_FUNC_GROUPS(ipgpio, "ipgpio0_a_1", "ipgpio0_c_1", "ipgpio0_c_2", | ||
847 | "ipgpio1_a_1", "ipgpio1_c_1", "ipgpio1_c_2", | ||
848 | "ipgpio2_b_1", "ipgpio2_c_1", "ipgpio2_c_2", | ||
849 | "ipgpio3_b_1", "ipgpio3_c_1", "ipgpio3_c_2", | ||
850 | "ipgpio4_c_1", "ipgpio4_c_2", | ||
851 | "ipgpio5_c_1", "ipgpio5_c_2", | ||
852 | "ipgpio6_c_1", "ipgpio6_c_2", | ||
853 | "ipgpio7_b_1", "ipgpio7_c_1"); | ||
854 | DB8540_FUNC_GROUPS(ipi2c, "ipi2c_a_1", "ipi2c_a_2"); | ||
855 | DB8540_FUNC_GROUPS(kp, "kp_a_1", "kp_b_1", "kp_c_1", "kp_oc1_1"); | ||
856 | DB8540_FUNC_GROUPS(lcd, "lcd_d0_d7_a_1", "lcd_d12_d23_a_1", "lcd_d8_d11_a_1", | ||
857 | "lcdvsi0_a_1", "lcdvsi1_a_1"); | ||
858 | DB8540_FUNC_GROUPS(lcdb, "lcdb_a_1"); | ||
859 | DB8540_FUNC_GROUPS(mc0, "mc0_a_1"); | ||
860 | DB8540_FUNC_GROUPS(mc1, "mc1_a_1", "mc1_a_2"); | ||
861 | DB8540_FUNC_GROUPS(mc2, "mc2_a_1", "mc2rstn_c_1"); | ||
862 | DB8540_FUNC_GROUPS(mc3, "mc3_b_1"); | ||
863 | DB8540_FUNC_GROUPS(mc4, "mc4_a_1", "mc4rstn_c_1"); | ||
864 | DB8540_FUNC_GROUPS(mc5, "mc5_c_1"); | ||
865 | DB8540_FUNC_GROUPS(modaccgpo, "modaccgpo_c_1", "modaccgpo_oc1_1", | ||
866 | "modaccgpo_oc3_1"); | ||
867 | DB8540_FUNC_GROUPS(modaccuart, "modaccuart_oc2_1", "modaccuarttxrx_oc4_1", | ||
868 | "modaccuartrtccts_oc4_1"); | ||
869 | DB8540_FUNC_GROUPS(modi2s, "modi2s_a_1"); | ||
870 | DB8540_FUNC_GROUPS(modobs, "modobsclk_a_1", "modobsclkout_oc1_1", | ||
871 | "modobspwrctrl_oc1_1", "modobspwrrst_c_1", | ||
872 | "modobsrefclk_oc1_1", "modobsresout_c_1", | ||
873 | "modobsresout_oc1_1", "modobsservice_oc2_1"); | ||
874 | DB8540_FUNC_GROUPS(modprcmudbg, "modprcmudbg_oc1_1"); | ||
875 | DB8540_FUNC_GROUPS(modrf, "modrf_c_1"); | ||
876 | DB8540_FUNC_GROUPS(modsmb, "modsmb_a_1"); | ||
877 | DB8540_FUNC_GROUPS(modtrig, "modtrig_b_1"); | ||
878 | DB8540_FUNC_GROUPS(moduart, "moduart1_c_1", "moduart1_oc1_1", | ||
879 | "moduart1txrx_oc4_1", "moduart1rtscts_oc4_1", "moduart0_oc2_1"); | ||
880 | DB8540_FUNC_GROUPS(moduartstmmux, "moduartstmmux_b_1", "moduartstmmux_oc2_1", | ||
881 | "moduartstmmux_oc4_1"); | ||
882 | DB8540_FUNC_GROUPS(modxmip, "modxmip_oc1_1", "modxmip_oc2_1"); | ||
883 | /* | ||
884 | * MSP0 can only be on a certain set of pins, but the TX/RX pins can be | ||
885 | * switched around by selecting the altfunction A or B. | ||
886 | */ | ||
887 | DB8540_FUNC_GROUPS(msp0, "msp0rfsrck_a_1", "msp0tfstck_a_1", "msp0txrx_a_1", | ||
888 | "msp0txrx_b_1"); | ||
889 | DB8540_FUNC_GROUPS(msp1, "msp1_a_1", "msp1txrx_a_1", "msp1txrx_b_1"); | ||
890 | DB8540_FUNC_GROUPS(msp2, "msp2sck_a_1", "msp2txdtcktfs_a_1", "msp2rxd_a_1"); | ||
891 | DB8540_FUNC_GROUPS(msp4, "msp4_a_1", "msp4_b_1", "msp4_c_1"); | ||
892 | DB8540_FUNC_GROUPS(pwl, "pwl_b_1", "pwl_b_2", "pwl_b_3", "pwl_b_4"); | ||
893 | DB8540_FUNC_GROUPS(remap, "remap0_oc1_1", "remap1_oc1_1"); | ||
894 | DB8540_FUNC_GROUPS(sbag, "sbag_oc2_1", "sbag_oc2_2"); | ||
895 | /* Select between CS0 on alt B or PS1 on alt C */ | ||
896 | DB8540_FUNC_GROUPS(sm, "sm_b_1", "smcleale_c_1", "smcs0_b_1", "smcs1_b_1", | ||
897 | "smps0_c_1", "smps1_c_1"); | ||
898 | DB8540_FUNC_GROUPS(spi0, "spi0_c_1"); | ||
899 | DB8540_FUNC_GROUPS(spi1, "spi1_b_1"); | ||
900 | DB8540_FUNC_GROUPS(spi2, "spi2_a_1"); | ||
901 | DB8540_FUNC_GROUPS(spi3, "spi3_oc1_1"); | ||
902 | DB8540_FUNC_GROUPS(ssp0, "ssp0_a_1"); | ||
903 | DB8540_FUNC_GROUPS(ssp1, "ssp1_a_1"); | ||
904 | DB8540_FUNC_GROUPS(stmape, "stmape_c_1", "stmape_oc1_1", "stmape_oc2_1"); | ||
905 | DB8540_FUNC_GROUPS(stmmod, "stmmod_b_1", "stmmod_oc2_1", "stmmod_oc4_1"); | ||
906 | DB8540_FUNC_GROUPS(tpui, "tpui_oc3_1"); | ||
907 | DB8540_FUNC_GROUPS(u0, "u0_a_1", "u0_c_1"); | ||
908 | DB8540_FUNC_GROUPS(u1, "u1ctsrts_a_1", "u1rxtx_a_1"); | ||
909 | DB8540_FUNC_GROUPS(u2, "u2_oc1_1", "u2_oc2_1", "u2ctsrts_a_1", "u2ctsrts_oc1_1", | ||
910 | "u2rxtx_c_1", "u2txrx_a_1", "u2txrx_b_1", "u2txrx_b_2", | ||
911 | "u2txrx_oc1_1"); | ||
912 | DB8540_FUNC_GROUPS(u3, "u3ctsrts_b_1", "u3rxtx_c_1", "u3txrxa_b_1"); | ||
913 | DB8540_FUNC_GROUPS(u4, "u4ctsrts_b_1", "u4ctsrts_c_1", "u4txrx_b_1"); | ||
914 | DB8540_FUNC_GROUPS(usb, "usb_a_1"); | ||
915 | |||
916 | |||
917 | #define FUNCTION(fname) \ | ||
918 | { \ | ||
919 | .name = #fname, \ | ||
920 | .groups = fname##_groups, \ | ||
921 | .ngroups = ARRAY_SIZE(fname##_groups), \ | ||
922 | } | ||
923 | |||
924 | static const struct nmk_function nmk_db8540_functions[] = { | ||
925 | FUNCTION(apetrig), | ||
926 | FUNCTION(clkout), | ||
927 | FUNCTION(ddrtrig), | ||
928 | FUNCTION(hsi), | ||
929 | FUNCTION(hwobs), | ||
930 | FUNCTION(hx), | ||
931 | FUNCTION(i2c0), | ||
932 | FUNCTION(i2c1), | ||
933 | FUNCTION(i2c2), | ||
934 | FUNCTION(i2c3), | ||
935 | FUNCTION(i2c4), | ||
936 | FUNCTION(i2c5), | ||
937 | FUNCTION(i2c6), | ||
938 | FUNCTION(ipgpio), | ||
939 | FUNCTION(ipi2c), | ||
940 | FUNCTION(kp), | ||
941 | FUNCTION(lcd), | ||
942 | FUNCTION(lcdb), | ||
943 | FUNCTION(mc0), | ||
944 | FUNCTION(mc1), | ||
945 | FUNCTION(mc2), | ||
946 | FUNCTION(mc3), | ||
947 | FUNCTION(mc4), | ||
948 | FUNCTION(mc5), | ||
949 | FUNCTION(modaccgpo), | ||
950 | FUNCTION(modaccuart), | ||
951 | FUNCTION(modi2s), | ||
952 | FUNCTION(modobs), | ||
953 | FUNCTION(modprcmudbg), | ||
954 | FUNCTION(modrf), | ||
955 | FUNCTION(modsmb), | ||
956 | FUNCTION(modtrig), | ||
957 | FUNCTION(moduart), | ||
958 | FUNCTION(modxmip), | ||
959 | FUNCTION(msp0), | ||
960 | FUNCTION(msp1), | ||
961 | FUNCTION(msp2), | ||
962 | FUNCTION(msp4), | ||
963 | FUNCTION(pwl), | ||
964 | FUNCTION(remap), | ||
965 | FUNCTION(sbag), | ||
966 | FUNCTION(sm), | ||
967 | FUNCTION(spi0), | ||
968 | FUNCTION(spi1), | ||
969 | FUNCTION(spi2), | ||
970 | FUNCTION(spi3), | ||
971 | FUNCTION(ssp0), | ||
972 | FUNCTION(ssp1), | ||
973 | FUNCTION(stmape), | ||
974 | FUNCTION(stmmod), | ||
975 | FUNCTION(tpui), | ||
976 | FUNCTION(u0), | ||
977 | FUNCTION(u1), | ||
978 | FUNCTION(u2), | ||
979 | FUNCTION(u3), | ||
980 | FUNCTION(u4), | ||
981 | FUNCTION(usb) | ||
982 | }; | ||
983 | |||
984 | static const struct nmk_pinctrl_soc_data nmk_db8540_soc = { | ||
985 | .gpio_ranges = nmk_db8540_ranges, | ||
986 | .gpio_num_ranges = ARRAY_SIZE(nmk_db8540_ranges), | ||
987 | .pins = nmk_db8540_pins, | ||
988 | .npins = ARRAY_SIZE(nmk_db8540_pins), | ||
989 | .functions = nmk_db8540_functions, | ||
990 | .nfunctions = ARRAY_SIZE(nmk_db8540_functions), | ||
991 | .groups = nmk_db8540_groups, | ||
992 | .ngroups = ARRAY_SIZE(nmk_db8540_groups), | ||
993 | }; | ||
994 | |||
995 | void __devinit | ||
996 | nmk_pinctrl_db8540_init(const struct nmk_pinctrl_soc_data **soc) | ||
997 | { | ||
998 | *soc = &nmk_db8540_soc; | ||
999 | } | ||
diff --git a/drivers/pinctrl/pinctrl-nomadik-stn8815.c b/drivers/pinctrl/pinctrl-nomadik-stn8815.c new file mode 100644 index 000000000000..7d432c3bc359 --- /dev/null +++ b/drivers/pinctrl/pinctrl-nomadik-stn8815.c | |||
@@ -0,0 +1,357 @@ | |||
1 | #include <linux/kernel.h> | ||
2 | #include <linux/pinctrl/pinctrl.h> | ||
3 | #include "pinctrl-nomadik.h" | ||
4 | |||
5 | /* All the pins that can be used for GPIO and some other functions */ | ||
6 | #define _GPIO(offset) (offset) | ||
7 | |||
8 | #define STN8815_PIN_B4 _GPIO(0) | ||
9 | #define STN8815_PIN_D5 _GPIO(1) | ||
10 | #define STN8815_PIN_C5 _GPIO(2) | ||
11 | #define STN8815_PIN_A4 _GPIO(3) | ||
12 | #define STN8815_PIN_B5 _GPIO(4) | ||
13 | #define STN8815_PIN_D6 _GPIO(5) | ||
14 | #define STN8815_PIN_C6 _GPIO(6) | ||
15 | #define STN8815_PIN_B6 _GPIO(7) | ||
16 | #define STN8815_PIN_B10 _GPIO(8) | ||
17 | #define STN8815_PIN_A10 _GPIO(9) | ||
18 | #define STN8815_PIN_C11 _GPIO(10) | ||
19 | #define STN8815_PIN_B11 _GPIO(11) | ||
20 | #define STN8815_PIN_A11 _GPIO(12) | ||
21 | #define STN8815_PIN_C12 _GPIO(13) | ||
22 | #define STN8815_PIN_B12 _GPIO(14) | ||
23 | #define STN8815_PIN_A12 _GPIO(15) | ||
24 | #define STN8815_PIN_C13 _GPIO(16) | ||
25 | #define STN8815_PIN_B13 _GPIO(17) | ||
26 | #define STN8815_PIN_A13 _GPIO(18) | ||
27 | #define STN8815_PIN_D13 _GPIO(19) | ||
28 | #define STN8815_PIN_C14 _GPIO(20) | ||
29 | #define STN8815_PIN_B14 _GPIO(21) | ||
30 | #define STN8815_PIN_A14 _GPIO(22) | ||
31 | #define STN8815_PIN_D15 _GPIO(23) | ||
32 | #define STN8815_PIN_C15 _GPIO(24) | ||
33 | #define STN8815_PIN_B15 _GPIO(25) | ||
34 | #define STN8815_PIN_A15 _GPIO(26) | ||
35 | #define STN8815_PIN_C16 _GPIO(27) | ||
36 | #define STN8815_PIN_B16 _GPIO(28) | ||
37 | #define STN8815_PIN_A16 _GPIO(29) | ||
38 | #define STN8815_PIN_D17 _GPIO(30) | ||
39 | #define STN8815_PIN_C17 _GPIO(31) | ||
40 | #define STN8815_PIN_AB6 _GPIO(32) | ||
41 | #define STN8815_PIN_AA6 _GPIO(33) | ||
42 | #define STN8815_PIN_Y6 _GPIO(34) | ||
43 | #define STN8815_PIN_Y5 _GPIO(35) | ||
44 | #define STN8815_PIN_AA5 _GPIO(36) | ||
45 | #define STN8815_PIN_AB5 _GPIO(37) | ||
46 | #define STN8815_PIN_AB4 _GPIO(38) | ||
47 | #define STN8815_PIN_Y4 _GPIO(39) | ||
48 | #define STN8815_PIN_R1 _GPIO(40) | ||
49 | #define STN8815_PIN_R2 _GPIO(41) | ||
50 | #define STN8815_PIN_R3 _GPIO(42) | ||
51 | #define STN8815_PIN_P1 _GPIO(43) | ||
52 | #define STN8815_PIN_P2 _GPIO(44) | ||
53 | #define STN8815_PIN_P3 _GPIO(45) | ||
54 | #define STN8815_PIN_N1 _GPIO(46) | ||
55 | #define STN8815_PIN_N2 _GPIO(47) | ||
56 | #define STN8815_PIN_N3 _GPIO(48) | ||
57 | #define STN8815_PIN_M1 _GPIO(49) | ||
58 | #define STN8815_PIN_M3 _GPIO(50) | ||
59 | #define STN8815_PIN_M2 _GPIO(51) | ||
60 | #define STN8815_PIN_L1 _GPIO(52) | ||
61 | #define STN8815_PIN_L4 _GPIO(53) | ||
62 | #define STN8815_PIN_L3 _GPIO(54) | ||
63 | #define STN8815_PIN_L2 _GPIO(55) | ||
64 | #define STN8815_PIN_F3 _GPIO(56) | ||
65 | #define STN8815_PIN_F2 _GPIO(57) | ||
66 | #define STN8815_PIN_E1 _GPIO(58) | ||
67 | #define STN8815_PIN_E3 _GPIO(59) | ||
68 | #define STN8815_PIN_E2 _GPIO(60) | ||
69 | #define STN8815_PIN_E4 _GPIO(61) | ||
70 | #define STN8815_PIN_D3 _GPIO(62) | ||
71 | #define STN8815_PIN_D2 _GPIO(63) | ||
72 | #define STN8815_PIN_F21 _GPIO(64) | ||
73 | #define STN8815_PIN_F20 _GPIO(65) | ||
74 | #define STN8815_PIN_E22 _GPIO(66) | ||
75 | #define STN8815_PIN_D22 _GPIO(67) | ||
76 | #define STN8815_PIN_E21 _GPIO(68) | ||
77 | #define STN8815_PIN_E20 _GPIO(69) | ||
78 | #define STN8815_PIN_C22 _GPIO(70) | ||
79 | #define STN8815_PIN_D21 _GPIO(71) | ||
80 | #define STN8815_PIN_D20 _GPIO(72) | ||
81 | #define STN8815_PIN_C21 _GPIO(73) | ||
82 | #define STN8815_PIN_C20 _GPIO(74) | ||
83 | #define STN8815_PIN_C19 _GPIO(75) | ||
84 | #define STN8815_PIN_B20 _GPIO(76) | ||
85 | #define STN8815_PIN_B8 _GPIO(77) | ||
86 | #define STN8815_PIN_A8 _GPIO(78) | ||
87 | #define STN8815_PIN_C9 _GPIO(79) | ||
88 | #define STN8815_PIN_B9 _GPIO(80) | ||
89 | #define STN8815_PIN_A9 _GPIO(81) | ||
90 | #define STN8815_PIN_C10 _GPIO(82) | ||
91 | #define STN8815_PIN_K1 _GPIO(83) | ||
92 | #define STN8815_PIN_K3 _GPIO(84) | ||
93 | #define STN8815_PIN_K2 _GPIO(85) | ||
94 | #define STN8815_PIN_J1 _GPIO(86) | ||
95 | #define STN8815_PIN_J3 _GPIO(87) | ||
96 | #define STN8815_PIN_J2 _GPIO(88) | ||
97 | #define STN8815_PIN_H1 _GPIO(89) | ||
98 | #define STN8815_PIN_H3 _GPIO(90) | ||
99 | #define STN8815_PIN_H2 _GPIO(91) | ||
100 | #define STN8815_PIN_G1 _GPIO(92) | ||
101 | #define STN8815_PIN_G3 _GPIO(93) | ||
102 | #define STN8815_PIN_G2 _GPIO(94) | ||
103 | #define STN8815_PIN_F1 _GPIO(95) | ||
104 | #define STN8815_PIN_T20 _GPIO(96) | ||
105 | #define STN8815_PIN_R21 _GPIO(97) | ||
106 | #define STN8815_PIN_R20 _GPIO(98) | ||
107 | #define STN8815_PIN_U22 _GPIO(99) | ||
108 | #define STN8815_PIN_N21 _GPIO(100) | ||
109 | #define STN8815_PIN_N20 _GPIO(101) | ||
110 | #define STN8815_PIN_P22 _GPIO(102) | ||
111 | #define STN8815_PIN_N22 _GPIO(103) | ||
112 | #define STN8815_PIN_V22 _GPIO(104) | ||
113 | #define STN8815_PIN_V21 _GPIO(105) | ||
114 | #define STN8815_PIN_K22 _GPIO(106) | ||
115 | #define STN8815_PIN_K21 _GPIO(107) | ||
116 | #define STN8815_PIN_H20 _GPIO(108) | ||
117 | #define STN8815_PIN_G20 _GPIO(109) | ||
118 | #define STN8815_PIN_L21 _GPIO(110) | ||
119 | #define STN8815_PIN_H21 _GPIO(111) | ||
120 | #define STN8815_PIN_J21 _GPIO(112) | ||
121 | #define STN8815_PIN_H22 _GPIO(113) | ||
122 | #define STN8815_PIN_K20 _GPIO(114) | ||
123 | #define STN8815_PIN_L22 _GPIO(115) | ||
124 | #define STN8815_PIN_G21 _GPIO(116) | ||
125 | #define STN8815_PIN_J20 _GPIO(117) | ||
126 | #define STN8815_PIN_G22 _GPIO(118) | ||
127 | #define STN8815_PIN_U19 _GPIO(119) | ||
128 | #define STN8815_PIN_G19 _GPIO(120) | ||
129 | #define STN8815_PIN_M22 _GPIO(121) | ||
130 | #define STN8815_PIN_M19 _GPIO(122) | ||
131 | #define STN8815_PIN_J22 _GPIO(123) | ||
132 | /* GPIOs 124-127 not routed to pins */ | ||
133 | |||
134 | /* | ||
135 | * The names of the pins are denoted by GPIO number and ball name, even | ||
136 | * though they can be used for other things than GPIO, this is the first | ||
137 | * column in the table of the data sheet and often used on schematics and | ||
138 | * such. | ||
139 | */ | ||
140 | static const struct pinctrl_pin_desc nmk_stn8815_pins[] = { | ||
141 | PINCTRL_PIN(STN8815_PIN_B4, "GPIO0_B4"), | ||
142 | PINCTRL_PIN(STN8815_PIN_D5, "GPIO1_D5"), | ||
143 | PINCTRL_PIN(STN8815_PIN_C5, "GPIO2_C5"), | ||
144 | PINCTRL_PIN(STN8815_PIN_A4, "GPIO3_A4"), | ||
145 | PINCTRL_PIN(STN8815_PIN_B5, "GPIO4_B5"), | ||
146 | PINCTRL_PIN(STN8815_PIN_D6, "GPIO5_D6"), | ||
147 | PINCTRL_PIN(STN8815_PIN_C6, "GPIO6_C6"), | ||
148 | PINCTRL_PIN(STN8815_PIN_B6, "GPIO7_B6"), | ||
149 | PINCTRL_PIN(STN8815_PIN_B10, "GPIO8_B10"), | ||
150 | PINCTRL_PIN(STN8815_PIN_A10, "GPIO9_A10"), | ||
151 | PINCTRL_PIN(STN8815_PIN_C11, "GPIO10_C11"), | ||
152 | PINCTRL_PIN(STN8815_PIN_B11, "GPIO11_B11"), | ||
153 | PINCTRL_PIN(STN8815_PIN_A11, "GPIO12_A11"), | ||
154 | PINCTRL_PIN(STN8815_PIN_C12, "GPIO13_C12"), | ||
155 | PINCTRL_PIN(STN8815_PIN_B12, "GPIO14_B12"), | ||
156 | PINCTRL_PIN(STN8815_PIN_A12, "GPIO15_A12"), | ||
157 | PINCTRL_PIN(STN8815_PIN_C13, "GPIO16_C13"), | ||
158 | PINCTRL_PIN(STN8815_PIN_B13, "GPIO17_B13"), | ||
159 | PINCTRL_PIN(STN8815_PIN_A13, "GPIO18_A13"), | ||
160 | PINCTRL_PIN(STN8815_PIN_D13, "GPIO19_D13"), | ||
161 | PINCTRL_PIN(STN8815_PIN_C14, "GPIO20_C14"), | ||
162 | PINCTRL_PIN(STN8815_PIN_B14, "GPIO21_B14"), | ||
163 | PINCTRL_PIN(STN8815_PIN_A14, "GPIO22_A14"), | ||
164 | PINCTRL_PIN(STN8815_PIN_D15, "GPIO23_D15"), | ||
165 | PINCTRL_PIN(STN8815_PIN_C15, "GPIO24_C15"), | ||
166 | PINCTRL_PIN(STN8815_PIN_B15, "GPIO25_B15"), | ||
167 | PINCTRL_PIN(STN8815_PIN_A15, "GPIO26_A15"), | ||
168 | PINCTRL_PIN(STN8815_PIN_C16, "GPIO27_C16"), | ||
169 | PINCTRL_PIN(STN8815_PIN_B16, "GPIO28_B16"), | ||
170 | PINCTRL_PIN(STN8815_PIN_A16, "GPIO29_A16"), | ||
171 | PINCTRL_PIN(STN8815_PIN_D17, "GPIO30_D17"), | ||
172 | PINCTRL_PIN(STN8815_PIN_C17, "GPIO31_C17"), | ||
173 | PINCTRL_PIN(STN8815_PIN_AB6, "GPIO32_AB6"), | ||
174 | PINCTRL_PIN(STN8815_PIN_AA6, "GPIO33_AA6"), | ||
175 | PINCTRL_PIN(STN8815_PIN_Y6, "GPIO34_Y6"), | ||
176 | PINCTRL_PIN(STN8815_PIN_Y5, "GPIO35_Y5"), | ||
177 | PINCTRL_PIN(STN8815_PIN_AA5, "GPIO36_AA5"), | ||
178 | PINCTRL_PIN(STN8815_PIN_AB5, "GPIO37_AB5"), | ||
179 | PINCTRL_PIN(STN8815_PIN_AB4, "GPIO38_AB4"), | ||
180 | PINCTRL_PIN(STN8815_PIN_Y4, "GPIO39_Y4"), | ||
181 | PINCTRL_PIN(STN8815_PIN_R1, "GPIO40_R1"), | ||
182 | PINCTRL_PIN(STN8815_PIN_R2, "GPIO41_R2"), | ||
183 | PINCTRL_PIN(STN8815_PIN_R3, "GPIO42_R3"), | ||
184 | PINCTRL_PIN(STN8815_PIN_P1, "GPIO43_P1"), | ||
185 | PINCTRL_PIN(STN8815_PIN_P2, "GPIO44_P2"), | ||
186 | PINCTRL_PIN(STN8815_PIN_P3, "GPIO45_P3"), | ||
187 | PINCTRL_PIN(STN8815_PIN_N1, "GPIO46_N1"), | ||
188 | PINCTRL_PIN(STN8815_PIN_N2, "GPIO47_N2"), | ||
189 | PINCTRL_PIN(STN8815_PIN_N3, "GPIO48_N3"), | ||
190 | PINCTRL_PIN(STN8815_PIN_M1, "GPIO49_M1"), | ||
191 | PINCTRL_PIN(STN8815_PIN_M3, "GPIO50_M3"), | ||
192 | PINCTRL_PIN(STN8815_PIN_M2, "GPIO51_M2"), | ||
193 | PINCTRL_PIN(STN8815_PIN_L1, "GPIO52_L1"), | ||
194 | PINCTRL_PIN(STN8815_PIN_L4, "GPIO53_L4"), | ||
195 | PINCTRL_PIN(STN8815_PIN_L3, "GPIO54_L3"), | ||
196 | PINCTRL_PIN(STN8815_PIN_L2, "GPIO55_L2"), | ||
197 | PINCTRL_PIN(STN8815_PIN_F3, "GPIO56_F3"), | ||
198 | PINCTRL_PIN(STN8815_PIN_F2, "GPIO57_F2"), | ||
199 | PINCTRL_PIN(STN8815_PIN_E1, "GPIO58_E1"), | ||
200 | PINCTRL_PIN(STN8815_PIN_E3, "GPIO59_E3"), | ||
201 | PINCTRL_PIN(STN8815_PIN_E2, "GPIO60_E2"), | ||
202 | PINCTRL_PIN(STN8815_PIN_E4, "GPIO61_E4"), | ||
203 | PINCTRL_PIN(STN8815_PIN_D3, "GPIO62_D3"), | ||
204 | PINCTRL_PIN(STN8815_PIN_D2, "GPIO63_D2"), | ||
205 | PINCTRL_PIN(STN8815_PIN_F21, "GPIO64_F21"), | ||
206 | PINCTRL_PIN(STN8815_PIN_F20, "GPIO65_F20"), | ||
207 | PINCTRL_PIN(STN8815_PIN_E22, "GPIO66_E22"), | ||
208 | PINCTRL_PIN(STN8815_PIN_D22, "GPIO67_D22"), | ||
209 | PINCTRL_PIN(STN8815_PIN_E21, "GPIO68_E21"), | ||
210 | PINCTRL_PIN(STN8815_PIN_E20, "GPIO69_E20"), | ||
211 | PINCTRL_PIN(STN8815_PIN_C22, "GPIO70_C22"), | ||
212 | PINCTRL_PIN(STN8815_PIN_D21, "GPIO71_D21"), | ||
213 | PINCTRL_PIN(STN8815_PIN_D20, "GPIO72_D20"), | ||
214 | PINCTRL_PIN(STN8815_PIN_C21, "GPIO73_C21"), | ||
215 | PINCTRL_PIN(STN8815_PIN_C20, "GPIO74_C20"), | ||
216 | PINCTRL_PIN(STN8815_PIN_C19, "GPIO75_C19"), | ||
217 | PINCTRL_PIN(STN8815_PIN_B20, "GPIO76_B20"), | ||
218 | PINCTRL_PIN(STN8815_PIN_B8, "GPIO77_B8"), | ||
219 | PINCTRL_PIN(STN8815_PIN_A8, "GPIO78_A8"), | ||
220 | PINCTRL_PIN(STN8815_PIN_C9, "GPIO79_C9"), | ||
221 | PINCTRL_PIN(STN8815_PIN_B9, "GPIO80_B9"), | ||
222 | PINCTRL_PIN(STN8815_PIN_A9, "GPIO81_A9"), | ||
223 | PINCTRL_PIN(STN8815_PIN_C10, "GPIO82_C10"), | ||
224 | PINCTRL_PIN(STN8815_PIN_K1, "GPIO83_K1"), | ||
225 | PINCTRL_PIN(STN8815_PIN_K3, "GPIO84_K3"), | ||
226 | PINCTRL_PIN(STN8815_PIN_K2, "GPIO85_K2"), | ||
227 | PINCTRL_PIN(STN8815_PIN_J1, "GPIO86_J1"), | ||
228 | PINCTRL_PIN(STN8815_PIN_J3, "GPIO87_J3"), | ||
229 | PINCTRL_PIN(STN8815_PIN_J2, "GPIO88_J2"), | ||
230 | PINCTRL_PIN(STN8815_PIN_H1, "GPIO89_H1"), | ||
231 | PINCTRL_PIN(STN8815_PIN_H3, "GPIO90_H3"), | ||
232 | PINCTRL_PIN(STN8815_PIN_H2, "GPIO91_H2"), | ||
233 | PINCTRL_PIN(STN8815_PIN_G1, "GPIO92_G1"), | ||
234 | PINCTRL_PIN(STN8815_PIN_G3, "GPIO93_G3"), | ||
235 | PINCTRL_PIN(STN8815_PIN_G2, "GPIO94_G2"), | ||
236 | PINCTRL_PIN(STN8815_PIN_F1, "GPIO95_F1"), | ||
237 | PINCTRL_PIN(STN8815_PIN_T20, "GPIO96_T20"), | ||
238 | PINCTRL_PIN(STN8815_PIN_R21, "GPIO97_R21"), | ||
239 | PINCTRL_PIN(STN8815_PIN_R20, "GPIO98_R20"), | ||
240 | PINCTRL_PIN(STN8815_PIN_U22, "GPIO99_U22"), | ||
241 | PINCTRL_PIN(STN8815_PIN_N21, "GPIO100_N21"), | ||
242 | PINCTRL_PIN(STN8815_PIN_N20, "GPIO101_N20"), | ||
243 | PINCTRL_PIN(STN8815_PIN_P22, "GPIO102_P22"), | ||
244 | PINCTRL_PIN(STN8815_PIN_N22, "GPIO103_N22"), | ||
245 | PINCTRL_PIN(STN8815_PIN_V22, "GPIO104_V22"), | ||
246 | PINCTRL_PIN(STN8815_PIN_V21, "GPIO105_V21"), | ||
247 | PINCTRL_PIN(STN8815_PIN_K22, "GPIO106_K22"), | ||
248 | PINCTRL_PIN(STN8815_PIN_K21, "GPIO107_K21"), | ||
249 | PINCTRL_PIN(STN8815_PIN_H20, "GPIO108_H20"), | ||
250 | PINCTRL_PIN(STN8815_PIN_G20, "GPIO109_G20"), | ||
251 | PINCTRL_PIN(STN8815_PIN_L21, "GPIO110_L21"), | ||
252 | PINCTRL_PIN(STN8815_PIN_H21, "GPIO111_H21"), | ||
253 | PINCTRL_PIN(STN8815_PIN_J21, "GPIO112_J21"), | ||
254 | PINCTRL_PIN(STN8815_PIN_H22, "GPIO113_H22"), | ||
255 | PINCTRL_PIN(STN8815_PIN_K20, "GPIO114_K20"), | ||
256 | PINCTRL_PIN(STN8815_PIN_L22, "GPIO115_L22"), | ||
257 | PINCTRL_PIN(STN8815_PIN_G21, "GPIO116_G21"), | ||
258 | PINCTRL_PIN(STN8815_PIN_J20, "GPIO117_J20"), | ||
259 | PINCTRL_PIN(STN8815_PIN_G22, "GPIO118_G22"), | ||
260 | PINCTRL_PIN(STN8815_PIN_U19, "GPIO119_U19"), | ||
261 | PINCTRL_PIN(STN8815_PIN_G19, "GPIO120_G19"), | ||
262 | PINCTRL_PIN(STN8815_PIN_M22, "GPIO121_M22"), | ||
263 | PINCTRL_PIN(STN8815_PIN_M19, "GPIO122_M19"), | ||
264 | PINCTRL_PIN(STN8815_PIN_J22, "GPIO123_J22"), | ||
265 | }; | ||
266 | |||
267 | #define STN8815_GPIO_RANGE(a, b, c) { .name = "STN8815", .id = a, .base = b, \ | ||
268 | .pin_base = b, .npins = c } | ||
269 | |||
270 | /* | ||
271 | * This matches the 32-pin gpio chips registered by the GPIO portion. This | ||
272 | * cannot be const since we assign the struct gpio_chip * pointer at runtime. | ||
273 | */ | ||
274 | static struct pinctrl_gpio_range nmk_stn8815_ranges[] = { | ||
275 | STN8815_GPIO_RANGE(0, 0, 32), | ||
276 | STN8815_GPIO_RANGE(1, 32, 32), | ||
277 | STN8815_GPIO_RANGE(2, 64, 32), | ||
278 | STN8815_GPIO_RANGE(3, 96, 28), | ||
279 | }; | ||
280 | |||
281 | /* | ||
282 | * Read the pin group names like this: | ||
283 | * u0_a_1 = first groups of pins for uart0 on alt function a | ||
284 | * i2c2_b_2 = second group of pins for i2c2 on alt function b | ||
285 | */ | ||
286 | |||
287 | /* Altfunction A */ | ||
288 | static const unsigned u0_a_1_pins[] = { STN8815_PIN_B4, STN8815_PIN_D5, | ||
289 | STN8815_PIN_C5, STN8815_PIN_A4, STN8815_PIN_B5, STN8815_PIN_D6, | ||
290 | STN8815_PIN_C6, STN8815_PIN_B6 }; | ||
291 | static const unsigned mmcsd_a_1_pins[] = { STN8815_PIN_B10, STN8815_PIN_A10, | ||
292 | STN8815_PIN_C11, STN8815_PIN_B11, STN8815_PIN_A11, STN8815_PIN_C12, | ||
293 | STN8815_PIN_B12, STN8815_PIN_A12, STN8815_PIN_C13, STN8815_PIN_C15 }; | ||
294 | static const unsigned u1_a_1_pins[] = { STN8815_PIN_M2, STN8815_PIN_L1, | ||
295 | STN8815_PIN_F3, STN8815_PIN_F2 }; | ||
296 | static const unsigned i2c1_a_1_pins[] = { STN8815_PIN_L4, STN8815_PIN_L3 }; | ||
297 | static const unsigned i2c0_a_1_pins[] = { STN8815_PIN_D3, STN8815_PIN_D2 }; | ||
298 | /* Altfunction B */ | ||
299 | static const unsigned u1_b_1_pins[] = { STN8815_PIN_B16, STN8815_PIN_A16 }; | ||
300 | static const unsigned i2cusb_b_1_pins[] = { STN8815_PIN_C21, STN8815_PIN_C20 }; | ||
301 | |||
302 | #define STN8815_PIN_GROUP(a,b) { .name = #a, .pins = a##_pins, \ | ||
303 | .npins = ARRAY_SIZE(a##_pins), .altsetting = b } | ||
304 | |||
305 | static const struct nmk_pingroup nmk_stn8815_groups[] = { | ||
306 | STN8815_PIN_GROUP(u0_a_1, NMK_GPIO_ALT_A), | ||
307 | STN8815_PIN_GROUP(mmcsd_a_1, NMK_GPIO_ALT_A), | ||
308 | STN8815_PIN_GROUP(u1_a_1, NMK_GPIO_ALT_A), | ||
309 | STN8815_PIN_GROUP(i2c1_a_1, NMK_GPIO_ALT_A), | ||
310 | STN8815_PIN_GROUP(i2c0_a_1, NMK_GPIO_ALT_A), | ||
311 | STN8815_PIN_GROUP(u1_b_1, NMK_GPIO_ALT_B), | ||
312 | STN8815_PIN_GROUP(i2cusb_b_1, NMK_GPIO_ALT_B), | ||
313 | }; | ||
314 | |||
315 | /* We use this macro to define the groups applicable to a function */ | ||
316 | #define STN8815_FUNC_GROUPS(a, b...) \ | ||
317 | static const char * const a##_groups[] = { b }; | ||
318 | |||
319 | STN8815_FUNC_GROUPS(u0, "u0_a_1"); | ||
320 | STN8815_FUNC_GROUPS(mmcsd, "mmcsd_a_1"); | ||
321 | STN8815_FUNC_GROUPS(u1, "u1_a_1", "u1_b_1"); | ||
322 | STN8815_FUNC_GROUPS(i2c1, "i2c1_a_1"); | ||
323 | STN8815_FUNC_GROUPS(i2c0, "i2c0_a_1"); | ||
324 | STN8815_FUNC_GROUPS(i2cusb, "i2cusb_b_1"); | ||
325 | |||
326 | #define FUNCTION(fname) \ | ||
327 | { \ | ||
328 | .name = #fname, \ | ||
329 | .groups = fname##_groups, \ | ||
330 | .ngroups = ARRAY_SIZE(fname##_groups), \ | ||
331 | } | ||
332 | |||
333 | static const struct nmk_function nmk_stn8815_functions[] = { | ||
334 | FUNCTION(u0), | ||
335 | FUNCTION(mmcsd), | ||
336 | FUNCTION(u1), | ||
337 | FUNCTION(i2c1), | ||
338 | FUNCTION(i2c0), | ||
339 | FUNCTION(i2cusb), | ||
340 | }; | ||
341 | |||
342 | static const struct nmk_pinctrl_soc_data nmk_stn8815_soc = { | ||
343 | .gpio_ranges = nmk_stn8815_ranges, | ||
344 | .gpio_num_ranges = ARRAY_SIZE(nmk_stn8815_ranges), | ||
345 | .pins = nmk_stn8815_pins, | ||
346 | .npins = ARRAY_SIZE(nmk_stn8815_pins), | ||
347 | .functions = nmk_stn8815_functions, | ||
348 | .nfunctions = ARRAY_SIZE(nmk_stn8815_functions), | ||
349 | .groups = nmk_stn8815_groups, | ||
350 | .ngroups = ARRAY_SIZE(nmk_stn8815_groups), | ||
351 | }; | ||
352 | |||
353 | void __devinit | ||
354 | nmk_pinctrl_stn8815_init(const struct nmk_pinctrl_soc_data **soc) | ||
355 | { | ||
356 | *soc = &nmk_stn8815_soc; | ||
357 | } | ||
diff --git a/drivers/pinctrl/pinctrl-nomadik.c b/drivers/pinctrl/pinctrl-nomadik.c index 3dde6537adb8..6030a513f3c4 100644 --- a/drivers/pinctrl/pinctrl-nomadik.c +++ b/drivers/pinctrl/pinctrl-nomadik.c | |||
@@ -819,6 +819,7 @@ static struct irq_chip nmk_gpio_irq_chip = { | |||
819 | .irq_set_wake = nmk_gpio_irq_set_wake, | 819 | .irq_set_wake = nmk_gpio_irq_set_wake, |
820 | .irq_startup = nmk_gpio_irq_startup, | 820 | .irq_startup = nmk_gpio_irq_startup, |
821 | .irq_shutdown = nmk_gpio_irq_shutdown, | 821 | .irq_shutdown = nmk_gpio_irq_shutdown, |
822 | .flags = IRQCHIP_MASK_ON_SUSPEND, | ||
822 | }; | 823 | }; |
823 | 824 | ||
824 | static void __nmk_gpio_irq_handler(unsigned int irq, struct irq_desc *desc, | 825 | static void __nmk_gpio_irq_handler(unsigned int irq, struct irq_desc *desc, |
@@ -826,16 +827,14 @@ static void __nmk_gpio_irq_handler(unsigned int irq, struct irq_desc *desc, | |||
826 | { | 827 | { |
827 | struct nmk_gpio_chip *nmk_chip; | 828 | struct nmk_gpio_chip *nmk_chip; |
828 | struct irq_chip *host_chip = irq_get_chip(irq); | 829 | struct irq_chip *host_chip = irq_get_chip(irq); |
829 | unsigned int first_irq; | ||
830 | 830 | ||
831 | chained_irq_enter(host_chip, desc); | 831 | chained_irq_enter(host_chip, desc); |
832 | 832 | ||
833 | nmk_chip = irq_get_handler_data(irq); | 833 | nmk_chip = irq_get_handler_data(irq); |
834 | first_irq = nmk_chip->domain->revmap_data.legacy.first_irq; | ||
835 | while (status) { | 834 | while (status) { |
836 | int bit = __ffs(status); | 835 | int bit = __ffs(status); |
837 | 836 | ||
838 | generic_handle_irq(first_irq + bit); | 837 | generic_handle_irq(irq_find_mapping(nmk_chip->domain, bit)); |
839 | status &= ~BIT(bit); | 838 | status &= ~BIT(bit); |
840 | } | 839 | } |
841 | 840 | ||
@@ -1720,8 +1719,12 @@ static int __devinit nmk_pinctrl_probe(struct platform_device *pdev) | |||
1720 | of_match_device(nmk_pinctrl_match, &pdev->dev)->data; | 1719 | of_match_device(nmk_pinctrl_match, &pdev->dev)->data; |
1721 | 1720 | ||
1722 | /* Poke in other ASIC variants here */ | 1721 | /* Poke in other ASIC variants here */ |
1722 | if (version == PINCTRL_NMK_STN8815) | ||
1723 | nmk_pinctrl_stn8815_init(&npct->soc); | ||
1723 | if (version == PINCTRL_NMK_DB8500) | 1724 | if (version == PINCTRL_NMK_DB8500) |
1724 | nmk_pinctrl_db8500_init(&npct->soc); | 1725 | nmk_pinctrl_db8500_init(&npct->soc); |
1726 | if (version == PINCTRL_NMK_DB8540) | ||
1727 | nmk_pinctrl_db8540_init(&npct->soc); | ||
1725 | 1728 | ||
1726 | /* | 1729 | /* |
1727 | * We need all the GPIO drivers to probe FIRST, or we will not be able | 1730 | * We need all the GPIO drivers to probe FIRST, or we will not be able |
@@ -1772,6 +1775,7 @@ static struct platform_driver nmk_gpio_driver = { | |||
1772 | static const struct platform_device_id nmk_pinctrl_id[] = { | 1775 | static const struct platform_device_id nmk_pinctrl_id[] = { |
1773 | { "pinctrl-stn8815", PINCTRL_NMK_STN8815 }, | 1776 | { "pinctrl-stn8815", PINCTRL_NMK_STN8815 }, |
1774 | { "pinctrl-db8500", PINCTRL_NMK_DB8500 }, | 1777 | { "pinctrl-db8500", PINCTRL_NMK_DB8500 }, |
1778 | { "pinctrl-db8540", PINCTRL_NMK_DB8540 }, | ||
1775 | }; | 1779 | }; |
1776 | 1780 | ||
1777 | static struct platform_driver nmk_pinctrl_driver = { | 1781 | static struct platform_driver nmk_pinctrl_driver = { |
diff --git a/drivers/pinctrl/pinctrl-nomadik.h b/drivers/pinctrl/pinctrl-nomadik.h index bc91aed7185d..5c99f1c62dfd 100644 --- a/drivers/pinctrl/pinctrl-nomadik.h +++ b/drivers/pinctrl/pinctrl-nomadik.h | |||
@@ -6,6 +6,7 @@ | |||
6 | /* Package definitions */ | 6 | /* Package definitions */ |
7 | #define PINCTRL_NMK_STN8815 0 | 7 | #define PINCTRL_NMK_STN8815 0 |
8 | #define PINCTRL_NMK_DB8500 1 | 8 | #define PINCTRL_NMK_DB8500 1 |
9 | #define PINCTRL_NMK_DB8540 2 | ||
9 | 10 | ||
10 | /** | 11 | /** |
11 | * struct nmk_function - Nomadik pinctrl mux function | 12 | * struct nmk_function - Nomadik pinctrl mux function |
@@ -61,6 +62,19 @@ struct nmk_pinctrl_soc_data { | |||
61 | unsigned ngroups; | 62 | unsigned ngroups; |
62 | }; | 63 | }; |
63 | 64 | ||
65 | #ifdef CONFIG_PINCTRL_STN8815 | ||
66 | |||
67 | void nmk_pinctrl_stn8815_init(const struct nmk_pinctrl_soc_data **soc); | ||
68 | |||
69 | #else | ||
70 | |||
71 | static inline void | ||
72 | nmk_pinctrl_stn8815_init(const struct nmk_pinctrl_soc_data **soc) | ||
73 | { | ||
74 | } | ||
75 | |||
76 | #endif | ||
77 | |||
64 | #ifdef CONFIG_PINCTRL_DB8500 | 78 | #ifdef CONFIG_PINCTRL_DB8500 |
65 | 79 | ||
66 | void nmk_pinctrl_db8500_init(const struct nmk_pinctrl_soc_data **soc); | 80 | void nmk_pinctrl_db8500_init(const struct nmk_pinctrl_soc_data **soc); |
@@ -74,4 +88,17 @@ nmk_pinctrl_db8500_init(const struct nmk_pinctrl_soc_data **soc) | |||
74 | 88 | ||
75 | #endif | 89 | #endif |
76 | 90 | ||
91 | #ifdef CONFIG_PINCTRL_DB8540 | ||
92 | |||
93 | void nmk_pinctrl_db8540_init(const struct nmk_pinctrl_soc_data **soc); | ||
94 | |||
95 | #else | ||
96 | |||
97 | static inline void | ||
98 | nmk_pinctrl_db8540_init(const struct nmk_pinctrl_soc_data **soc) | ||
99 | { | ||
100 | } | ||
101 | |||
102 | #endif | ||
103 | |||
77 | #endif /* PINCTRL_PINCTRL_NOMADIK_H */ | 104 | #endif /* PINCTRL_PINCTRL_NOMADIK_H */ |
diff --git a/drivers/pinctrl/pinctrl-single.c b/drivers/pinctrl/pinctrl-single.c index 76a4260f20f3..726a729a2ec9 100644 --- a/drivers/pinctrl/pinctrl-single.c +++ b/drivers/pinctrl/pinctrl-single.c | |||
@@ -26,7 +26,8 @@ | |||
26 | #include "core.h" | 26 | #include "core.h" |
27 | 27 | ||
28 | #define DRIVER_NAME "pinctrl-single" | 28 | #define DRIVER_NAME "pinctrl-single" |
29 | #define PCS_MUX_NAME "pinctrl-single,pins" | 29 | #define PCS_MUX_PINS_NAME "pinctrl-single,pins" |
30 | #define PCS_MUX_BITS_NAME "pinctrl-single,bits" | ||
30 | #define PCS_REG_NAME_LEN ((sizeof(unsigned long) * 2) + 1) | 31 | #define PCS_REG_NAME_LEN ((sizeof(unsigned long) * 2) + 1) |
31 | #define PCS_OFF_DISABLED ~0U | 32 | #define PCS_OFF_DISABLED ~0U |
32 | 33 | ||
@@ -54,6 +55,7 @@ struct pcs_pingroup { | |||
54 | struct pcs_func_vals { | 55 | struct pcs_func_vals { |
55 | void __iomem *reg; | 56 | void __iomem *reg; |
56 | unsigned val; | 57 | unsigned val; |
58 | unsigned mask; | ||
57 | }; | 59 | }; |
58 | 60 | ||
59 | /** | 61 | /** |
@@ -139,6 +141,7 @@ struct pcs_device { | |||
139 | unsigned fshift; | 141 | unsigned fshift; |
140 | unsigned foff; | 142 | unsigned foff; |
141 | unsigned fmax; | 143 | unsigned fmax; |
144 | bool bits_per_mux; | ||
142 | struct pcs_name *names; | 145 | struct pcs_name *names; |
143 | struct pcs_data pins; | 146 | struct pcs_data pins; |
144 | struct radix_tree_root pgtree; | 147 | struct radix_tree_root pgtree; |
@@ -243,7 +246,15 @@ static void pcs_pin_dbg_show(struct pinctrl_dev *pctldev, | |||
243 | struct seq_file *s, | 246 | struct seq_file *s, |
244 | unsigned offset) | 247 | unsigned offset) |
245 | { | 248 | { |
246 | seq_printf(s, " " DRIVER_NAME); | 249 | struct pcs_device *pcs; |
250 | unsigned val; | ||
251 | |||
252 | pcs = pinctrl_dev_get_drvdata(pctldev); | ||
253 | |||
254 | val = pcs->read(pcs->base + offset); | ||
255 | val &= pcs->fmask; | ||
256 | |||
257 | seq_printf(s, "%08x %s " , val, DRIVER_NAME); | ||
247 | } | 258 | } |
248 | 259 | ||
249 | static void pcs_dt_free_map(struct pinctrl_dev *pctldev, | 260 | static void pcs_dt_free_map(struct pinctrl_dev *pctldev, |
@@ -332,12 +343,17 @@ static int pcs_enable(struct pinctrl_dev *pctldev, unsigned fselector, | |||
332 | 343 | ||
333 | for (i = 0; i < func->nvals; i++) { | 344 | for (i = 0; i < func->nvals; i++) { |
334 | struct pcs_func_vals *vals; | 345 | struct pcs_func_vals *vals; |
335 | unsigned val; | 346 | unsigned val, mask; |
336 | 347 | ||
337 | vals = &func->vals[i]; | 348 | vals = &func->vals[i]; |
338 | val = pcs->read(vals->reg); | 349 | val = pcs->read(vals->reg); |
339 | val &= ~pcs->fmask; | 350 | if (!vals->mask) |
340 | val |= vals->val; | 351 | mask = pcs->fmask; |
352 | else | ||
353 | mask = pcs->fmask & vals->mask; | ||
354 | |||
355 | val &= ~mask; | ||
356 | val |= (vals->val & mask); | ||
341 | pcs->write(val, vals->reg); | 357 | pcs->write(val, vals->reg); |
342 | } | 358 | } |
343 | 359 | ||
@@ -657,18 +673,29 @@ static int pcs_parse_one_pinctrl_entry(struct pcs_device *pcs, | |||
657 | { | 673 | { |
658 | struct pcs_func_vals *vals; | 674 | struct pcs_func_vals *vals; |
659 | const __be32 *mux; | 675 | const __be32 *mux; |
660 | int size, rows, *pins, index = 0, found = 0, res = -ENOMEM; | 676 | int size, params, rows, *pins, index = 0, found = 0, res = -ENOMEM; |
661 | struct pcs_function *function; | 677 | struct pcs_function *function; |
662 | 678 | ||
663 | mux = of_get_property(np, PCS_MUX_NAME, &size); | 679 | if (pcs->bits_per_mux) { |
664 | if ((!mux) || (size < sizeof(*mux) * 2)) { | 680 | params = 3; |
665 | dev_err(pcs->dev, "bad data for mux %s\n", | 681 | mux = of_get_property(np, PCS_MUX_BITS_NAME, &size); |
666 | np->name); | 682 | } else { |
683 | params = 2; | ||
684 | mux = of_get_property(np, PCS_MUX_PINS_NAME, &size); | ||
685 | } | ||
686 | |||
687 | if (!mux) { | ||
688 | dev_err(pcs->dev, "no valid property for %s\n", np->name); | ||
689 | return -EINVAL; | ||
690 | } | ||
691 | |||
692 | if (size < (sizeof(*mux) * params)) { | ||
693 | dev_err(pcs->dev, "bad data for %s\n", np->name); | ||
667 | return -EINVAL; | 694 | return -EINVAL; |
668 | } | 695 | } |
669 | 696 | ||
670 | size /= sizeof(*mux); /* Number of elements in array */ | 697 | size /= sizeof(*mux); /* Number of elements in array */ |
671 | rows = size / 2; /* Each row is a key value pair */ | 698 | rows = size / params; |
672 | 699 | ||
673 | vals = devm_kzalloc(pcs->dev, sizeof(*vals) * rows, GFP_KERNEL); | 700 | vals = devm_kzalloc(pcs->dev, sizeof(*vals) * rows, GFP_KERNEL); |
674 | if (!vals) | 701 | if (!vals) |
@@ -686,6 +713,10 @@ static int pcs_parse_one_pinctrl_entry(struct pcs_device *pcs, | |||
686 | val = be32_to_cpup(mux + index++); | 713 | val = be32_to_cpup(mux + index++); |
687 | vals[found].reg = pcs->base + offset; | 714 | vals[found].reg = pcs->base + offset; |
688 | vals[found].val = val; | 715 | vals[found].val = val; |
716 | if (params == 3) { | ||
717 | val = be32_to_cpup(mux + index++); | ||
718 | vals[found].mask = val; | ||
719 | } | ||
689 | 720 | ||
690 | pin = pcs_get_pin_by_offset(pcs, offset); | 721 | pin = pcs_get_pin_by_offset(pcs, offset); |
691 | if (pin < 0) { | 722 | if (pin < 0) { |
@@ -883,6 +914,9 @@ static int __devinit pcs_probe(struct platform_device *pdev) | |||
883 | if (ret) | 914 | if (ret) |
884 | pcs->foff = PCS_OFF_DISABLED; | 915 | pcs->foff = PCS_OFF_DISABLED; |
885 | 916 | ||
917 | pcs->bits_per_mux = of_property_read_bool(np, | ||
918 | "pinctrl-single,bit-per-mux"); | ||
919 | |||
886 | res = platform_get_resource(pdev, IORESOURCE_MEM, 0); | 920 | res = platform_get_resource(pdev, IORESOURCE_MEM, 0); |
887 | if (!res) { | 921 | if (!res) { |
888 | dev_err(pcs->dev, "could not get resource\n"); | 922 | dev_err(pcs->dev, "could not get resource\n"); |
diff --git a/drivers/pinctrl/pinctrl-sirf.c b/drivers/pinctrl/pinctrl-sirf.c index 304360cd213e..675497c15149 100644 --- a/drivers/pinctrl/pinctrl-sirf.c +++ b/drivers/pinctrl/pinctrl-sirf.c | |||
@@ -25,6 +25,7 @@ | |||
25 | #include <linux/bitops.h> | 25 | #include <linux/bitops.h> |
26 | #include <linux/gpio.h> | 26 | #include <linux/gpio.h> |
27 | #include <linux/of_gpio.h> | 27 | #include <linux/of_gpio.h> |
28 | #include <asm/mach/irq.h> | ||
28 | 29 | ||
29 | #define DRIVER_NAME "pinmux-sirf" | 30 | #define DRIVER_NAME "pinmux-sirf" |
30 | 31 | ||
@@ -69,6 +70,10 @@ static DEFINE_SPINLOCK(sgpio_lock); | |||
69 | * refer to CS-131858-DC-6A.xls | 70 | * refer to CS-131858-DC-6A.xls |
70 | */ | 71 | */ |
71 | static const struct pinctrl_pin_desc sirfsoc_pads[] = { | 72 | static const struct pinctrl_pin_desc sirfsoc_pads[] = { |
73 | PINCTRL_PIN(0, "gpio0-0"), | ||
74 | PINCTRL_PIN(1, "gpio0-1"), | ||
75 | PINCTRL_PIN(2, "gpio0-2"), | ||
76 | PINCTRL_PIN(3, "gpio0-3"), | ||
72 | PINCTRL_PIN(4, "pwm0"), | 77 | PINCTRL_PIN(4, "pwm0"), |
73 | PINCTRL_PIN(5, "pwm1"), | 78 | PINCTRL_PIN(5, "pwm1"), |
74 | PINCTRL_PIN(6, "pwm2"), | 79 | PINCTRL_PIN(6, "pwm2"), |
@@ -77,7 +82,9 @@ static const struct pinctrl_pin_desc sirfsoc_pads[] = { | |||
77 | PINCTRL_PIN(9, "odo_0"), | 82 | PINCTRL_PIN(9, "odo_0"), |
78 | PINCTRL_PIN(10, "odo_1"), | 83 | PINCTRL_PIN(10, "odo_1"), |
79 | PINCTRL_PIN(11, "dr_dir"), | 84 | PINCTRL_PIN(11, "dr_dir"), |
85 | PINCTRL_PIN(12, "viprom_fa"), | ||
80 | PINCTRL_PIN(13, "scl_1"), | 86 | PINCTRL_PIN(13, "scl_1"), |
87 | PINCTRL_PIN(14, "ntrst"), | ||
81 | PINCTRL_PIN(15, "sda_1"), | 88 | PINCTRL_PIN(15, "sda_1"), |
82 | PINCTRL_PIN(16, "x_ldd[16]"), | 89 | PINCTRL_PIN(16, "x_ldd[16]"), |
83 | PINCTRL_PIN(17, "x_ldd[17]"), | 90 | PINCTRL_PIN(17, "x_ldd[17]"), |
@@ -1260,8 +1267,10 @@ static int __devinit sirfsoc_pinmux_probe(struct platform_device *pdev) | |||
1260 | goto out_no_pmx; | 1267 | goto out_no_pmx; |
1261 | } | 1268 | } |
1262 | 1269 | ||
1263 | for (i = 0; i < ARRAY_SIZE(sirfsoc_gpio_ranges); i++) | 1270 | for (i = 0; i < ARRAY_SIZE(sirfsoc_gpio_ranges); i++) { |
1271 | sirfsoc_gpio_ranges[i].gc = &sgpio_bank[i].chip.gc; | ||
1264 | pinctrl_add_gpio_range(spmx->pmx, &sirfsoc_gpio_ranges[i]); | 1272 | pinctrl_add_gpio_range(spmx->pmx, &sirfsoc_gpio_ranges[i]); |
1273 | } | ||
1265 | 1274 | ||
1266 | dev_info(&pdev->dev, "initialized SIRFSOC pinmux driver\n"); | 1275 | dev_info(&pdev->dev, "initialized SIRFSOC pinmux driver\n"); |
1267 | 1276 | ||
@@ -1475,6 +1484,9 @@ static void sirfsoc_gpio_handle_irq(unsigned int irq, struct irq_desc *desc) | |||
1475 | u32 status, ctrl; | 1484 | u32 status, ctrl; |
1476 | int idx = 0; | 1485 | int idx = 0; |
1477 | unsigned int first_irq; | 1486 | unsigned int first_irq; |
1487 | struct irq_chip *chip = irq_get_chip(irq); | ||
1488 | |||
1489 | chained_irq_enter(chip, desc); | ||
1478 | 1490 | ||
1479 | status = readl(bank->chip.regs + SIRFSOC_GPIO_INT_STATUS(bank->id)); | 1491 | status = readl(bank->chip.regs + SIRFSOC_GPIO_INT_STATUS(bank->id)); |
1480 | if (!status) { | 1492 | if (!status) { |
@@ -1503,20 +1515,17 @@ static void sirfsoc_gpio_handle_irq(unsigned int irq, struct irq_desc *desc) | |||
1503 | idx++; | 1515 | idx++; |
1504 | status = status >> 1; | 1516 | status = status >> 1; |
1505 | } | 1517 | } |
1518 | |||
1519 | chained_irq_exit(chip, desc); | ||
1506 | } | 1520 | } |
1507 | 1521 | ||
1508 | static inline void sirfsoc_gpio_set_input(struct sirfsoc_gpio_bank *bank, unsigned ctrl_offset) | 1522 | static inline void sirfsoc_gpio_set_input(struct sirfsoc_gpio_bank *bank, unsigned ctrl_offset) |
1509 | { | 1523 | { |
1510 | u32 val; | 1524 | u32 val; |
1511 | unsigned long flags; | ||
1512 | |||
1513 | spin_lock_irqsave(&bank->lock, flags); | ||
1514 | 1525 | ||
1515 | val = readl(bank->chip.regs + ctrl_offset); | 1526 | val = readl(bank->chip.regs + ctrl_offset); |
1516 | val &= ~SIRFSOC_GPIO_CTL_OUT_EN_MASK; | 1527 | val &= ~SIRFSOC_GPIO_CTL_OUT_EN_MASK; |
1517 | writel(val, bank->chip.regs + ctrl_offset); | 1528 | writel(val, bank->chip.regs + ctrl_offset); |
1518 | |||
1519 | spin_unlock_irqrestore(&bank->lock, flags); | ||
1520 | } | 1529 | } |
1521 | 1530 | ||
1522 | static int sirfsoc_gpio_request(struct gpio_chip *chip, unsigned offset) | 1531 | static int sirfsoc_gpio_request(struct gpio_chip *chip, unsigned offset) |
@@ -1726,6 +1735,8 @@ static int __devinit sirfsoc_gpio_probe(struct device_node *np) | |||
1726 | irq_set_handler_data(bank->parent_irq, bank); | 1735 | irq_set_handler_data(bank->parent_irq, bank); |
1727 | } | 1736 | } |
1728 | 1737 | ||
1738 | return 0; | ||
1739 | |||
1729 | out: | 1740 | out: |
1730 | iounmap(regs); | 1741 | iounmap(regs); |
1731 | return err; | 1742 | return err; |
diff --git a/drivers/pinctrl/pinmux.c b/drivers/pinctrl/pinmux.c index 3d5ac73bd5a7..9301a7a95eff 100644 --- a/drivers/pinctrl/pinmux.c +++ b/drivers/pinctrl/pinmux.c | |||
@@ -232,14 +232,11 @@ int pinmux_request_gpio(struct pinctrl_dev *pctldev, | |||
232 | struct pinctrl_gpio_range *range, | 232 | struct pinctrl_gpio_range *range, |
233 | unsigned pin, unsigned gpio) | 233 | unsigned pin, unsigned gpio) |
234 | { | 234 | { |
235 | char gpiostr[16]; | ||
236 | const char *owner; | 235 | const char *owner; |
237 | int ret; | 236 | int ret; |
238 | 237 | ||
239 | /* Conjure some name stating what chip and pin this is taken by */ | 238 | /* Conjure some name stating what chip and pin this is taken by */ |
240 | snprintf(gpiostr, 15, "%s:%d", range->name, gpio); | 239 | owner = kasprintf(GFP_KERNEL, "%s:%d", range->name, gpio); |
241 | |||
242 | owner = kstrdup(gpiostr, GFP_KERNEL); | ||
243 | if (!owner) | 240 | if (!owner) |
244 | return -EINVAL; | 241 | return -EINVAL; |
245 | 242 | ||