/***************************************************************************
 *     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:48 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_PCIE_0_EXT_CFG_H__
#define BCHP_PCIE_0_EXT_CFG_H__

/***************************************************************************
 *PCIE_0_EXT_CFG - PCIE EXTERNAL CFG Registers
 ***************************************************************************/
#define BCHP_PCIE_0_EXT_CFG_PCIE_EXT_CFG_DATA_0  0x00478000 /* PCIe External Configuration Space Data[0] */
#define BCHP_PCIE_0_EXT_CFG_PCIE_EXT_CFG_DATA_1023 0x00478ffc /* PCIe External Configuration Space Data[1023] */
#define BCHP_PCIE_0_EXT_CFG_PCIE_EXT_CFG_INDEX   0x00479000 /* PCIE External Configuration Access Index */
#define BCHP_PCIE_0_EXT_CFG_PCIE_EXT_CFG_DATA    0x00479004 /* PCIE External Configuration Access Data */
#define BCHP_PCIE_0_EXT_CFG_SCRATCH              0x00479008 /* Scratch Register */

/***************************************************************************
 *PCIE_EXT_CFG_DATA_0 - PCIe External Configuration Space Data[0]
 ***************************************************************************/
/* PCIE_0_EXT_CFG :: PCIE_EXT_CFG_DATA_0 :: DATA [31:00] */
#define BCHP_PCIE_0_EXT_CFG_PCIE_EXT_CFG_DATA_0_DATA_MASK          0xffffffff
#define BCHP_PCIE_0_EXT_CFG_PCIE_EXT_CFG_DATA_0_DATA_SHIFT         0

/***************************************************************************
 *PCIE_EXT_CFG_DATA_1023 - PCIe External Configuration Space Data[1023]
 ***************************************************************************/
/* PCIE_0_EXT_CFG :: PCIE_EXT_CFG_DATA_1023 :: DATA [31:00] */
#define BCHP_PCIE_0_EXT_CFG_PCIE_EXT_CFG_DATA_1023_DATA_MASK       0xffffffff
#define BCHP_PCIE_0_EXT_CFG_PCIE_EXT_CFG_DATA_1023_DATA_SHIFT      0

/***************************************************************************
 *PCIE_EXT_CFG_INDEX - PCIE External Configuration Access Index
 ***************************************************************************/
/* PCIE_0_EXT_CFG :: PCIE_EXT_CFG_INDEX :: UNUSED_1 [31:28] */
#define BCHP_PCIE_0_EXT_CFG_PCIE_EXT_CFG_INDEX_UNUSED_1_MASK       0xf0000000
#define BCHP_PCIE_0_EXT_CFG_PCIE_EXT_CFG_INDEX_UNUSED_1_SHIFT      28
#define BCHP_PCIE_0_EXT_CFG_PCIE_EXT_CFG_INDEX_UNUSED_1_DEFAULT    0x00000000

/* PCIE_0_EXT_CFG :: PCIE_EXT_CFG_INDEX :: BUS_NUM [27:20] */
#define BCHP_PCIE_0_EXT_CFG_PCIE_EXT_CFG_INDEX_BUS_NUM_MASK        0x0ff00000
#define BCHP_PCIE_0_EXT_CFG_PCIE_EXT_CFG_INDEX_BUS_NUM_SHIFT       20
#define BCHP_PCIE_0_EXT_CFG_PCIE_EXT_CFG_INDEX_BUS_NUM_DEFAULT     0x00000000

/* PCIE_0_EXT_CFG :: PCIE_EXT_CFG_INDEX :: DEV_NUM [19:15] */
#define BCHP_PCIE_0_EXT_CFG_PCIE_EXT_CFG_INDEX_DEV_NUM_MASK        0x000f8000
#define BCHP_PCIE_0_EXT_CFG_PCIE_EXT_CFG_INDEX_DEV_NUM_SHIFT       15
#define BCHP_PCIE_0_EXT_CFG_PCIE_EXT_CFG_INDEX_DEV_NUM_DEFAULT     0x00000000

/* PCIE_0_EXT_CFG :: PCIE_EXT_CFG_INDEX :: FUNC_NUM [14:12] */
#define BCHP_PCIE_0_EXT_CFG_PCIE_EXT_CFG_INDEX_FUNC_NUM_MASK       0x00007000
#define BCHP_PCIE_0_EXT_CFG_PCIE_EXT_CFG_INDEX_FUNC_NUM_SHIFT      12
#define BCHP_PCIE_0_EXT_CFG_PCIE_EXT_CFG_INDEX_FUNC_NUM_DEFAULT    0x00000000

/* PCIE_0_EXT_CFG :: PCIE_EXT_CFG_INDEX :: REG_NUM [11:02] */
#define BCHP_PCIE_0_EXT_CFG_PCIE_EXT_CFG_INDEX_REG_NUM_MASK        0x00000ffc
#define BCHP_PCIE_0_EXT_CFG_PCIE_EXT_CFG_INDEX_REG_NUM_SHIFT       2
#define BCHP_PCIE_0_EXT_CFG_PCIE_EXT_CFG_INDEX_REG_NUM_DEFAULT     0x00000000

/* PCIE_0_EXT_CFG :: PCIE_EXT_CFG_INDEX :: UNUSED_0 [01:00] */
#define BCHP_PCIE_0_EXT_CFG_PCIE_EXT_CFG_INDEX_UNUSED_0_MASK       0x00000003
#define BCHP_PCIE_0_EXT_CFG_PCIE_EXT_CFG_INDEX_UNUSED_0_SHIFT      0
#define BCHP_PCIE_0_EXT_CFG_PCIE_EXT_CFG_INDEX_UNUSED_0_DEFAULT    0x00000000

/***************************************************************************
 *PCIE_EXT_CFG_DATA - PCIE External Configuration Access Data
 ***************************************************************************/
/* PCIE_0_EXT_CFG :: PCIE_EXT_CFG_DATA :: DATA [31:00] */
#define BCHP_PCIE_0_EXT_CFG_PCIE_EXT_CFG_DATA_DATA_MASK            0xffffffff
#define BCHP_PCIE_0_EXT_CFG_PCIE_EXT_CFG_DATA_DATA_SHIFT           0
#define BCHP_PCIE_0_EXT_CFG_PCIE_EXT_CFG_DATA_DATA_DEFAULT         0x00000000

/***************************************************************************
 *SCRATCH - Scratch Register
 ***************************************************************************/
/* PCIE_0_EXT_CFG :: SCRATCH :: DATA [31:00] */
#define BCHP_PCIE_0_EXT_CFG_SCRATCH_DATA_MASK                      0xffffffff
#define BCHP_PCIE_0_EXT_CFG_SCRATCH_DATA_SHIFT                     0
#define BCHP_PCIE_0_EXT_CFG_SCRATCH_DATA_DEFAULT                   0x00000000

#endif /* #ifndef BCHP_PCIE_0_EXT_CFG_H__ */

/* End of File */
