/***************************************************************************
 *     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:41 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_H__
#define BCHP_GIO_H__

/***************************************************************************
 *GIO - GPIO
 ***************************************************************************/
#define BCHP_GIO_ODEN_LO                         0x0040a400 /* GENERAL PURPOSE I/O OPEN DRAIN ENABLE FOR  GPIO[31:0] */
#define BCHP_GIO_DATA_LO                         0x0040a404 /* GENERAL PURPOSE I/O DATA FOR  GPIO[31:0] */
#define BCHP_GIO_IODIR_LO                        0x0040a408 /* GENERAL PURPOSE I/O DIRECTION FOR  GPIO[31:0] */
#define BCHP_GIO_EC_LO                           0x0040a40c /* GENERAL PURPOSE I/O EDGE CONFIGURATION FOR  GPIO[31:0] */
#define BCHP_GIO_EI_LO                           0x0040a410 /* GENERAL PURPOSE I/O EDGE INSENSITIVE FOR  GPIO[31:0] */
#define BCHP_GIO_MASK_LO                         0x0040a414 /* GENERAL PURPOSE I/O INTERRUPT MASK FOR  GPIO[31:0] */
#define BCHP_GIO_LEVEL_LO                        0x0040a418 /* GENERAL PURPOSE I/O INTERRUPT TYPE FOR  GPIO[31:0] */
#define BCHP_GIO_STAT_LO                         0x0040a41c /* GENERAL PURPOSE I/O INTERRUPT STATUS FOR  GPIO[31:0] */
#define BCHP_GIO_ODEN_HI                         0x0040a420 /* GENERAL PURPOSE I/O OPEN DRAIN ENABLE FOR  GPIO[63:32] */
#define BCHP_GIO_DATA_HI                         0x0040a424 /* GENERAL PURPOSE I/O DATA FOR  GPIO[63:32] */
#define BCHP_GIO_IODIR_HI                        0x0040a428 /* GENERAL PURPOSE I/O DIRECTION FOR  GPIO[63:32] */
#define BCHP_GIO_EC_HI                           0x0040a42c /* GENERAL PURPOSE I/O EDGE CONFIGURATION FOR  GPIO[63:32] */
#define BCHP_GIO_EI_HI                           0x0040a430 /* GENERAL PURPOSE I/O EDGE INSENSITIVE FOR  GPIO[63:32] */
#define BCHP_GIO_MASK_HI                         0x0040a434 /* GENERAL PURPOSE I/O INTERRUPT MASK FOR  GPIO[63:32] */
#define BCHP_GIO_LEVEL_HI                        0x0040a438 /* GENERAL PURPOSE I/O INTERRUPT TYPE FOR  GPIO[63:32] */
#define BCHP_GIO_STAT_HI                         0x0040a43c /* GENERAL PURPOSE I/O INTERRUPT STATUS FOR  GPIO[63:32] */
#define BCHP_GIO_ODEN_EXT_HI                     0x0040a440 /* GENERAL PURPOSE I/O OPEN DRAIN ENABLE FOR  GPIO[95:64] */
#define BCHP_GIO_DATA_EXT_HI                     0x0040a444 /* GENERAL PURPOSE I/O DATA FOR  GPIO[95:64] */
#define BCHP_GIO_IODIR_EXT_HI                    0x0040a448 /* GENERAL PURPOSE I/O DIRECTION FOR  GPIO[95:64] */
#define BCHP_GIO_EC_EXT_HI                       0x0040a44c /* GENERAL PURPOSE I/O EDGE CONFIGURATION FOR  GPIO[95:64] */
#define BCHP_GIO_EI_EXT_HI                       0x0040a450 /* GENERAL PURPOSE I/O EDGE INSENSITIVE FOR  GPIO[95:64] */
#define BCHP_GIO_MASK_EXT_HI                     0x0040a454 /* GENERAL PURPOSE I/O INTERRUPT MASK FOR  GPIO[95:64] */
#define BCHP_GIO_LEVEL_EXT_HI                    0x0040a458 /* GENERAL PURPOSE I/O INTERRUPT TYPE FOR  GPIO[95:64] */
#define BCHP_GIO_STAT_EXT_HI                     0x0040a45c /* GENERAL PURPOSE I/O INTERRUPT STATUS FOR  GPIO[95:64] */
#define BCHP_GIO_ODEN_EXT2                       0x0040a460 /* GENERAL PURPOSE I/O OPEN DRAIN ENABLE FOR  GPIO[127:96] */
#define BCHP_GIO_DATA_EXT2                       0x0040a464 /* GENERAL PURPOSE I/O DATA FOR  GPIO[127:96] */
#define BCHP_GIO_IODIR_EXT2                      0x0040a468 /* GENERAL PURPOSE I/O DIRECTION FOR  GPIO[127:96] */
#define BCHP_GIO_EC_EXT2                         0x0040a46c /* GENERAL PURPOSE I/O EDGE CONFIGURATION FOR  GPIO[127:96] */
#define BCHP_GIO_EI_EXT2                         0x0040a470 /* GENERAL PURPOSE I/O EDGE INSENSITIVE FOR  GPIO[127:96] */
#define BCHP_GIO_MASK_EXT2                       0x0040a474 /* GENERAL PURPOSE I/O INTERRUPT MASK FOR  GPIO[127:96] */
#define BCHP_GIO_LEVEL_EXT2                      0x0040a478 /* GENERAL PURPOSE I/O INTERRUPT TYPE FOR  GPIO[127:96] */
#define BCHP_GIO_STAT_EXT2                       0x0040a47c /* GENERAL PURPOSE I/O INTERRUPT STATUS FOR  GPIO[127:96] */
#define BCHP_GIO_ODEN_EXT3                       0x0040a480 /* GENERAL PURPOSE I/O OPEN DRAIN ENABLE FOR  GPIO[137:128] */
#define BCHP_GIO_DATA_EXT3                       0x0040a484 /* GENERAL PURPOSE I/O DATA FOR  GPIO[137:128] */
#define BCHP_GIO_IODIR_EXT3                      0x0040a488 /* GENERAL PURPOSE I/O DIRECTION FOR  GPIO[137:128] */
#define BCHP_GIO_EC_EXT3                         0x0040a48c /* GENERAL PURPOSE I/O EDGE CONFIGURATION FOR  GPIO[137:128] */
#define BCHP_GIO_EI_EXT3                         0x0040a490 /* GENERAL PURPOSE I/O EDGE INSENSITIVE FOR  GPIO[137:128] */
#define BCHP_GIO_MASK_EXT3                       0x0040a494 /* GENERAL PURPOSE I/O INTERRUPT MASK FOR  GPIO[137:128] */
#define BCHP_GIO_LEVEL_EXT3                      0x0040a498 /* GENERAL PURPOSE I/O INTERRUPT TYPE FOR  GPIO[137:128] */
#define BCHP_GIO_STAT_EXT3                       0x0040a49c /* GENERAL PURPOSE I/O INTERRUPT STATUS FOR  GPIO[137:128] */
#define BCHP_GIO_ODEN_EXT                        0x0040a4a0 /* GENERAL PURPOSE I/O OPEN DRAIN ENABLE FOR AON_SGPIO[3:0] and SGPIO[5:0] */
#define BCHP_GIO_DATA_EXT                        0x0040a4a4 /* GENERAL PURPOSE I/O DATA FOR AON_SGPIO[3:0] and SGPIO[5:0] */
#define BCHP_GIO_IODIR_EXT                       0x0040a4a8 /* GENERAL PURPOSE I/O DIRECTION FOR AON_SGPIO[3:0] and SGPIO[5:0] */
#define BCHP_GIO_EC_EXT                          0x0040a4ac /* GENERAL PURPOSE I/O EDGE CONFIGURATION FOR AON_SGPIO[3:0] and SGPIO[5:0] */
#define BCHP_GIO_EI_EXT                          0x0040a4b0 /* GENERAL PURPOSE I/O EDGE INSENSITIVE FOR AON_SGPIO[3:0] and SGPIO[5:0] */
#define BCHP_GIO_MASK_EXT                        0x0040a4b4 /* GENERAL PURPOSE I/O INTERRUPT MASK FOR AON_SGPIO[3:0] and SGPIO[5:0] */
#define BCHP_GIO_LEVEL_EXT                       0x0040a4b8 /* GENERAL PURPOSE I/O INTERRUPT TYPE FOR AON_SGPIO[3:0] and SGPIO[5:0] */
#define BCHP_GIO_STAT_EXT                        0x0040a4bc /* GENERAL PURPOSE I/O INTERRUPT STATUS FOR AON_SGPIO[3:0] and SGPIO[5:0] */

