/***************************************************************************
 *     Copyright (c) 1999-2014, Broadcom Corporation
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 *
 * 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              Wed Jul 16 11:42:05 2014
 *                 Full Compile MD5 Checksum c5ff84748c7fa0d54c801cf0c03aeeca
 *                   (minus title and desc)  
 *                 MD5 Checksum              62ec62fd8717a3b00aa7784ade95abce
 *
 * Compiled with:  RDB Utility               combo_header.pl
 *                 RDB Parser                3.0
 *                 unknown                   unknown
 *                 Perl Interpreter          5.008005
 *                 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                     0x00417400 /* GENERAL PURPOSE I/O OPEN DRAIN ENABLE FOR AON_GPIO[17:0] */
#define BCHP_GIO_AON_DATA_LO                     0x00417404 /* GENERAL PURPOSE I/O DATA FOR AON_GPIO[17:0] */
#define BCHP_GIO_AON_IODIR_LO                    0x00417408 /* GENERAL PURPOSE I/O DIRECTION FOR AON_GPIO[17:0] */
#define BCHP_GIO_AON_EC_LO                       0x0041740c /* GENERAL PURPOSE I/O EDGE CONFIGURATION FOR AON_GPIO[17:0] */
#define BCHP_GIO_AON_EI_LO                       0x00417410 /* GENERAL PURPOSE I/O EDGE INSENSITIVE FOR AON_GPIO[17:0] */
#define BCHP_GIO_AON_MASK_LO                     0x00417414 /* GENERAL PURPOSE I/O INTERRUPT MASK FOR AON_GPIO[17:0] */
#define BCHP_GIO_AON_LEVEL_LO                    0x00417418 /* GENERAL PURPOSE I/O INTERRUPT TYPE FOR AON_GPIO[17:0] */
#define BCHP_GIO_AON_STAT_LO                     0x0041741c /* GENERAL PURPOSE I/O INTERRUPT STATUS FOR AON_GPIO[17:0] */
#define BCHP_GIO_AON_ODEN_EXT                    0x00417420 /* GENERAL PURPOSE I/O OPEN DRAIN ENABLE FOR AON_SGPIO[5:2] */
#define BCHP_GIO_AON_DATA_EXT                    0x00417424 /* GENERAL PURPOSE I/O DATA FOR AON_SGPIO[5:2] */
#define BCHP_GIO_AON_IODIR_EXT                   0x00417428 /* GENERAL PURPOSE I/O DIRECTION FOR AON_SGPIO[5:2] */
#define BCHP_GIO_AON_EC_EXT                      0x0041742c /* GENERAL PURPOSE I/O EDGE CONFIGURATION FOR AON_SGPIO[5:2] */
#define BCHP_GIO_AON_EI_EXT                      0x00417430 /* GENERAL PURPOSE I/O EDGE INSENSITIVE FOR AON_SGPIO[5:2] */
#define BCHP_GIO_AON_MASK_EXT                    0x00417434 /* GENERAL PURPOSE I/O INTERRUPT MASK FOR AON_SGPIO[5:2] */
#define BCHP_GIO_AON_LEVEL_EXT                   0x00417438 /* GENERAL PURPOSE I/O INTERRUPT TYPE FOR AON_SGPIO[5:2] */
#define BCHP_GIO_AON_STAT_EXT                    0x0041743c /* GENERAL PURPOSE I/O INTERRUPT STATUS FOR AON_SGPIO[5:2] */

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

/* GIO_AON :: ODEN_LO :: oden [17:00] */
#define BCHP_GIO_AON_ODEN_LO_oden_MASK                             0x0003ffff
#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[17:0]
 ***************************************************************************/
/* GIO_AON :: DATA_LO :: reserved0 [31:18] */
#define BCHP_GIO_AON_DATA_LO_reserved0_MASK                        0xfffc0000
#define BCHP_GIO_AON_DATA_LO_reserved0_SHIFT                       18

