]> git.proxmox.com Git - mirror_edk2.git/blob - Omap35xxPkg/Include/Omap3530/Omap3530Gpio.h
51ccd1714611608a2c79bc36d239616b898fcd26
[mirror_edk2.git] / Omap35xxPkg / Include / Omap3530 / Omap3530Gpio.h
1 /** @file
2
3 Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
4
5 SPDX-License-Identifier: BSD-2-Clause-Patent
6
7 **/
8
9 #ifndef __OMAP3530GPIO_H__
10 #define __OMAP3530GPIO_H__
11
12 #define GPIO1_BASE (0x48310000)
13 #define GPIO2_BASE (0x49050000)
14 #define GPIO3_BASE (0x49052000)
15 #define GPIO4_BASE (0x49054000)
16 #define GPIO5_BASE (0x49056000)
17 #define GPIO6_BASE (0x49058000)
18
19 #define GPIO_SYSCONFIG (0x0010)
20 #define GPIO_SYSSTATUS (0x0014)
21 #define GPIO_IRQSTATUS1 (0x0018)
22 #define GPIO_IRQENABLE1 (0x001C)
23 #define GPIO_WAKEUPENABLE (0x0020)
24 #define GPIO_IRQSTATUS2 (0x0028)
25 #define GPIO_IRQENABLE2 (0x002C)
26 #define GPIO_CTRL (0x0030)
27 #define GPIO_OE (0x0034)
28 #define GPIO_DATAIN (0x0038)
29 #define GPIO_DATAOUT (0x003C)
30 #define GPIO_LEVELDETECT0 (0x0040)
31 #define GPIO_LEVELDETECT1 (0x0044)
32 #define GPIO_RISINGDETECT (0x0048)
33 #define GPIO_FALLINGDETECT (0x004C)
34 #define GPIO_DEBOUNCENABLE (0x0050)
35 #define GPIO_DEBOUNCINGTIME (0x0054)
36 #define GPIO_CLEARIRQENABLE1 (0x0060)
37 #define GPIO_SETIRQENABLE1 (0x0064)
38 #define GPIO_CLEARIRQENABLE2 (0x0070)
39 #define GPIO_SETIRQENABLE2 (0x0074)
40 #define GPIO_CLEARWKUENA (0x0080)
41 #define GPIO_SETWKUENA (0x0084)
42 #define GPIO_CLEARDATAOUT (0x0090)
43 #define GPIO_SETDATAOUT (0x0094)
44
45 #define GPIO_SYSCONFIG_IDLEMODE_MASK (3UL << 3)
46 #define GPIO_SYSCONFIG_IDLEMODE_FORCE (0UL << 3)
47 #define GPIO_SYSCONFIG_IDLEMODE_NONE BIT3
48 #define GPIO_SYSCONFIG_IDLEMODE_SMART (2UL << 3)
49 #define GPIO_SYSCONFIG_ENAWAKEUP_MASK BIT2
50 #define GPIO_SYSCONFIG_ENAWAKEUP_DISABLE (0UL << 2)
51 #define GPIO_SYSCONFIG_ENAWAKEUP_ENABLE BIT2
52 #define GPIO_SYSCONFIG_SOFTRESET_MASK BIT1
53 #define GPIO_SYSCONFIG_SOFTRESET_NORMAL (0UL << 1)
54 #define GPIO_SYSCONFIG_SOFTRESET_RESET BIT1
55 #define GPIO_SYSCONFIG_AUTOIDLE_MASK BIT0
56 #define GPIO_SYSCONFIG_AUTOIDLE_FREE_RUN (0UL << 0)
57 #define GPIO_SYSCONFIG_AUTOIDLE_ON BIT0
58
59 #define GPIO_SYSSTATUS_RESETDONE_MASK BIT0
60 #define GPIO_SYSSTATUS_RESETDONE_ONGOING (0UL << 0)
61 #define GPIO_SYSSTATUS_RESETDONE_COMPLETE BIT0
62
63 #define GPIO_IRQSTATUS_MASK(x) (1UL << (x))
64 #define GPIO_IRQSTATUS_NOT_TRIGGERED(x) (0UL << (x))
65 #define GPIO_IRQSTATUS_TRIGGERED(x) (1UL << (x))
66 #define GPIO_IRQSTATUS_CLEAR(x) (1UL << (x))
67
68 #define GPIO_IRQENABLE_MASK(x) (1UL << (x))
69 #define GPIO_IRQENABLE_DISABLE(x) (0UL << (x))
70 #define GPIO_IRQENABLE_ENABLE(x) (1UL << (x))
71
72 #define GPIO_WAKEUPENABLE_MASK(x) (1UL << (x))
73 #define GPIO_WAKEUPENABLE_DISABLE(x) (0UL << (x))
74 #define GPIO_WAKEUPENABLE_ENABLE(x) (1UL << (x))
75
76 #define GPIO_CTRL_GATINGRATIO_MASK (3UL << 1)
77 #define GPIO_CTRL_GATINGRATIO_DIV_1 (0UL << 1)
78 #define GPIO_CTRL_GATINGRATIO_DIV_2 BIT1
79 #define GPIO_CTRL_GATINGRATIO_DIV_4 (2UL << 1)
80 #define GPIO_CTRL_GATINGRATIO_DIV_8 (3UL << 1)
81 #define GPIO_CTRL_DISABLEMODULE_MASK BIT0
82 #define GPIO_CTRL_DISABLEMODULE_ENABLE (0UL << 0)
83 #define GPIO_CTRL_DISABLEMODULE_DISABLE BIT0
84
85 #define GPIO_OE_MASK(x) (1UL << (x))
86 #define GPIO_OE_OUTPUT(x) (0UL << (x))
87 #define GPIO_OE_INPUT(x) (1UL << (x))
88
89 #define GPIO_DATAIN_MASK(x) (1UL << (x))
90
91 #define GPIO_DATAOUT_MASK(x) (1UL << (x))
92
93 #define GPIO_LEVELDETECT_MASK(x) (1UL << (x))
94 #define GPIO_LEVELDETECT_DISABLE(x) (0UL << (x))
95 #define GPIO_LEVELDETECT_ENABLE(x) (1UL << (x))
96
97 #define GPIO_RISINGDETECT_MASK(x) (1UL << (x))
98 #define GPIO_RISINGDETECT_DISABLE(x) (0UL << (x))
99 #define GPIO_RISINGDETECT_ENABLE(x) (1UL << (x))
100
101 #define GPIO_FALLINGDETECT_MASK(x) (1UL << (x))
102 #define GPIO_FALLINGDETECT_DISABLE(x) (0UL << (x))
103 #define GPIO_FALLINGDETECT_ENABLE(x) (1UL << (x))
104
105 #define GPIO_DEBOUNCENABLE_MASK(x) (1UL << (x))
106 #define GPIO_DEBOUNCENABLE_DISABLE(x) (0UL << (x))
107 #define GPIO_DEBOUNCENABLE_ENABLE(x) (1UL << (x))
108
109 #define GPIO_DEBOUNCINGTIME_MASK (0xFF)
110 #define GPIO_DEBOUNCINGTIME_US(x) ((((x) / 31) - 1) & GPIO_DEBOUNCINGTIME_MASK)
111
112 #define GPIO_CLEARIRQENABLE_BIT(x) (1UL << (x))
113
114 #define GPIO_SETIRQENABLE_BIT(x) (1UL << (x))
115
116 #define GPIO_CLEARWKUENA_BIT(x) (1UL << (x))
117
118 #define GPIO_SETWKUENA_BIT(x) (1UL << (x))
119
120 #define GPIO_CLEARDATAOUT_BIT(x) (1UL << (x))
121
122 #define GPIO_SETDATAOUT_BIT(x) (1UL << (x))
123
124 #endif // __OMAP3530GPIO_H__
125