/***************************************************************************
 *     Copyright (c) 1999-2014, Broadcom Corporation
 *     All Rights Reserved
 *     Confidential Property of Broadcom Corporation
 *
 *
 * THIS SOFTWARE MAY ONLY BE USED SUBJECT TO AN EXECUTED SOFTWARE LICENSE
 * AGREEMENT  BETWEEN THE USER AND BROADCOM.  YOU HAVE NO RIGHT TO USE OR
 * EXPLOIT THIS MATERIAL EXCEPT SUBJECT TO THE TERMS OF SUCH AN AGREEMENT.
 *
 * $brcm_Workfile: $
 * $brcm_Revision: $
 * $brcm_Date: $
 *
 * Module Description:
 *                     DO NOT EDIT THIS FILE DIRECTLY
 *
 * This module was generated magically with RDB from a source description
 * file. You must edit the source file for changes to be made to this file.
 *
 *
 * Date:           Generated on              Tue Dec  2 03:18:47 2014
 *                 Full Compile MD5 Checksum 3461841ff250f7118305e1f1650424cf
 *                   (minus title and desc)  
 *                 MD5 Checksum              92044aba65695bbffdeefc8d096b8587
 *
 * Compiled with:  RDB Utility               combo_header.pl
 *                 RDB Parser                3.0
 *                 unknown                   unknown
 *                 Perl Interpreter          5.008008
 *                 Operating System          linux
 *
 * Revision History:
 *
 * $brcm_Log: $
 *
 ***************************************************************************/

#ifndef BCHP_GIO_AON_H__
#define BCHP_GIO_AON_H__

/***************************************************************************
 *GIO_AON - GPIO
 ***************************************************************************/
#define BCHP_GIO_AON_ODEN_LO                     0x00417300 /* GENERAL PURPOSE I/O OPEN DRAIN ENABLE FOR AON_GPIO[20:0] */
#define BCHP_GIO_AON_DATA_LO                     0x00417304 /* GENERAL PURPOSE I/O DATA FOR AON_GPIO[20:0] */
#define BCHP_GIO_AON_IODIR_LO                    0x00417308 /* GENERAL PURPOSE I/O DIRECTION FOR AON_GPIO[20:0] */
#define BCHP_GIO_AON_EC_LO                       0x0041730c /* GENERAL PURPOSE I/O EDGE CONFIGURATION FOR AON_GPIO[20:0] */
#define BCHP_GIO_AON_EI_LO                       0x00417310 /* GENERAL PURPOSE I/O EDGE INSENSITIVE FOR AON_GPIO[20:0] */
#define BCHP_GIO_AON_MASK_LO                     0x00417314 /* GENERAL PURPOSE I/O INTERRUPT MASK FOR AON_GPIO[20:0] */
#define BCHP_GIO_AON_LEVEL_LO                    0x00417318 /* GENERAL PURPOSE I/O INTERRUPT TYPE FOR AON_GPIO[20:0] */
#define BCHP_GIO_AON_STAT_LO                     0x0041731c /* GENERAL PURPOSE I/O INTERRUPT STATUS FOR AON_GPIO[20:0] */
#define BCHP_GIO_AON_ODEN_EXT                    0x00417320 /* GENERAL PURPOSE I/O OPEN DRAIN ENABLE FOR AON_SGPIO[7:4] */
#define BCHP_GIO_AON_DATA_EXT                    0x00417324 /* GENERAL PURPOSE I/O DATA FOR AON_SGPIO[7:4] */
#define BCHP_GIO_AON_IODIR_EXT                   0x00417328 /* GENERAL PURPOSE I/O DIRECTION FOR AON_SGPIO[7:4] */
#define BCHP_GIO_AON_EC_EXT                      0x0041732c /* GENERAL PURPOSE I/O EDGE CONFIGURATION FOR AON_SGPIO[7:4] */
#define BCHP_GIO_AON_EI_EXT                      0x00417330 /* GENERAL PURPOSE I/O EDGE INSENSITIVE FOR AON_SGPIO[7:4] */
#define BCHP_GIO_AON_MASK_EXT                    0x00417334 /* GENERAL PURPOSE I/O INTERRUPT MASK FOR AON_SGPIO[7:4] */
#define BCHP_GIO_AON_LEVEL_EXT                   0x00417338 /* GENERAL PURPOSE I/O INTERRUPT TYPE FOR AON_SGPIO[7:4] */
#define BCHP_GIO_AON_STAT_EXT                    0x0041733c /* GENERAL PURPOSE I/O INTERRUPT STATUS FOR AON_SGPIO[7:4] */