/***************************************************************************
 *ODEN_LO - GENERAL PURPOSE I/O OPEN DRAIN ENABLE FOR  GPIO[31:0]
 ***************************************************************************/
/* GIO :: ODEN_LO :: oden [31:00] */
#define BCHP_GIO_ODEN_LO_oden_MASK                                 0xffffffff
#define BCHP_GIO_ODEN_LO_oden_SHIFT                                0
#define BCHP_GIO_ODEN_LO_oden_DEFAULT                              0x00000000

/***************************************************************************
 *DATA_LO - GENERAL PURPOSE I/O DATA FOR  GPIO[31:0]
 ***************************************************************************/
/* GIO :: DATA_LO :: data [31:00] */
#define BCHP_GIO_DATA_LO_data_MASK                                 0xffffffff
#define BCHP_GIO_DATA_LO_data_SHIFT                                0
#define BCHP_GIO_DATA_LO_data_DEFAULT                              0x00000000

/***************************************************************************
 *IODIR_LO - GENERAL PURPOSE I/O DIRECTION FOR  GPIO[31:0]
 ***************************************************************************/
/* GIO :: IODIR_LO :: iodir [31:00] */
#define BCHP_GIO_IODIR_LO_iodir_MASK                               0xffffffff
#define BCHP_GIO_IODIR_LO_iodir_SHIFT                              0
#define BCHP_GIO_IODIR_LO_iodir_DEFAULT                            0xffffffff

