xref: /minix/minix/lib/libgpio/gpio_omap.h (revision 7f5f010b)
1 #ifndef __GPIO_OMAP_H
2 #define __GPIO_OMAP_H
3 
4 #define AM335X_GPIO0_BASE (0x44e07000)
5 #define AM335X_GPIO1_BASE (0x4804c000)
6 #define AM335X_GPIO2_BASE (0x481ac000)
7 #define AM335X_GPIO3_BASE (0x481ae000)
8 #define AM335X_GPIO0A_IRQ 96
9 #define AM335X_GPIO0B_IRQ 97
10 #define AM335X_GPIO1A_IRQ 98
11 #define AM335X_GPIO1B_IRQ 99
12 #define AM335X_GPIO2A_IRQ 32
13 #define AM335X_GPIO2B_IRQ 33
14 #define AM335X_GPIO3A_IRQ 62
15 #define AM335X_GPIO3B_IRQ 63
16 #define AM335X_GPIO0A_IRQ_HOOK_ID 0
17 #define AM335X_GPIO0B_IRQ_HOOK_ID 1
18 #define AM335X_GPIO1A_IRQ_HOOK_ID 2
19 #define AM335X_GPIO1B_IRQ_HOOK_ID 3
20 #define AM335X_GPIO2A_IRQ_HOOK_ID 4
21 #define AM335X_GPIO2B_IRQ_HOOK_ID 5
22 #define AM335X_GPIO3A_IRQ_HOOK_ID 6
23 #define AM335X_GPIO3B_IRQ_HOOK_ID 7
24 
25 #define AM335X_GPIO_REVISION 0x000
26 #define AM335X_GPIO_SYSCONFIG 0x010
27 #define AM335X_GPIO_EOI 0x020
28 #define AM335X_GPIO_IRQSTATUS_RAW_0 0x024
29 #define AM335X_GPIO_IRQSTATUS_RAW_1 0x028
30 #define AM335X_GPIO_IRQSTATUS_0 0x02C
31 #define AM335X_GPIO_IRQSTATUS_1 0x030
32 #define AM335X_GPIO_IRQSTATUS_SET_0 0x034
33 #define AM335X_GPIO_IRQSTATUS_SET_1 0x038
34 #define AM335X_GPIO_IRQSTATUS_CLR_0 0x03C
35 #define AM335X_GPIO_IRQSTATUS_CLR_1 0x040
36 #define AM335X_GPIO_IRQWAKEN_0 0x044
37 #define AM335X_GPIO_IRQWAKEN_1 0x048
38 #define AM335X_GPIO_SYSSTATUS 0x114
39 #define AM335X_GPIO_CTRL 0x130
40 #define AM335X_GPIO_OE 0x134
41 #define AM335X_GPIO_DATAIN 0x138
42 #define AM335X_GPIO_DATAOUT 0x13C
43 #define AM335X_GPIO_LEVELDETECT0 0x140
44 #define AM335X_GPIO_LEVELDETECT1 0x144
45 #define AM335X_GPIO_RISINGDETECT 0x148
46 #define AM335X_GPIO_FALLINGDETECT 0x14C
47 #define AM335X_GPIO_DEBOUNCENABLE 0x150
48 #define AM335X_GPIO_DEBOUNCINGTIME 0x154
49 #define AM335X_GPIO_CLEARDATAOUT 0x190
50 #define AM335X_GPIO_SETDATAOUT 0x194
51 
52 #define AM335X_GPIO_REVISION_MAJOR(X) ((X >> 8) & 0x07)
53 #define AM335X_GPIO_REVISION_MINOR(X) (X & 0x3f)
54 
55 #define DM37XX_GPIO1_BASE (0x48310000)
56 #define DM37XX_GPIO2_BASE (0x49050000)
57 #define DM37XX_GPIO3_BASE (0x49052000)
58 #define DM37XX_GPIO4_BASE (0x49054000)
59 #define DM37XX_GPIO5_BASE (0x49056000)
60 #define DM37XX_GPIO6_BASE (0x49058000)
61 #define DM37XX_GPIO1_IRQ  29		/* GPIO module 1 */
62 #define DM37XX_GPIO2_IRQ  30		/* GPIO module 2 */
63 #define DM37XX_GPIO3_IRQ  31		/* GPIO module 3 */
64 #define DM37XX_GPIO4_IRQ  32		/* GPIO module 4 */
65 #define DM37XX_GPIO5_IRQ  33		/* GPIO module 5 */
66 #define DM37XX_GPIO6_IRQ  34		/* GPIO module 6 */
67 #define DM37XX_GPIO1_IRQ_HOOK_ID 0
68 #define DM37XX_GPIO2_IRQ_HOOK_ID 1
69 #define DM37XX_GPIO3_IRQ_HOOK_ID 2
70 #define DM37XX_GPIO4_IRQ_HOOK_ID 3
71 #define DM37XX_GPIO5_IRQ_HOOK_ID 4
72 #define DM37XX_GPIO6_IRQ_HOOK_ID 5
73 
74 #define DM37XX_GPIO_IRQSTATUS1 (0x18)
75 #define DM37XX_GPIO_IRQENABLE1 (0x01C)
76 #define DM37XX_GPIO_DATAOUT (0x3c)
77 #define DM37XX_GPIO_DATAIN (0x38)
78 #define DM37XX_GPIO_OE    (0x34)	/* Output Data Enable */
79 #define DM37XX_GPIO_RISINGDETECT1 (0x048)
80 #define DM37XX_GPIO_FALLINGDETECT1 (0x04c)
81 #define DM37XX_GPIO_CLEARDATAOUT (0x90)
82 #define DM37XX_GPIO_SETDATAOUT (0x94)
83 
84 #define DM37XX_GPIO_REVISION 0x00
85 #define DM37XX_GPIO_REVISION_MAJOR(X) ((X & 0xF0) >> 4)
86 #define DM37XX_GPIO_REVISION_MINOR(X) (X & 0XF)
87 
88 #endif /* __GPIO_OMAP_H */
89