]> git.proxmox.com Git - mirror_edk2.git/blame - Omap35xxPkg/Include/Omap3530/Omap3530Gpio.h
Omap35xxPkg, BeagleBoardPkg: Use Pcd for INTERRUPT_BASE
[mirror_edk2.git] / Omap35xxPkg / Include / Omap3530 / Omap3530Gpio.h
CommitLineData
1e57a462 1/** @file\r
2\r
3 Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>\r
4\r
5 This program and the accompanying materials\r
6 are licensed and made available under the terms and conditions of the BSD License\r
7 which accompanies this distribution. The full text of the license may be found at\r
8 http://opensource.org/licenses/bsd-license.php\r
9\r
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
12\r
13**/\r
14\r
15#ifndef __OMAP3530GPIO_H__\r
16#define __OMAP3530GPIO_H__\r
17\r
18#define GPIO1_BASE (0x48310000)\r
19#define GPIO2_BASE (0x49050000)\r
20#define GPIO3_BASE (0x49052000)\r
21#define GPIO4_BASE (0x49054000)\r
22#define GPIO5_BASE (0x49056000)\r
23#define GPIO6_BASE (0x49058000)\r
24\r
25#define GPIO_SYSCONFIG (0x0010)\r
26#define GPIO_SYSSTATUS (0x0014)\r
27#define GPIO_IRQSTATUS1 (0x0018)\r
28#define GPIO_IRQENABLE1 (0x001C)\r
29#define GPIO_WAKEUPENABLE (0x0020)\r
30#define GPIO_IRQSTATUS2 (0x0028)\r
31#define GPIO_IRQENABLE2 (0x002C)\r
32#define GPIO_CTRL (0x0030)\r
33#define GPIO_OE (0x0034)\r
34#define GPIO_DATAIN (0x0038)\r
35#define GPIO_DATAOUT (0x003C)\r
36#define GPIO_LEVELDETECT0 (0x0040)\r
37#define GPIO_LEVELDETECT1 (0x0044)\r
38#define GPIO_RISINGDETECT (0x0048)\r
39#define GPIO_FALLINGDETECT (0x004C)\r
40#define GPIO_DEBOUNCENABLE (0x0050)\r
41#define GPIO_DEBOUNCINGTIME (0x0054)\r
42#define GPIO_CLEARIRQENABLE1 (0x0060)\r
43#define GPIO_SETIRQENABLE1 (0x0064)\r
44#define GPIO_CLEARIRQENABLE2 (0x0070)\r
45#define GPIO_SETIRQENABLE2 (0x0074)\r
46#define GPIO_CLEARWKUENA (0x0080)\r
47#define GPIO_SETWKUENA (0x0084)\r
48#define GPIO_CLEARDATAOUT (0x0090)\r
49#define GPIO_SETDATAOUT (0x0094)\r
50\r
51#define GPIO_SYSCONFIG_IDLEMODE_MASK (3UL << 3)\r
52#define GPIO_SYSCONFIG_IDLEMODE_FORCE (0UL << 3)\r
53#define GPIO_SYSCONFIG_IDLEMODE_NONE BIT3\r
54#define GPIO_SYSCONFIG_IDLEMODE_SMART (2UL << 3)\r
55#define GPIO_SYSCONFIG_ENAWAKEUP_MASK BIT2\r
56#define GPIO_SYSCONFIG_ENAWAKEUP_DISABLE (0UL << 2)\r
57#define GPIO_SYSCONFIG_ENAWAKEUP_ENABLE BIT2\r
58#define GPIO_SYSCONFIG_SOFTRESET_MASK BIT1\r
59#define GPIO_SYSCONFIG_SOFTRESET_NORMAL (0UL << 1)\r
60#define GPIO_SYSCONFIG_SOFTRESET_RESET BIT1\r
61#define GPIO_SYSCONFIG_AUTOIDLE_MASK BIT0\r
62#define GPIO_SYSCONFIG_AUTOIDLE_FREE_RUN (0UL << 0)\r
63#define GPIO_SYSCONFIG_AUTOIDLE_ON BIT0\r
64\r
65#define GPIO_SYSSTATUS_RESETDONE_MASK BIT0\r
66#define GPIO_SYSSTATUS_RESETDONE_ONGOING (0UL << 0)\r
67#define GPIO_SYSSTATUS_RESETDONE_COMPLETE BIT0\r
68\r
69#define GPIO_IRQSTATUS_MASK(x) (1UL << (x))\r
70#define GPIO_IRQSTATUS_NOT_TRIGGERED(x) (0UL << (x))\r
71#define GPIO_IRQSTATUS_TRIGGERED(x) (1UL << (x))\r
72#define GPIO_IRQSTATUS_CLEAR(x) (1UL << (x))\r
73\r
74#define GPIO_IRQENABLE_MASK(x) (1UL << (x))\r
75#define GPIO_IRQENABLE_DISABLE(x) (0UL << (x))\r
76#define GPIO_IRQENABLE_ENABLE(x) (1UL << (x))\r
77\r
78#define GPIO_WAKEUPENABLE_MASK(x) (1UL << (x))\r
79#define GPIO_WAKEUPENABLE_DISABLE(x) (0UL << (x))\r
80#define GPIO_WAKEUPENABLE_ENABLE(x) (1UL << (x))\r
81\r
82#define GPIO_CTRL_GATINGRATIO_MASK (3UL << 1)\r
83#define GPIO_CTRL_GATINGRATIO_DIV_1 (0UL << 1)\r
84#define GPIO_CTRL_GATINGRATIO_DIV_2 BIT1\r
85#define GPIO_CTRL_GATINGRATIO_DIV_4 (2UL << 1)\r
86#define GPIO_CTRL_GATINGRATIO_DIV_8 (3UL << 1)\r
87#define GPIO_CTRL_DISABLEMODULE_MASK BIT0\r
88#define GPIO_CTRL_DISABLEMODULE_ENABLE (0UL << 0)\r
89#define GPIO_CTRL_DISABLEMODULE_DISABLE BIT0\r
90\r
91#define GPIO_OE_MASK(x) (1UL << (x))\r
92#define GPIO_OE_OUTPUT(x) (0UL << (x))\r
93#define GPIO_OE_INPUT(x) (1UL << (x))\r
94\r
95#define GPIO_DATAIN_MASK(x) (1UL << (x))\r
96\r
97#define GPIO_DATAOUT_MASK(x) (1UL << (x))\r
98\r
99#define GPIO_LEVELDETECT_MASK(x) (1UL << (x))\r
100#define GPIO_LEVELDETECT_DISABLE(x) (0UL << (x))\r
101#define GPIO_LEVELDETECT_ENABLE(x) (1UL << (x))\r
102\r
103#define GPIO_RISINGDETECT_MASK(x) (1UL << (x))\r
104#define GPIO_RISINGDETECT_DISABLE(x) (0UL << (x))\r
105#define GPIO_RISINGDETECT_ENABLE(x) (1UL << (x))\r
106\r
107#define GPIO_FALLINGDETECT_MASK(x) (1UL << (x))\r
108#define GPIO_FALLINGDETECT_DISABLE(x) (0UL << (x))\r
109#define GPIO_FALLINGDETECT_ENABLE(x) (1UL << (x))\r
110\r
111#define GPIO_DEBOUNCENABLE_MASK(x) (1UL << (x))\r
112#define GPIO_DEBOUNCENABLE_DISABLE(x) (0UL << (x))\r
113#define GPIO_DEBOUNCENABLE_ENABLE(x) (1UL << (x))\r
114\r
115#define GPIO_DEBOUNCINGTIME_MASK (0xFF)\r
116#define GPIO_DEBOUNCINGTIME_US(x) ((((x) / 31) - 1) & GPIO_DEBOUNCINGTIME_MASK)\r
117\r
118#define GPIO_CLEARIRQENABLE_BIT(x) (1UL << (x))\r
119\r
120#define GPIO_SETIRQENABLE_BIT(x) (1UL << (x))\r
121\r
122#define GPIO_CLEARWKUENA_BIT(x) (1UL << (x))\r
123\r
124#define GPIO_SETWKUENA_BIT(x) (1UL << (x))\r
125\r
126#define GPIO_CLEARDATAOUT_BIT(x) (1UL << (x))\r
127\r
128#define GPIO_SETDATAOUT_BIT(x) (1UL << (x))\r
129\r
130#endif // __OMAP3530GPIO_H__\r
131\r