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