/***************************************************************************
 *EC_LO - GENERAL PURPOSE I/O EDGE CONFIGURATION FOR  GPIO[31:0]
 ***************************************************************************/
/* GIO :: EC_LO :: edge_config [31:00] */
#define BCHP_GIO_EC_LO_edge_config_MASK                            0xffffffff
#define BCHP_GIO_EC_LO_edge_config_SHIFT                           0
#define BCHP_GIO_EC_LO_edge_config_DEFAULT                         0x00000000

/***************************************************************************
 *EI_LO - GENERAL PURPOSE I/O EDGE INSENSITIVE FOR  GPIO[31:0]
 ***************************************************************************/
/* GIO :: EI_LO :: edge_insensitive [31:00] */
#define BCHP_GIO_EI_LO_edge_insensitive_MASK                       0xffffffff
#define BCHP_GIO_EI_LO_edge_insensitive_SHIFT                      0
#define BCHP_GIO_EI_LO_edge_insensitive_DEFAULT                    0x00000000

/***************************************************************************
 *MASK_LO - GENERAL PURPOSE I/O INTERRUPT MASK FOR  GPIO[31:0]
 ***************************************************************************/
/* GIO :: MASK_LO :: irq_mask [31:00] */
#define BCHP_GIO_MASK_LO_irq_mask_MASK                             0xffffffff
#define BCHP_GIO_MASK_LO_irq_mask_SHIFT                            0
#define BCHP_GIO_MASK_LO_irq_mask_DEFAULT                          0x00000000

/***************************************************************************
 *LEVEL_LO - GENERAL PURPOSE I/O INTERRUPT TYPE FOR  GPIO[31:0]
 ***************************************************************************/
/* GIO :: LEVEL_LO :: level [31:00] */
#define BCHP_GIO_LEVEL_LO_level_MASK                               0xffffffff
#define BCHP_GIO_LEVEL_LO_level_SHIFT                              0
#define BCHP_GIO_LEVEL_LO_level_DEFAULT                            0x00000000

/***************************************************************************
 *STAT_LO - GENERAL PURPOSE I/O INTERRUPT STATUS FOR  GPIO[31:0]
 ***************************************************************************/
/* GIO :: STAT_LO :: irq_status [31:00] */
#define BCHP_GIO_STAT_LO_irq_status_MASK                           0xffffffff
#define BCHP_GIO_STAT_LO_irq_status_SHIFT                          0
#define BCHP_GIO_STAT_LO_irq_status_DEFAULT                        0x00000000

/***************************************************************************
 *ODEN_HI - GENERAL PURPOSE I/O OPEN DRAIN ENABLE FOR  GPIO[63:32]
 ***************************************************************************/
/* GIO :: ODEN_HI :: oden [31:00] */
#define BCHP_GIO_ODEN_HI_oden_MASK                                 0xffffffff
#define BCHP_GIO_ODEN_HI_oden_SHIFT                                0
#define BCHP_GIO_ODEN_HI_oden_DEFAULT                              0x00000000

/***************************************************************************
 *DATA_HI - GENERAL PURPOSE I/O DATA FOR  GPIO[63:32]
 ***************************************************************************/
/* GIO :: DATA_HI :: data [31:00] */
#define BCHP_GIO_DATA_HI_data_MASK                                 0xffffffff
#define BCHP_GIO_DATA_HI_data_SHIFT                                0
#define BCHP_GIO_DATA_HI_data_DEFAULT                              0x00000000

/***************************************************************************
 *IODIR_HI - GENERAL PURPOSE I/O DIRECTION FOR  GPIO[63:32]
 ***************************************************************************/
/* GIO :: IODIR_HI :: iodir [31:00] */
#define BCHP_GIO_IODIR_HI_iodir_MASK                               0xffffffff
#define BCHP_GIO_IODIR_HI_iodir_SHIFT                              0
#define BCHP_GIO_IODIR_HI_iodir_DEFAULT                            0xffffffff

