ARM: OMAP5: Enable support for AVS0 for OMAP5 production devices
[oweals/u-boot.git] / arch / arm / include / asm / arch-mx27 / gpio.h
1 /*
2  * Copyright (C) 2012
3  * Philippe Reynes <tremyfr@yahoo.fr>
4  *
5  * SPDX-License-Identifier:     GPL-2.0+
6  */
7
8
9 #ifndef __ASM_ARCH_MX27_GPIO_H
10 #define __ASM_ARCH_MX27_GPIO_H
11
12 /* GPIO registers */
13 struct gpio_regs {
14         u32 gpio_dir; /* DDIR */
15         u32 ocr1;
16         u32 ocr2;
17         u32 iconfa1;
18         u32 iconfa2;
19         u32 iconfb1;
20         u32 iconfb2;
21         u32 gpio_dr; /* DR */
22         u32 gius;
23         u32 gpio_psr; /* SSR */
24         u32 icr1;
25         u32 icr2;
26         u32 imr;
27         u32 isr;
28         u32 gpr;
29         u32 swr;
30         u32 puen;
31         u32 res[0x2f];
32 };
33
34 /* This structure is used by the function imx_gpio_mode */
35 struct gpio_port_regs {
36         struct gpio_regs port[6];
37 };
38
39 /*
40  *  GPIO Module and I/O Multiplexer
41  */
42 #define PORTA 0
43 #define PORTB 1
44 #define PORTC 2
45 #define PORTD 3
46 #define PORTE 4
47 #define PORTF 5
48
49 #define GPIO_PIN_MASK           0x1f
50 #define GPIO_PORT_SHIFT         5
51 #define GPIO_PORT_MASK          (0x7 << GPIO_PORT_SHIFT)
52 #define GPIO_PORTA              (PORTA << GPIO_PORT_SHIFT)
53 #define GPIO_PORTB              (PORTB << GPIO_PORT_SHIFT)
54 #define GPIO_PORTC              (PORTC << GPIO_PORT_SHIFT)
55 #define GPIO_PORTD              (PORTD << GPIO_PORT_SHIFT)
56 #define GPIO_PORTE              (PORTE << GPIO_PORT_SHIFT)
57 #define GPIO_PORTF              (PORTF << GPIO_PORT_SHIFT)
58
59 #endif