/***************************************************************************
 *     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              Thu Apr 24 03:08:52 2014
 *                 Full Compile MD5 Checksum 1af2c2cf28828ece5496e1312aac0166
 *                   (minus title and desc)  
 *                 MD5 Checksum              3203ffce85e3fc9a10f84123e54057b0
 *
 * 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 */
