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