/***************************************************************************
 *ODEN_LO - GENERAL PURPOSE I/O OPEN DRAIN ENABLE FOR AON_GPIO[20:0]
 ***************************************************************************/
/* GIO_AON :: ODEN_LO :: reserved0 [31:21] */
#define BCHP_GIO_AON_ODEN_LO_reserved0_MASK                        0xffe00000
#define BCHP_GIO_AON_ODEN_LO_reserved0_SHIFT                       21

/* GIO_AON :: ODEN_LO :: oden [20:00] */
#define BCHP_GIO_AON_ODEN_LO_oden_MASK                             0x001fffff
#define BCHP_GIO_AON_ODEN_LO_oden_SHIFT                            0
#define BCHP_GIO_AON_ODEN_LO_oden_DEFAULT                          0x00000000

/***************************************************************************
 *DATA_LO - GENERAL PURPOSE I/O DATA FOR AON_GPIO[20:0]
 ***************************************************************************/
/* GIO_AON :: DATA_LO :: reserved0 [31:21] */
#define BCHP_GIO_AON_DATA_LO_reserved0_MASK                        0xffe00000
#define BCHP_GIO_AON_DATA_LO_reserved0_SHIFT                       21

/* GIO_AON :: DATA_LO :: data [20:00] */
#define BCHP_GIO_AON_DATA_LO_data_MASK                             0x001fffff
#define BCHP_GIO_AON_DATA_LO_data_SHIFT                            0
#define BCHP_GIO_AON_DATA_LO_data_DEFAULT                          0x00000000

/***************************************************************************
 *IODIR_LO - GENERAL PURPOSE I/O DIRECTION FOR AON_GPIO[20:0]
 ***************************************************************************/
/* GIO_AON :: IODIR_LO :: reserved0 [31:21] */
#define BCHP_GIO_AON_IODIR_LO_reserved0_MASK                       0xffe00000
#define BCHP_GIO_AON_IODIR_LO_reserved0_SHIFT                      21

/* GIO_AON :: IODIR_LO :: iodir [20:00] */
#define BCHP_GIO_AON_IODIR_LO_iodir_MASK                           0x001fffff
#define BCHP_GIO_AON_IODIR_LO_iodir_SHIFT                          0
#define BCHP_GIO_AON_IODIR_LO_iodir_DEFAULT                        0x00000001

/***************************************************************************
 *EC_LO - GENERAL PURPOSE I/O EDGE CONFIGURATION FOR AON_GPIO[20:0]
 ***************************************************************************/
/* GIO_AON :: EC_LO :: reserved0 [31:21] */
#define BCHP_GIO_AON_EC_LO_reserved0_MASK                          0xffe00000
#define BCHP_GIO_AON_EC_LO_reserved0_SHIFT                         21

/* GIO_AON :: EC_LO :: edge_config [20:00] */
#define BCHP_GIO_AON_EC_LO_edge_config_MASK                        0x001fffff
#define BCHP_GIO_AON_EC_LO_edge_config_SHIFT                       0
#define BCHP_GIO_AON_EC_LO_edge_config_DEFAULT                     0x00000000

/***************************************************************************
 *EI_LO - GENERAL PURPOSE I/O EDGE INSENSITIVE FOR AON_GPIO[20:0]
 ***************************************************************************/
/* GIO_AON :: EI_LO :: reserved0 [31:21] */
#define BCHP_GIO_AON_EI_LO_reserved0_MASK                          0xffe00000
#define BCHP_GIO_AON_EI_LO_reserved0_SHIFT                         21

/* GIO_AON :: EI_LO :: edge_insensitive [20:00] */
#define BCHP_GIO_AON_EI_LO_edge_insensitive_MASK                   0x001fffff
#define BCHP_GIO_AON_EI_LO_edge_insensitive_SHIFT                  0
#define BCHP_GIO_AON_EI_LO_edge_insensitive_DEFAULT                0x00000000

/***************************************************************************
 *MASK_LO - GENERAL PURPOSE I/O INTERRUPT MASK FOR AON_GPIO[20:0]
 ***************************************************************************/