/***************************************************************************
 *EC_HI - GENERAL PURPOSE I/O EDGE CONFIGURATION FOR  GPIO[63:32]
 ***************************************************************************/
/* GIO :: EC_HI :: edge_config [31:00] */
#define BCHP_GIO_EC_HI_edge_config_MASK                            0xffffffff
#define BCHP_GIO_EC_HI_edge_config_SHIFT                           0
#define BCHP_GIO_EC_HI_edge_config_DEFAULT                         0x00000000

/***************************************************************************
 *EI_HI - GENERAL PURPOSE I/O EDGE INSENSITIVE FOR  GPIO[63:32]
 ***************************************************************************/
/* GIO :: EI_HI :: edge_insensitive [31:00] */
#define BCHP_GIO_EI_HI_edge_insensitive_MASK                       0xffffffff
#define BCHP_GIO_EI_HI_edge_insensitive_SHIFT                      0
#define BCHP_GIO_EI_HI_edge_insensitive_DEFAULT                    0x00000000

/***************************************************************************
 *MASK_HI - GENERAL PURPOSE I/O INTERRUPT MASK FOR  GPIO[63:32]
 ***************************************************************************/
/* GIO :: MASK_HI :: irq_mask [31:00] */
#define BCHP_GIO_MASK_HI_irq_mask_MASK                             0xffffffff
#define BCHP_GIO_MASK_HI_irq_mask_SHIFT                            0
#define BCHP_GIO_MASK_HI_irq_mask_DEFAULT                          0x00000000

/***************************************************************************
 *LEVEL_HI - GENERAL PURPOSE I/O INTERRUPT TYPE FOR  GPIO[63:32]
 ***************************************************************************/
/* GIO :: LEVEL_HI :: level [31:00] */
#define BCHP_GIO_LEVEL_HI_level_MASK                               0xffffffff
#define BCHP_GIO_LEVEL_HI_level_SHIFT                              0
#define BCHP_GIO_LEVEL_HI_level_DEFAULT                            0x00000000

/***************************************************************************
 *STAT_HI - GENERAL PURPOSE I/O INTERRUPT STATUS FOR  GPIO[63:32]
 ***************************************************************************/
/* GIO :: STAT_HI :: irq_status [31:00] */
#define BCHP_GIO_STAT_HI_irq_status_MASK                           0xffffffff
#define BCHP_GIO_STAT_HI_irq_status_SHIFT                          0
#define BCHP_GIO_STAT_HI_irq_status_DEFAULT                        0x00000000

/***************************************************************************
 *ODEN_EXT_HI - GENERAL PURPOSE I/O OPEN DRAIN ENABLE FOR  GPIO[95:64]
 ***************************************************************************/
/* GIO :: ODEN_EXT_HI :: oden [31:00] */
#define BCHP_GIO_ODEN_EXT_HI_oden_MASK                             0xffffffff
#define BCHP_GIO_ODEN_EXT_HI_oden_SHIFT                            0
#define BCHP_GIO_ODEN_EXT_HI_oden_DEFAULT                          0x00000000

/***************************************************************************
 *DATA_EXT_HI - GENERAL PURPOSE I/O DATA FOR  GPIO[95:64]
 ***************************************************************************/
/* GIO :: DATA_EXT_HI :: data [31:00] */
#define BCHP_GIO_DATA_EXT_HI_data_MASK                             0xffffffff
#define BCHP_GIO_DATA_EXT_HI_data_SHIFT                            0
#define BCHP_GIO_DATA_EXT_HI_data_DEFAULT                          0x00000000

/***************************************************************************
 *IODIR_EXT_HI - GENERAL PURPOSE I/O DIRECTION FOR  GPIO[95:64]
 ***************************************************************************/
/* GIO :: IODIR_EXT_HI :: iodir [31:00] */
#define BCHP_GIO_IODIR_EXT_HI_iodir_MASK                           0xffffffff
#define BCHP_GIO_IODIR_EXT_HI_iodir_SHIFT                          0
#define BCHP_GIO_IODIR_EXT_HI_iodir_DEFAULT                        0xffffffff

/***************************************************************************
 *EC_EXT_HI - GENERAL PURPOSE I/O EDGE CONFIGURATION FOR  GPIO[95:64]
 ***************************************************************************/
/* GIO :: EC_EXT_HI :: edge_config [31:00] */
#define BCHP_GIO_EC_EXT_HI_edge_config_MASK                        0xffffffff
#define BCHP_GIO_EC_EXT_HI_edge_config_SHIFT                       0
#define BCHP_GIO_EC_EXT_HI_edge_config_DEFAULT                     0x00000000

/***************************************************************************
 *EI_EXT_HI - GENERAL PURPOSE I/O EDGE INSENSITIVE FOR  GPIO[95:64]
 ***************************************************************************/
