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