/* GIO_AON :: MASK_LO :: reserved0 [31:21] */
#define BCHP_GIO_AON_MASK_LO_reserved0_MASK                        0xffe00000
#define BCHP_GIO_AON_MASK_LO_reserved0_SHIFT                       21

/* GIO_AON :: MASK_LO :: irq_mask [20:00] */
#define BCHP_GIO_AON_MASK_LO_irq_mask_MASK                         0x001fffff
#define BCHP_GIO_AON_MASK_LO_irq_mask_SHIFT                        0
#define BCHP_GIO_AON_MASK_LO_irq_mask_DEFAULT                      0x00000000

/***************************************************************************
 *LEVEL_LO - GENERAL PURPOSE I/O INTERRUPT TYPE FOR AON_GPIO[20:0]
 ***************************************************************************/
/* GIO_AON :: LEVEL_LO :: reserved0 [31:21] */
#define BCHP_GIO_AON_LEVEL_LO_reserved0_MASK                       0xffe00000
#define BCHP_GIO_AON_LEVEL_LO_reserved0_SHIFT                      21

/* GIO_AON :: LEVEL_LO :: level [20:00] */
#define BCHP_GIO_AON_LEVEL_LO_level_MASK                           0x001fffff
#define BCHP_GIO_AON_LEVEL_LO_level_SHIFT                          0
#define BCHP_GIO_AON_LEVEL_LO_level_DEFAULT                        0x00000000

/***************************************************************************
 *STAT_LO - GENERAL PURPOSE I/O INTERRUPT STATUS FOR AON_GPIO[20:0]
 ***************************************************************************/
/* GIO_AON :: STAT_LO :: reserved0 [31:21] */
#define BCHP_GIO_AON_STAT_LO_reserved0_MASK                        0xffe00000
#define BCHP_GIO_AON_STAT_LO_reserved0_SHIFT                       21

/* GIO_AON :: STAT_LO :: irq_status [20:00] */
#define BCHP_GIO_AON_STAT_LO_irq_status_MASK                       0x001fffff
#define BCHP_GIO_AON_STAT_LO_irq_status_SHIFT                      0
#define BCHP_GIO_AON_STAT_LO_irq_status_DEFAULT                    0x00000000

/***************************************************************************
 *ODEN_EXT - GENERAL PURPOSE I/O OPEN DRAIN ENABLE FOR AON_SGPIO[7:4]
 ***************************************************************************/
/* GIO_AON :: ODEN_EXT :: reserved0 [31:04] */
#define BCHP_GIO_AON_ODEN_EXT_reserved0_MASK                       0xfffffff0
#define BCHP_GIO_AON_ODEN_EXT_reserved0_SHIFT                      4

/* GIO_AON :: ODEN_EXT :: oden [03:00] */
#define BCHP_GIO_AON_ODEN_EXT_oden_MASK                            0x0000000f
#define BCHP_GIO_AON_ODEN_EXT_oden_SHIFT                           0
#define BCHP_GIO_AON_ODEN_EXT_oden_DEFAULT                         0x00000000

/***************************************************************************
 *DATA_EXT - GENERAL PURPOSE I/O DATA FOR AON_SGPIO[7:4]
 ***************************************************************************/
/* GIO_AON :: DATA_EXT :: reserved0 [31:04] */
#define BCHP_GIO_AON_DATA_EXT_reserved0_MASK                       0xfffffff0
#define BCHP_GIO_AON_DATA_EXT_reserved0_SHIFT                      4

/* GIO_AON :: DATA_EXT :: data [03:00] */
#define BCHP_GIO_AON_DATA_EXT_data_MASK                            0x0000000f
#define BCHP_GIO_AON_DATA_EXT_data_SHIFT                           0
#define BCHP_GIO_AON_DATA_EXT_data_DEFAULT                         0x00000000

/***************************************************************************
 *IODIR_EXT - GENERAL PURPOSE I/O DIRECTION FOR AON_SGPIO[7:4]
 ***************************************************************************/
/* GIO_AON :: IODIR_EXT :: reserved0 [31:04] */
#define BCHP_GIO_AON_IODIR_EXT_reserved0_MASK                      0xfffffff0
#define BCHP_GIO_AON_IODIR_EXT_reserved0_SHIFT                     4