/* GIO :: EI_EXT_HI :: edge_insensitive [31:00] */
#define BCHP_GIO_EI_EXT_HI_edge_insensitive_MASK                   0xffffffff
#define BCHP_GIO_EI_EXT_HI_edge_insensitive_SHIFT                  0
#define BCHP_GIO_EI_EXT_HI_edge_insensitive_DEFAULT                0x00000000

/***************************************************************************
 *MASK_EXT_HI - GENERAL PURPOSE I/O INTERRUPT MASK FOR  GPIO[95:64]
 ***************************************************************************/
/* GIO :: MASK_EXT_HI :: irq_mask [31:00] */
#define BCHP_GIO_MASK_EXT_HI_irq_mask_MASK                         0xffffffff
#define BCHP_GIO_MASK_EXT_HI_irq_mask_SHIFT                        0
#define BCHP_GIO_MASK_EXT_HI_irq_mask_DEFAULT                      0x00000000

/***************************************************************************
 *LEVEL_EXT_HI - GENERAL PURPOSE I/O INTERRUPT TYPE FOR  GPIO[95:64]
 ***************************************************************************/
/* GIO :: LEVEL_EXT_HI :: level [31:00] */
#define BCHP_GIO_LEVEL_EXT_HI_level_MASK                           0xffffffff
#define BCHP_GIO_LEVEL_EXT_HI_level_SHIFT                          0
#define BCHP_GIO_LEVEL_EXT_HI_level_DEFAULT                        0x00000000

/***************************************************************************
 *STAT_EXT_HI - GENERAL PURPOSE I/O INTERRUPT STATUS FOR  GPIO[95:64]
 ***************************************************************************/
/* GIO :: STAT_EXT_HI :: irq_status [31:00] */
#define BCHP_GIO_STAT_EXT_HI_irq_status_MASK                       0xffffffff
#define BCHP_GIO_STAT_EXT_HI_irq_status_SHIFT                      0
#define BCHP_GIO_STAT_EXT_HI_irq_status_DEFAULT                    0x00000000

/***************************************************************************
 *ODEN_EXT2 - GENERAL PURPOSE I/O OPEN DRAIN ENABLE FOR  GPIO[127:96]
 ***************************************************************************/
/* GIO :: ODEN_EXT2 :: oden [31:00] */
#define BCHP_GIO_ODEN_EXT2_oden_MASK                               0xffffffff
#define BCHP_GIO_ODEN_EXT2_oden_SHIFT                              0
#define BCHP_GIO_ODEN_EXT2_oden_DEFAULT                            0x00000000

/***************************************************************************
 *DATA_EXT2 - GENERAL PURPOSE I/O DATA FOR  GPIO[127:96]
 ***************************************************************************/
/* GIO :: DATA_EXT2 :: data [31:00] */
#define BCHP_GIO_DATA_EXT2_data_MASK                               0xffffffff
#define BCHP_GIO_DATA_EXT2_data_SHIFT                              0
#define BCHP_GIO_DATA_EXT2_data_DEFAULT                            0x00000000

/***************************************************************************
 *IODIR_EXT2 - GENERAL PURPOSE I/O DIRECTION FOR  GPIO[127:96]
 ***************************************************************************/
/* GIO :: IODIR_EXT2 :: iodir [31:00] */
#define BCHP_GIO_IODIR_EXT2_iodir_MASK                             0xffffffff
#define BCHP_GIO_IODIR_EXT2_iodir_SHIFT                            0
#define BCHP_GIO_IODIR_EXT2_iodir_DEFAULT                          0x00000001

/***************************************************************************
 *EC_EXT2 - GENERAL PURPOSE I/O EDGE CONFIGURATION FOR  GPIO[127:96]
 ***************************************************************************/
/* GIO :: EC_EXT2 :: edge_config [31:00] */
#define BCHP_GIO_EC_EXT2_edge_config_MASK                          0xffffffff
#define BCHP_GIO_EC_EXT2_edge_config_SHIFT                         0
#define BCHP_GIO_EC_EXT2_edge_config_DEFAULT                       0x00000000

/***************************************************************************
 *EI_EXT2 - GENERAL PURPOSE I/O EDGE INSENSITIVE FOR  GPIO[127:96]
 ***************************************************************************/
/* GIO :: EI_EXT2 :: edge_insensitive [31:00] */
#define BCHP_GIO_EI_EXT2_edge_insensitive_MASK                     0xffffffff
#define BCHP_GIO_EI_EXT2_edge_insensitive_SHIFT                    0
#define BCHP_GIO_EI_EXT2_edge_insensitive_DEFAULT                  0x00000000

