Home | History | Annotate | Download | only in Omap3530
      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