]>
Commit | Line | Data |
---|---|---|
dc89ad14 TW |
1 | /* |
2 | * Copyright (c) 2010-2012, NVIDIA CORPORATION. All rights reserved. | |
3 | * | |
5b8031cc | 4 | * SPDX-License-Identifier: GPL-2.0 |
dc89ad14 TW |
5 | */ |
6 | ||
7 | #ifndef _TEGRA30_GPIO_H_ | |
8 | #define _TEGRA30_GPIO_H_ | |
9 | ||
10 | /* | |
11 | * The Tegra 3x GPIO controller has 246 GPIOS in 8 banks of 4 ports, | |
12 | * each with 8 GPIOs. | |
13 | */ | |
14 | #define TEGRA_GPIO_PORTS 4 /* number of ports per bank */ | |
15 | #define TEGRA_GPIO_BANKS 8 /* number of banks */ | |
16 | ||
17 | #include <asm/arch-tegra/gpio.h> | |
18 | ||
19 | /* GPIO Controller registers for a single bank */ | |
20 | struct gpio_ctlr_bank { | |
21 | uint gpio_config[TEGRA_GPIO_PORTS]; | |
22 | uint gpio_dir_out[TEGRA_GPIO_PORTS]; | |
23 | uint gpio_out[TEGRA_GPIO_PORTS]; | |
24 | uint gpio_in[TEGRA_GPIO_PORTS]; | |
25 | uint gpio_int_status[TEGRA_GPIO_PORTS]; | |
26 | uint gpio_int_enable[TEGRA_GPIO_PORTS]; | |
27 | uint gpio_int_level[TEGRA_GPIO_PORTS]; | |
28 | uint gpio_int_clear[TEGRA_GPIO_PORTS]; | |
29 | uint gpio_masked_config[TEGRA_GPIO_PORTS]; | |
30 | uint gpio_masked_dir_out[TEGRA_GPIO_PORTS]; | |
31 | uint gpio_masked_out[TEGRA_GPIO_PORTS]; | |
32 | uint gpio_masked_in[TEGRA_GPIO_PORTS]; | |
33 | uint gpio_masked_int_status[TEGRA_GPIO_PORTS]; | |
34 | uint gpio_masked_int_enable[TEGRA_GPIO_PORTS]; | |
35 | uint gpio_masked_int_level[TEGRA_GPIO_PORTS]; | |
36 | uint gpio_masked_int_clear[TEGRA_GPIO_PORTS]; | |
37 | }; | |
38 | ||
39 | struct gpio_ctlr { | |
40 | struct gpio_ctlr_bank gpio_bank[TEGRA_GPIO_BANKS]; | |
41 | }; | |
42 | ||
43 | enum gpio_pin { | |
44 | GPIO_PA0 = 0, /* pin 0 */ | |
45 | GPIO_PA1, | |
46 | GPIO_PA2, | |
47 | GPIO_PA3, | |
48 | GPIO_PA4, | |
49 | GPIO_PA5, | |
50 | GPIO_PA6, | |
51 | GPIO_PA7, | |
52 | GPIO_PB0, /* pin 8 */ | |
53 | GPIO_PB1, | |
54 | GPIO_PB2, | |
55 | GPIO_PB3, | |
56 | GPIO_PB4, | |
57 | GPIO_PB5, | |
58 | GPIO_PB6, | |
59 | GPIO_PB7, | |
60 | GPIO_PC0, /* pin 16 */ | |
61 | GPIO_PC1, | |
62 | GPIO_PC2, | |
63 | GPIO_PC3, | |
64 | GPIO_PC4, | |
65 | GPIO_PC5, | |
66 | GPIO_PC6, | |
67 | GPIO_PC7, | |
68 | GPIO_PD0, /* pin 24 */ | |
69 | GPIO_PD1, | |
70 | GPIO_PD2, | |
71 | GPIO_PD3, | |
72 | GPIO_PD4, | |
73 | GPIO_PD5, | |
74 | GPIO_PD6, | |
75 | GPIO_PD7, | |
76 | GPIO_PE0, /* pin 32 */ | |
77 | GPIO_PE1, | |
78 | GPIO_PE2, | |
79 | GPIO_PE3, | |
80 | GPIO_PE4, | |
81 | GPIO_PE5, | |
82 | GPIO_PE6, | |
83 | GPIO_PE7, | |
84 | GPIO_PF0, /* pin 40 */ | |
85 | GPIO_PF1, | |
86 | GPIO_PF2, | |
87 | GPIO_PF3, | |
88 | GPIO_PF4, | |
89 | GPIO_PF5, | |
90 | GPIO_PF6, | |
91 | GPIO_PF7, | |
92 | GPIO_PG0, /* pin 48 */ | |
93 | GPIO_PG1, | |
94 | GPIO_PG2, | |
95 | GPIO_PG3, | |
96 | GPIO_PG4, | |
97 | GPIO_PG5, | |
98 | GPIO_PG6, | |
99 | GPIO_PG7, | |
100 | GPIO_PH0, /* pin 56 */ | |
101 | GPIO_PH1, | |
102 | GPIO_PH2, | |
103 | GPIO_PH3, | |
104 | GPIO_PH4, | |
105 | GPIO_PH5, | |
106 | GPIO_PH6, | |
107 | GPIO_PH7, | |
108 | GPIO_PI0, /* pin 64 */ | |
109 | GPIO_PI1, | |
110 | GPIO_PI2, | |
111 | GPIO_PI3, | |
112 | GPIO_PI4, | |
113 | GPIO_PI5, | |
114 | GPIO_PI6, | |
115 | GPIO_PI7, | |
116 | GPIO_PJ0, /* pin 72 */ | |
117 | GPIO_PJ1, | |
118 | GPIO_PJ2, | |
119 | GPIO_PJ3, | |
120 | GPIO_PJ4, | |
121 | GPIO_PJ5, | |
122 | GPIO_PJ6, | |
123 | GPIO_PJ7, | |
124 | GPIO_PK0, /* pin 80 */ | |
125 | GPIO_PK1, | |
126 | GPIO_PK2, | |
127 | GPIO_PK3, | |
128 | GPIO_PK4, | |
129 | GPIO_PK5, | |
130 | GPIO_PK6, | |
131 | GPIO_PK7, | |
132 | GPIO_PL0, /* pin 88 */ | |
133 | GPIO_PL1, | |
134 | GPIO_PL2, | |
135 | GPIO_PL3, | |
136 | GPIO_PL4, | |
137 | GPIO_PL5, | |
138 | GPIO_PL6, | |
139 | GPIO_PL7, | |
140 | GPIO_PM0, /* pin 96 */ | |
141 | GPIO_PM1, | |
142 | GPIO_PM2, | |
143 | GPIO_PM3, | |
144 | GPIO_PM4, | |
145 | GPIO_PM5, | |
146 | GPIO_PM6, | |
147 | GPIO_PM7, | |
148 | GPIO_PN0, /* pin 104 */ | |
149 | GPIO_PN1, | |
150 | GPIO_PN2, | |
151 | GPIO_PN3, | |
152 | GPIO_PN4, | |
153 | GPIO_PN5, | |
154 | GPIO_PN6, | |
155 | GPIO_PN7, | |
156 | GPIO_PO0, /* pin 112 */ | |
157 | GPIO_PO1, | |
158 | GPIO_PO2, | |
159 | GPIO_PO3, | |
160 | GPIO_PO4, | |
161 | GPIO_PO5, | |
162 | GPIO_PO6, | |
163 | GPIO_PO7, | |
164 | GPIO_PP0, /* pin 120 */ | |
165 | GPIO_PP1, | |
166 | GPIO_PP2, | |
167 | GPIO_PP3, | |
168 | GPIO_PP4, | |
169 | GPIO_PP5, | |
170 | GPIO_PP6, | |
171 | GPIO_PP7, | |
172 | GPIO_PQ0, /* pin 128 */ | |
173 | GPIO_PQ1, | |
174 | GPIO_PQ2, | |
175 | GPIO_PQ3, | |
176 | GPIO_PQ4, | |
177 | GPIO_PQ5, | |
178 | GPIO_PQ6, | |
179 | GPIO_PQ7, | |
180 | GPIO_PR0, /* pin 136 */ | |
181 | GPIO_PR1, | |
182 | GPIO_PR2, | |
183 | GPIO_PR3, | |
184 | GPIO_PR4, | |
185 | GPIO_PR5, | |
186 | GPIO_PR6, | |
187 | GPIO_PR7, | |
188 | GPIO_PS0, /* pin 144 */ | |
189 | GPIO_PS1, | |
190 | GPIO_PS2, | |
191 | GPIO_PS3, | |
192 | GPIO_PS4, | |
193 | GPIO_PS5, | |
194 | GPIO_PS6, | |
195 | GPIO_PS7, | |
196 | GPIO_PT0, /* pin 152 */ | |
197 | GPIO_PT1, | |
198 | GPIO_PT2, | |
199 | GPIO_PT3, | |
200 | GPIO_PT4, | |
201 | GPIO_PT5, | |
202 | GPIO_PT6, | |
203 | GPIO_PT7, | |
204 | GPIO_PU0, /* pin 160 */ | |
205 | GPIO_PU1, | |
206 | GPIO_PU2, | |
207 | GPIO_PU3, | |
208 | GPIO_PU4, | |
209 | GPIO_PU5, | |
210 | GPIO_PU6, | |
211 | GPIO_PU7, | |
212 | GPIO_PV0, /* pin 168 */ | |
213 | GPIO_PV1, | |
214 | GPIO_PV2, | |
215 | GPIO_PV3, | |
216 | GPIO_PV4, | |
217 | GPIO_PV5, | |
218 | GPIO_PV6, | |
219 | GPIO_PV7, | |
220 | GPIO_PW0, /* pin 176 */ | |
221 | GPIO_PW1, | |
222 | GPIO_PW2, | |
223 | GPIO_PW3, | |
224 | GPIO_PW4, | |
225 | GPIO_PW5, | |
226 | GPIO_PW6, | |
227 | GPIO_PW7, | |
228 | GPIO_PX0, /* pin 184 */ | |
229 | GPIO_PX1, | |
230 | GPIO_PX2, | |
231 | GPIO_PX3, | |
232 | GPIO_PX4, | |
233 | GPIO_PX5, | |
234 | GPIO_PX6, | |
235 | GPIO_PX7, | |
236 | GPIO_PY0, /* pin 192 */ | |
237 | GPIO_PY1, | |
238 | GPIO_PY2, | |
239 | GPIO_PY3, | |
240 | GPIO_PY4, | |
241 | GPIO_PY5, | |
242 | GPIO_PY6, | |
243 | GPIO_PY7, | |
244 | GPIO_PZ0, /* pin 200 */ | |
245 | GPIO_PZ1, | |
246 | GPIO_PZ2, | |
247 | GPIO_PZ3, | |
248 | GPIO_PZ4, | |
249 | GPIO_PZ5, | |
250 | GPIO_PZ6, | |
251 | GPIO_PZ7, | |
252 | GPIO_PAA0, /* pin 208 */ | |
253 | GPIO_PAA1, | |
254 | GPIO_PAA2, | |
255 | GPIO_PAA3, | |
256 | GPIO_PAA4, | |
257 | GPIO_PAA5, | |
258 | GPIO_PAA6, | |
259 | GPIO_PAA7, | |
260 | GPIO_PBB0, /* pin 216 */ | |
261 | GPIO_PBB1, | |
262 | GPIO_PBB2, | |
263 | GPIO_PBB3, | |
264 | GPIO_PBB4, | |
265 | GPIO_PBB5, | |
266 | GPIO_PBB6, | |
267 | GPIO_PBB7, | |
268 | GPIO_PCC0, /* pin 224 */ | |
269 | GPIO_PCC1, | |
270 | GPIO_PCC2, | |
271 | GPIO_PCC3, | |
272 | GPIO_PCC4, | |
273 | GPIO_PCC5, | |
274 | GPIO_PCC6, | |
275 | GPIO_PCC7, | |
276 | GPIO_PDD0, /* pin 232 */ | |
277 | GPIO_PDD1, | |
278 | GPIO_PDD2, | |
279 | GPIO_PDD3, | |
280 | GPIO_PDD4, | |
281 | GPIO_PDD5, | |
282 | GPIO_PDD6, | |
283 | GPIO_PDD7, | |
284 | GPIO_PEE0, /* pin 240 */ | |
285 | GPIO_PEE1, | |
286 | GPIO_PEE2, | |
287 | GPIO_PEE3, | |
288 | GPIO_PEE4, | |
289 | GPIO_PEE5, | |
290 | GPIO_PEE6, | |
291 | GPIO_PEE7, /* pin 247 */ | |
292 | }; | |
293 | ||
294 | #endif /* _TEGRA30_GPIO_H_ */ |