/***************************************************************************
 *MASK_EXT2 - GENERAL PURPOSE I/O INTERRUPT MASK FOR  GPIO[127:96]
 ***************************************************************************/
/* GIO :: MASK_EXT2 :: irq_mask [31:00] */
#define BCHP_GIO_MASK_EXT2_irq_mask_MASK                           0xffffffff
#define BCHP_GIO_MASK_EXT2_irq_mask_SHIFT                          0
#define BCHP_GIO_MASK_EXT2_irq_mask_DEFAULT                        0x00000000

/***************************************************************************
 *LEVEL_EXT2 - GENERAL PURPOSE I/O INTERRUPT TYPE FOR  GPIO[127:96]
 ***************************************************************************/
/* GIO :: LEVEL_EXT2 :: level [31:00] */
#define BCHP_GIO_LEVEL_EXT2_level_MASK                             0xffffffff
#define BCHP_GIO_LEVEL_EXT2_level_SHIFT                            0
#define BCHP_GIO_LEVEL_EXT2_level_DEFAULT                          0x00000000

/***************************************************************************
 *STAT_EXT2 - GENERAL PURPOSE I/O INTERRUPT STATUS FOR  GPIO[127:96]
 ***************************************************************************/
/* GIO :: STAT_EXT2 :: irq_status [31:00] */
#define BCHP_GIO_STAT_EXT2_irq_status_MASK                         0xffffffff
#define BCHP_GIO_STAT_EXT2_irq_status_SHIFT                        0
#define BCHP_GIO_STAT_EXT2_irq_status_DEFAULT                      0x00000000

/***************************************************************************
 *ODEN_EXT3 - GENERAL PURPOSE I/O OPEN DRAIN ENABLE FOR  GPIO[137:128]
 ***************************************************************************/
/* GIO :: ODEN_EXT3 :: reserved0 [31:10] */
#define BCHP_GIO_ODEN_EXT3_reserved0_MASK                          0xfffffc00
#define BCHP_GIO_ODEN_EXT3_reserved0_SHIFT                         10

/* GIO :: ODEN_EXT3 :: oden [09:00] */
#define BCHP_GIO_ODEN_EXT3_oden_MASK                               0x000003ff
#define BCHP_GIO_ODEN_EXT3_oden_SHIFT                              0
#define BCHP_GIO_ODEN_EXT3_oden_DEFAULT                            0x00000000

/***************************************************************************
 *DATA_EXT3 - GENERAL PURPOSE I/O DATA FOR  GPIO[137:128]
 ***************************************************************************/
/* GIO :: DATA_EXT3 :: reserved0 [31:10] */
#define BCHP_GIO_DATA_EXT3_reserved0_MASK                          0xfffffc00
#define BCHP_GIO_DATA_EXT3_reserved0_SHIFT                         10

/* GIO :: DATA_EXT3 :: data [09:00] */
#define BCHP_GIO_DATA_EXT3_data_MASK                               0x000003ff
#define BCHP_GIO_DATA_EXT3_data_SHIFT                              0
#define BCHP_GIO_DATA_EXT3_data_DEFAULT                            0x00000000

/***************************************************************************
 *IODIR_EXT3 - GENERAL PURPOSE I/O DIRECTION FOR  GPIO[137:128]
 ***************************************************************************/
/* GIO :: IODIR_EXT3 :: reserved0 [31:10] */
#define BCHP_GIO_IODIR_EXT3_reserved0_MASK                         0xfffffc00
#define BCHP_GIO_IODIR_EXT3_reserved0_SHIFT                        10

/* GIO :: IODIR_EXT3 :: iodir [09:00] */
#define BCHP_GIO_IODIR_EXT3_iodir_MASK                             0x000003ff
#define BCHP_GIO_IODIR_EXT3_iodir_SHIFT                            0
#define BCHP_GIO_IODIR_EXT3_iodir_DEFAULT                          0x00000001

/***************************************************************************
 *EC_EXT3 - GENERAL PURPOSE I/O EDGE CONFIGURATION FOR  GPIO[137:128]
 ***************************************************************************/
/* GIO :: EC_EXT3 :: reserved0 [31:10] */
#define BCHP_GIO_EC_EXT3_reserved0_MASK                            0xfffffc00
#define BCHP_GIO_EC_EXT3_reserved0_SHIFT                           10

/* GIO :: EC_EXT3 :: edge_config [09:00] */
#define BCHP_GIO_EC_EXT3_edge_config_MASK                          0x000003ff
#define BCHP_GIO_EC_EXT3_edge_config_SHIFT                         0
#define BCHP_GIO_EC_EXT3_edge_config_DEFAULT                       0x00000000

/***************************************************************************
 *EI_EXT3 - GENERAL PURPOSE I/O EDGE INSENSITIVE FOR  GPIO[137:128]
 ***************************************************************************/