/* GIO_AON :: IODIR_EXT :: iodir [03:00] */
#define BCHP_GIO_AON_IODIR_EXT_iodir_MASK                          0x0000000f
#define BCHP_GIO_AON_IODIR_EXT_iodir_SHIFT                         0
#define BCHP_GIO_AON_IODIR_EXT_iodir_DEFAULT                       0x00000001

/***************************************************************************
 *EC_EXT - GENERAL PURPOSE I/O EDGE CONFIGURATION FOR AON_SGPIO[7:4]
 ***************************************************************************/
/* GIO_AON :: EC_EXT :: reserved0 [31:04] */
#define BCHP_GIO_AON_EC_EXT_reserved0_MASK                         0xfffffff0
#define BCHP_GIO_AON_EC_EXT_reserved0_SHIFT                        4

/* GIO_AON :: EC_EXT :: edge_config [03:00] */
#define BCHP_GIO_AON_EC_EXT_edge_config_MASK                       0x0000000f
#define BCHP_GIO_AON_EC_EXT_edge_config_SHIFT                      0
#define BCHP_GIO_AON_EC_EXT_edge_config_DEFAULT                    0x00000000

/***************************************************************************
 *EI_EXT - GENERAL PURPOSE I/O EDGE INSENSITIVE FOR AON_SGPIO[7:4]
 ***************************************************************************/
/* GIO_AON :: EI_EXT :: reserved0 [31:04] */
#define BCHP_GIO_AON_EI_EXT_reserved0_MASK                         0xfffffff0
#define BCHP_GIO_AON_EI_EXT_reserved0_SHIFT                        4

/* GIO_AON :: EI_EXT :: edge_insensitive [03:00] */
#define BCHP_GIO_AON_EI_EXT_edge_insensitive_MASK                  0x0000000f
#define BCHP_GIO_AON_EI_EXT_edge_insensitive_SHIFT                 0
#define BCHP_GIO_AON_EI_EXT_edge_insensitive_DEFAULT               0x00000000

/***************************************************************************
 *MASK_EXT - GENERAL PURPOSE I/O INTERRUPT MASK FOR AON_SGPIO[7:4]
 ***************************************************************************/
/* GIO_AON :: MASK_EXT :: reserved0 [31:04] */
#define BCHP_GIO_AON_MASK_EXT_reserved0_MASK                       0xfffffff0
#define BCHP_GIO_AON_MASK_EXT_reserved0_SHIFT                      4

/* GIO_AON :: MASK_EXT :: irq_mask [03:00] */
#define BCHP_GIO_AON_MASK_EXT_irq_mask_MASK                        0x0000000f
#define BCHP_GIO_AON_MASK_EXT_irq_mask_SHIFT                       0
#define BCHP_GIO_AON_MASK_EXT_irq_mask_DEFAULT                     0x00000000

/***************************************************************************
 *LEVEL_EXT - GENERAL PURPOSE I/O INTERRUPT TYPE FOR AON_SGPIO[7:4]
 ***************************************************************************/
/* GIO_AON :: LEVEL_EXT :: reserved0 [31:04] */
#define BCHP_GIO_AON_LEVEL_EXT_reserved0_MASK                      0xfffffff0
#define BCHP_GIO_AON_LEVEL_EXT_reserved0_SHIFT                     4

/* GIO_AON :: LEVEL_EXT :: level [03:00] */
#define BCHP_GIO_AON_LEVEL_EXT_level_MASK                          0x0000000f
#define BCHP_GIO_AON_LEVEL_EXT_level_SHIFT                         0
#define BCHP_GIO_AON_LEVEL_EXT_level_DEFAULT                       0x00000000

/***************************************************************************
 *STAT_EXT - GENERAL PURPOSE I/O INTERRUPT STATUS FOR AON_SGPIO[7:4]
 ***************************************************************************/
/* GIO_AON :: STAT_EXT :: reserved0 [31:04] */
#define BCHP_GIO_AON_STAT_EXT_reserved0_MASK                       0xfffffff0
#define BCHP_GIO_AON_STAT_EXT_reserved0_SHIFT                      4

/* GIO_AON :: STAT_EXT :: irq_status [03:00] */
#define BCHP_GIO_AON_STAT_EXT_irq_status_MASK                      0x0000000f
#define BCHP_GIO_AON_STAT_EXT_irq_status_SHIFT                     0
#define BCHP_GIO_AON_STAT_EXT_irq_status_DEFAULT                   0x00000000

#endif /* #ifndef BCHP_GIO_AON_H__ */

/* End of File */