/* GIO_AON :: DATA_LO :: data [17:00] */
#define BCHP_GIO_AON_DATA_LO_data_MASK                             0x0003ffff
#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[17:0]
 ***************************************************************************/
/* GIO_AON :: IODIR_LO :: reserved0 [31:18] */
#define BCHP_GIO_AON_IODIR_LO_reserved0_MASK                       0xfffc0000
#define BCHP_GIO_AON_IODIR_LO_reserved0_SHIFT                      18

/* GIO_AON :: IODIR_LO :: iodir [17:00] */
#define BCHP_GIO_AON_IODIR_LO_iodir_MASK                           0x0003ffff
#define BCHP_GIO_AON_IODIR_LO_iodir_SHIFT                          0
#define BCHP_GIO_AON_IODIR_LO_iodir_DEFAULT                        0x0003ffff

/***************************************************************************
 *EC_LO - GENERAL PURPOSE I/O EDGE CONFIGURATION FOR AON_GPIO[17:0]
 ***************************************************************************/
/* GIO_AON :: EC_LO :: reserved0 [31:18] */
#define BCHP_GIO_AON_EC_LO_reserved0_MASK                          0xfffc0000
#define BCHP_GIO_AON_EC_LO_reserved0_SHIFT                         18

/* GIO_AON :: EC_LO :: edge_config [17:00] */
#define BCHP_GIO_AON_EC_LO_edge_config_MASK                        0x0003ffff
#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[17:0]
 ***************************************************************************/
/* GIO_AON :: EI_LO :: reserved0 [31:18] */
#define BCHP_GIO_AON_EI_LO_reserved0_MASK                          0xfffc0000
#define BCHP_GIO_AON_EI_LO_reserved0_SHIFT                         18

/* GIO_AON :: EI_LO :: edge_insensitive [17:00] */
#define BCHP_GIO_AON_EI_LO_edge_insensitive_MASK                   0x0003ffff
#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[17:0]
 ***************************************************************************/
/* GIO_AON :: MASK_LO :: reserved0 [31:18] */
#define BCHP_GIO_AON_MASK_LO_reserved0_MASK                        0xfffc0000
#define BCHP_GIO_AON_MASK_LO_reserved0_SHIFT                       18

/* GIO_AON :: MASK_LO :: irq_mask [17:00] */
#define BCHP_GIO_AON_MASK_LO_irq_mask_MASK                         0x0003ffff
#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[17:0]
 ***************************************************************************/
/* GIO_AON :: LEVEL_LO :: reserved0 [31:18] */
#define BCHP_GIO_AON_LEVEL_LO_reserved0_MASK                       0xfffc0000
#define BCHP_GIO_AON_LEVEL_LO_reserved0_SHIFT                      18

/* GIO_AON :: LEVEL_LO :: level [17:00] */
#define BCHP_GIO_AON_LEVEL_LO_level_MASK                           0x0003ffff
#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[17:0]
 ***************************************************************************/
/* GIO_AON :: STAT_LO :: reserved0 [31:18] */
#define BCHP_GIO_AON_STAT_LO_reserved0_MASK                        0xfffc0000
#define BCHP_GIO_AON_STAT_LO_reserved0_SHIFT                       18

/* GIO_AON :: STAT_LO :: irq_status [17:00] */
#define BCHP_GIO_AON_STAT_LO_irq_status_MASK                       0x0003ffff
#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[5:2]
 ***************************************************************************/
/* 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[5:2]
 ***************************************************************************/
/* 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[5:2]
 ***************************************************************************/
/* 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                       0x0000000f

/***************************************************************************
 *EC_EXT - GENERAL PURPOSE I/O EDGE CONFIGURATION FOR AON_SGPIO[5:2]
 ***************************************************************************/
/* 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[5:2]
 ***************************************************************************/
/* 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[5:2]
 ***************************************************************************/
/* 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[5:2]
 ***************************************************************************/
/* 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[5:2]
 ***************************************************************************/
/* 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 */