/* GIO :: EI_EXT3 :: reserved0 [31:10] */
#define BCHP_GIO_EI_EXT3_reserved0_MASK                            0xfffffc00
#define BCHP_GIO_EI_EXT3_reserved0_SHIFT                           10

/* GIO :: EI_EXT3 :: edge_insensitive [09:00] */
#define BCHP_GIO_EI_EXT3_edge_insensitive_MASK                     0x000003ff
#define BCHP_GIO_EI_EXT3_edge_insensitive_SHIFT                    0
#define BCHP_GIO_EI_EXT3_edge_insensitive_DEFAULT                  0x00000000

/***************************************************************************
 *MASK_EXT3 - GENERAL PURPOSE I/O INTERRUPT MASK FOR  GPIO[137:128]
 ***************************************************************************/
/* GIO :: MASK_EXT3 :: reserved0 [31:10] */
#define BCHP_GIO_MASK_EXT3_reserved0_MASK                          0xfffffc00
#define BCHP_GIO_MASK_EXT3_reserved0_SHIFT                         10

/* GIO :: MASK_EXT3 :: irq_mask [09:00] */
#define BCHP_GIO_MASK_EXT3_irq_mask_MASK                           0x000003ff
#define BCHP_GIO_MASK_EXT3_irq_mask_SHIFT                          0
#define BCHP_GIO_MASK_EXT3_irq_mask_DEFAULT                        0x00000000

/***************************************************************************
 *LEVEL_EXT3 - GENERAL PURPOSE I/O INTERRUPT TYPE FOR  GPIO[137:128]
 ***************************************************************************/
/* GIO :: LEVEL_EXT3 :: reserved0 [31:10] */
#define BCHP_GIO_LEVEL_EXT3_reserved0_MASK                         0xfffffc00
#define BCHP_GIO_LEVEL_EXT3_reserved0_SHIFT                        10

/* GIO :: LEVEL_EXT3 :: level [09:00] */
#define BCHP_GIO_LEVEL_EXT3_level_MASK                             0x000003ff
#define BCHP_GIO_LEVEL_EXT3_level_SHIFT                            0
#define BCHP_GIO_LEVEL_EXT3_level_DEFAULT                          0x00000000

/***************************************************************************
 *STAT_EXT3 - GENERAL PURPOSE I/O INTERRUPT STATUS FOR  GPIO[137:128]
 ***************************************************************************/
/* GIO :: STAT_EXT3 :: reserved0 [31:10] */
#define BCHP_GIO_STAT_EXT3_reserved0_MASK                          0xfffffc00
#define BCHP_GIO_STAT_EXT3_reserved0_SHIFT                         10

/* GIO :: STAT_EXT3 :: irq_status [09:00] */
#define BCHP_GIO_STAT_EXT3_irq_status_MASK                         0x000003ff
#define BCHP_GIO_STAT_EXT3_irq_status_SHIFT                        0
#define BCHP_GIO_STAT_EXT3_irq_status_DEFAULT                      0x00000000

/***************************************************************************
 *ODEN_EXT - GENERAL PURPOSE I/O OPEN DRAIN ENABLE FOR AON_SGPIO[3:0] and SGPIO[5:0]
 ***************************************************************************/
/* GIO :: ODEN_EXT :: reserved0 [31:10] */
#define BCHP_GIO_ODEN_EXT_reserved0_MASK                           0xfffffc00
#define BCHP_GIO_ODEN_EXT_reserved0_SHIFT                          10

/* GIO :: ODEN_EXT :: oden [09:00] */
#define BCHP_GIO_ODEN_EXT_oden_MASK                                0x000003ff
#define BCHP_GIO_ODEN_EXT_oden_SHIFT                               0
#define BCHP_GIO_ODEN_EXT_oden_DEFAULT                             0x00000000

/***************************************************************************
 *DATA_EXT - GENERAL PURPOSE I/O DATA FOR AON_SGPIO[3:0] and SGPIO[5:0]
 ***************************************************************************/
/* GIO :: DATA_EXT :: reserved0 [31:10] */
#define BCHP_GIO_DATA_EXT_reserved0_MASK                           0xfffffc00
#define BCHP_GIO_DATA_EXT_reserved0_SHIFT                          10

/* GIO :: DATA_EXT :: data [09:00] */
#define BCHP_GIO_DATA_EXT_data_MASK                                0x000003ff
#define BCHP_GIO_DATA_EXT_data_SHIFT                               0
#define BCHP_GIO_DATA_EXT_data_DEFAULT                             0x00000000

/***************************************************************************
 *IODIR_EXT - GENERAL PURPOSE I/O DIRECTION FOR AON_SGPIO[3:0] and SGPIO[5:0]
 ***************************************************************************/
