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