/* GIO :: IODIR_EXT :: reserved0 [31:10] */
#define BCHP_GIO_IODIR_EXT_reserved0_MASK                          0xfffffc00
#define BCHP_GIO_IODIR_EXT_reserved0_SHIFT                         10

/* GIO :: IODIR_EXT :: iodir [09:00] */
#define BCHP_GIO_IODIR_EXT_iodir_MASK                              0x000003ff
#define BCHP_GIO_IODIR_EXT_iodir_SHIFT                             0
#define BCHP_GIO_IODIR_EXT_iodir_DEFAULT                           0x000003ff

/***************************************************************************
 *EC_EXT - GENERAL PURPOSE I/O EDGE CONFIGURATION FOR AON_SGPIO[3:0] and SGPIO[5:0]
 ***************************************************************************/
/* GIO :: EC_EXT :: reserved0 [31:10] */
#define BCHP_GIO_EC_EXT_reserved0_MASK                             0xfffffc00
#define BCHP_GIO_EC_EXT_reserved0_SHIFT                            10

/* GIO :: EC_EXT :: edge_config [09:00] */
#define BCHP_GIO_EC_EXT_edge_config_MASK                           0x000003ff
#define BCHP_GIO_EC_EXT_edge_config_SHIFT                          0
#define BCHP_GIO_EC_EXT_edge_config_DEFAULT                        0x00000000

/***************************************************************************
 *EI_EXT - GENERAL PURPOSE I/O EDGE INSENSITIVE FOR AON_SGPIO[3:0] and SGPIO[5:0]
 ***************************************************************************/
/* GIO :: EI_EXT :: reserved0 [31:10] */
#define BCHP_GIO_EI_EXT_reserved0_MASK                             0xfffffc00
#define BCHP_GIO_EI_EXT_reserved0_SHIFT                            10

/* GIO :: EI_EXT :: edge_insensitive [09:00] */
#define BCHP_GIO_EI_EXT_edge_insensitive_MASK                      0x000003ff
#define BCHP_GIO_EI_EXT_edge_insensitive_SHIFT                     0
#define BCHP_GIO_EI_EXT_edge_insensitive_DEFAULT                   0x00000000

/***************************************************************************
 *MASK_EXT - GENERAL PURPOSE I/O INTERRUPT MASK FOR AON_SGPIO[3:0] and SGPIO[5:0]
 ***************************************************************************/
/* GIO :: MASK_EXT :: reserved0 [31:10] */
#define BCHP_GIO_MASK_EXT_reserved0_MASK                           0xfffffc00
#define BCHP_GIO_MASK_EXT_reserved0_SHIFT                          10

/* GIO :: MASK_EXT :: irq_mask [09:00] */
#define BCHP_GIO_MASK_EXT_irq_mask_MASK                            0x000003ff
#define BCHP_GIO_MASK_EXT_irq_mask_SHIFT                           0
#define BCHP_GIO_MASK_EXT_irq_mask_DEFAULT                         0x00000000

/***************************************************************************
 *LEVEL_EXT - GENERAL PURPOSE I/O INTERRUPT TYPE FOR AON_SGPIO[3:0] and SGPIO[5:0]
 ***************************************************************************/
/* GIO :: LEVEL_EXT :: reserved0 [31:10] */
#define BCHP_GIO_LEVEL_EXT_reserved0_MASK                          0xfffffc00
#define BCHP_GIO_LEVEL_EXT_reserved0_SHIFT                         10

/* GIO :: LEVEL_EXT :: level [09:00] */
#define BCHP_GIO_LEVEL_EXT_level_MASK                              0x000003ff
#define BCHP_GIO_LEVEL_EXT_level_SHIFT                             0
#define BCHP_GIO_LEVEL_EXT_level_DEFAULT                           0x00000000

/***************************************************************************
 *STAT_EXT - GENERAL PURPOSE I/O INTERRUPT STATUS FOR AON_SGPIO[3:0] and SGPIO[5:0]
 ***************************************************************************/
/* GIO :: STAT_EXT :: reserved0 [31:10] */
#define BCHP_GIO_STAT_EXT_reserved0_MASK                           0xfffffc00
#define BCHP_GIO_STAT_EXT_reserved0_SHIFT                          10

/* GIO :: STAT_EXT :: irq_status [09:00] */
#define BCHP_GIO_STAT_EXT_irq_status_MASK                          0x000003ff
#define BCHP_GIO_STAT_EXT_irq_status_SHIFT                         0
#define BCHP_GIO_STAT_EXT_irq_status_DEFAULT                       0x00000000

#endif /* #ifndef BCHP_GIO_H__ */

/* End of File */
