/***************************************************************************
 *     Copyright (c) 1999-2011, 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         Mon Apr 11 12:40:17 2011
 *                 MD5 Checksum         8cf142ad25caa9f873c54e8bb2bb1755
 *
 * Compiled with:  RDB Utility          combo_header.pl
 *                 RDB Parser           3.0
 *                 unknown              unknown
 *                 Perl Interpreter     5.008008
 *                 Operating System     linux
 *
 * Revision History:
 *
 * $brcm_Log: /magnum/basemodules/chp/7425/rdb/b0/bchp_pcie_rc_cfg_pcie.h $
 * 
 * Hydra_Software_Devel/2   4/12/11 4:22p vanessah
 * SW7425-112: Update rdb files for 7425 B0.
 *
 ***************************************************************************/

#ifndef BCHP_PCIE_RC_CFG_PCIE_H__
#define BCHP_PCIE_RC_CFG_PCIE_H__

/***************************************************************************
 *PCIE_RC_CFG_PCIE
 ***************************************************************************/
#define BCHP_PCIE_RC_CFG_PCIE_PCIE_CAPABILITY    0x004100ac /* pcie_capability */
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_CAPABILITY  0x004100b0 /* device_capability */
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL 0x004100b4 /* device_status_control */
#define BCHP_PCIE_RC_CFG_PCIE_LINK_CAPABILITY    0x004100b8 /* link_capability */
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL 0x004100bc /* link_status_control */
#define BCHP_PCIE_RC_CFG_PCIE_SLOT_CAPABILITY    0x004100c0 /* slot_capability */
#define BCHP_PCIE_RC_CFG_PCIE_SLOT_CONTROL_STATUS 0x004100c4 /* slot_control_status */
#define BCHP_PCIE_RC_CFG_PCIE_ROOT_CAP_CONTROL   0x004100c8 /* root_cap_control */
#define BCHP_PCIE_RC_CFG_PCIE_ROOT_STATUS        0x004100cc /* root_status */
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_CAPABILITY_2 0x004100d0 /* device_capability_2 */
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_2 0x004100d4 /* device_status_control_2 */
#define BCHP_PCIE_RC_CFG_PCIE_LINK_CAPABILITY_2  0x004100d8 /* link_capability_2 */
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_2 0x004100dc /* link_status_control_2 */
#define BCHP_PCIE_RC_CFG_PCIE_SLOT_CAPABILITY_2  0x004100e0 /* slot_capability_2 */
#define BCHP_PCIE_RC_CFG_PCIE_SLOT_STATUS_CONTROL_2 0x004100e4 /* slot_status_control_2 */

/***************************************************************************
 *PCIE_CAPABILITY - pcie_capability
 ***************************************************************************/
/* PCIE_RC_CFG_PCIE :: PCIE_CAPABILITY :: RESERVED0 [31:30] */
#define BCHP_PCIE_RC_CFG_PCIE_PCIE_CAPABILITY_RESERVED0_MASK       0xc0000000
#define BCHP_PCIE_RC_CFG_PCIE_PCIE_CAPABILITY_RESERVED0_SHIFT      30

/* PCIE_RC_CFG_PCIE :: PCIE_CAPABILITY :: MSG_NUM [29:25] */
#define BCHP_PCIE_RC_CFG_PCIE_PCIE_CAPABILITY_MSG_NUM_MASK         0x3e000000
#define BCHP_PCIE_RC_CFG_PCIE_PCIE_CAPABILITY_MSG_NUM_SHIFT        25
#define BCHP_PCIE_RC_CFG_PCIE_PCIE_CAPABILITY_MSG_NUM_DEFAULT      0

/* PCIE_RC_CFG_PCIE :: PCIE_CAPABILITY :: SLOT_IMPLEMENTED [24:24] */
#define BCHP_PCIE_RC_CFG_PCIE_PCIE_CAPABILITY_SLOT_IMPLEMENTED_MASK 0x01000000
#define BCHP_PCIE_RC_CFG_PCIE_PCIE_CAPABILITY_SLOT_IMPLEMENTED_SHIFT 24
#define BCHP_PCIE_RC_CFG_PCIE_PCIE_CAPABILITY_SLOT_IMPLEMENTED_DEFAULT 0

/* PCIE_RC_CFG_PCIE :: PCIE_CAPABILITY :: TYPE [23:20] */
#define BCHP_PCIE_RC_CFG_PCIE_PCIE_CAPABILITY_TYPE_MASK            0x00f00000
#define BCHP_PCIE_RC_CFG_PCIE_PCIE_CAPABILITY_TYPE_SHIFT           20
#define BCHP_PCIE_RC_CFG_PCIE_PCIE_CAPABILITY_TYPE_DEFAULT         4

/* PCIE_RC_CFG_PCIE :: PCIE_CAPABILITY :: VER [19:16] */
#define BCHP_PCIE_RC_CFG_PCIE_PCIE_CAPABILITY_VER_MASK             0x000f0000
#define BCHP_PCIE_RC_CFG_PCIE_PCIE_CAPABILITY_VER_SHIFT            16
#define BCHP_PCIE_RC_CFG_PCIE_PCIE_CAPABILITY_VER_DEFAULT          2

/* PCIE_RC_CFG_PCIE :: PCIE_CAPABILITY :: PCIE_NEXT_CAP_PTR [15:08] */
#define BCHP_PCIE_RC_CFG_PCIE_PCIE_CAPABILITY_PCIE_NEXT_CAP_PTR_MASK 0x0000ff00
#define BCHP_PCIE_RC_CFG_PCIE_PCIE_CAPABILITY_PCIE_NEXT_CAP_PTR_SHIFT 8
#define BCHP_PCIE_RC_CFG_PCIE_PCIE_CAPABILITY_PCIE_NEXT_CAP_PTR_DEFAULT 0

/* PCIE_RC_CFG_PCIE :: PCIE_CAPABILITY :: PCIE_CAP_ID [07:00] */
#define BCHP_PCIE_RC_CFG_PCIE_PCIE_CAPABILITY_PCIE_CAP_ID_MASK     0x000000ff
#define BCHP_PCIE_RC_CFG_PCIE_PCIE_CAPABILITY_PCIE_CAP_ID_SHIFT    0
#define BCHP_PCIE_RC_CFG_PCIE_PCIE_CAPABILITY_PCIE_CAP_ID_DEFAULT  16

/***************************************************************************
 *DEVICE_CAPABILITY - device_capability
 ***************************************************************************/
/* PCIE_RC_CFG_PCIE :: DEVICE_CAPABILITY :: RESERVED3 [31:28] */
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_CAPABILITY_RESERVED3_MASK     0xf0000000
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_CAPABILITY_RESERVED3_SHIFT    28

/* PCIE_RC_CFG_PCIE :: DEVICE_CAPABILITY :: CAPTURED_SLOT_PWR_SCALE [27:26] */
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_CAPABILITY_CAPTURED_SLOT_PWR_SCALE_MASK 0x0c000000
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_CAPABILITY_CAPTURED_SLOT_PWR_SCALE_SHIFT 26
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_CAPABILITY_CAPTURED_SLOT_PWR_SCALE_DEFAULT 0

/* PCIE_RC_CFG_PCIE :: DEVICE_CAPABILITY :: CAPTURED_SLOT_PWR_VAL [25:18] */
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_CAPABILITY_CAPTURED_SLOT_PWR_VAL_MASK 0x03fc0000
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_CAPABILITY_CAPTURED_SLOT_PWR_VAL_SHIFT 18
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_CAPABILITY_CAPTURED_SLOT_PWR_VAL_DEFAULT 0

/* PCIE_RC_CFG_PCIE :: DEVICE_CAPABILITY :: RESERVED2 [17:16] */
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_CAPABILITY_RESERVED2_MASK     0x00030000
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_CAPABILITY_RESERVED2_SHIFT    16

/* PCIE_RC_CFG_PCIE :: DEVICE_CAPABILITY :: ROLE_BASED_ERR_RPT [15:15] */
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_CAPABILITY_ROLE_BASED_ERR_RPT_MASK 0x00008000
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_CAPABILITY_ROLE_BASED_ERR_RPT_SHIFT 15
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_CAPABILITY_ROLE_BASED_ERR_RPT_DEFAULT 1

/* PCIE_RC_CFG_PCIE :: DEVICE_CAPABILITY :: RESERVED1 [14:12] */
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_CAPABILITY_RESERVED1_MASK     0x00007000
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_CAPABILITY_RESERVED1_SHIFT    12

/* PCIE_RC_CFG_PCIE :: DEVICE_CAPABILITY :: L1_ACCEPTABLE_LATENCY [11:09] */
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_CAPABILITY_L1_ACCEPTABLE_LATENCY_MASK 0x00000e00
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_CAPABILITY_L1_ACCEPTABLE_LATENCY_SHIFT 9
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_CAPABILITY_L1_ACCEPTABLE_LATENCY_DEFAULT 0

/* PCIE_RC_CFG_PCIE :: DEVICE_CAPABILITY :: L0S_ACCEPTABLE_LATENCY [08:06] */
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_CAPABILITY_L0S_ACCEPTABLE_LATENCY_MASK 0x000001c0
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_CAPABILITY_L0S_ACCEPTABLE_LATENCY_SHIFT 6
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_CAPABILITY_L0S_ACCEPTABLE_LATENCY_DEFAULT 0

/* PCIE_RC_CFG_PCIE :: DEVICE_CAPABILITY :: EXTENDED_TAG_SUPPORT [05:05] */
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_CAPABILITY_EXTENDED_TAG_SUPPORT_MASK 0x00000020
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_CAPABILITY_EXTENDED_TAG_SUPPORT_SHIFT 5
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_CAPABILITY_EXTENDED_TAG_SUPPORT_DEFAULT 0

/* PCIE_RC_CFG_PCIE :: DEVICE_CAPABILITY :: RESERVED0 [04:03] */
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_CAPABILITY_RESERVED0_MASK     0x00000018
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_CAPABILITY_RESERVED0_SHIFT    3

/* PCIE_RC_CFG_PCIE :: DEVICE_CAPABILITY :: MAX_PL_SIZE_SUPPORTED [02:00] */
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_CAPABILITY_MAX_PL_SIZE_SUPPORTED_MASK 0x00000007
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_CAPABILITY_MAX_PL_SIZE_SUPPORTED_SHIFT 0
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_CAPABILITY_MAX_PL_SIZE_SUPPORTED_DEFAULT 0

/***************************************************************************
 *DEVICE_STATUS_CONTROL - device_status_control
 ***************************************************************************/
/* PCIE_RC_CFG_PCIE :: DEVICE_STATUS_CONTROL :: RESERVED2 [31:22] */
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_RESERVED2_MASK 0xffc00000
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_RESERVED2_SHIFT 22

/* PCIE_RC_CFG_PCIE :: DEVICE_STATUS_CONTROL :: NP_TRANSACTION_PEND [21:21] */
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_NP_TRANSACTION_PEND_MASK 0x00200000
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_NP_TRANSACTION_PEND_SHIFT 21
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_NP_TRANSACTION_PEND_DEFAULT 0

/* PCIE_RC_CFG_PCIE :: DEVICE_STATUS_CONTROL :: AUX_PWR_DET [20:20] */
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_AUX_PWR_DET_MASK 0x00100000
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_AUX_PWR_DET_SHIFT 20
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_AUX_PWR_DET_DEFAULT 1

/* PCIE_RC_CFG_PCIE :: DEVICE_STATUS_CONTROL :: UNSUP_REQ_DET [19:19] */
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_UNSUP_REQ_DET_MASK 0x00080000
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_UNSUP_REQ_DET_SHIFT 19
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_UNSUP_REQ_DET_DEFAULT 0

/* PCIE_RC_CFG_PCIE :: DEVICE_STATUS_CONTROL :: FATAL_ERR_DET [18:18] */
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_FATAL_ERR_DET_MASK 0x00040000
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_FATAL_ERR_DET_SHIFT 18
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_FATAL_ERR_DET_DEFAULT 0

/* PCIE_RC_CFG_PCIE :: DEVICE_STATUS_CONTROL :: NON_FATAL_ERR_DET [17:17] */
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_NON_FATAL_ERR_DET_MASK 0x00020000
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_NON_FATAL_ERR_DET_SHIFT 17
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_NON_FATAL_ERR_DET_DEFAULT 0

/* PCIE_RC_CFG_PCIE :: DEVICE_STATUS_CONTROL :: CORR_ERR_DET [16:16] */
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_CORR_ERR_DET_MASK 0x00010000
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_CORR_ERR_DET_SHIFT 16
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_CORR_ERR_DET_DEFAULT 0

/* PCIE_RC_CFG_PCIE :: DEVICE_STATUS_CONTROL :: RESERVED1 [15:15] */
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_RESERVED1_MASK 0x00008000
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_RESERVED1_SHIFT 15

/* PCIE_RC_CFG_PCIE :: DEVICE_STATUS_CONTROL :: MAX_READ_REQ_SIZ [14:12] */
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_MAX_READ_REQ_SIZ_MASK 0x00007000
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_MAX_READ_REQ_SIZ_SHIFT 12
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_MAX_READ_REQ_SIZ_DEFAULT 2

/* PCIE_RC_CFG_PCIE :: DEVICE_STATUS_CONTROL :: NO_SNOOP_ENABLE [11:11] */
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_NO_SNOOP_ENABLE_MASK 0x00000800
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_NO_SNOOP_ENABLE_SHIFT 11
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_NO_SNOOP_ENABLE_DEFAULT 1

/* PCIE_RC_CFG_PCIE :: DEVICE_STATUS_CONTROL :: AUX_PWR_PM_ENA [10:10] */
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_AUX_PWR_PM_ENA_MASK 0x00000400
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_AUX_PWR_PM_ENA_SHIFT 10
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_AUX_PWR_PM_ENA_DEFAULT 1

/* PCIE_RC_CFG_PCIE :: DEVICE_STATUS_CONTROL :: RESERVED0 [09:09] */
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_RESERVED0_MASK 0x00000200
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_RESERVED0_SHIFT 9

/* PCIE_RC_CFG_PCIE :: DEVICE_STATUS_CONTROL :: EXTENDED_TAG_EN [08:08] */
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_EXTENDED_TAG_EN_MASK 0x00000100
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_EXTENDED_TAG_EN_SHIFT 8
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_EXTENDED_TAG_EN_DEFAULT 0

/* PCIE_RC_CFG_PCIE :: DEVICE_STATUS_CONTROL :: MAX_PAYLOAD_SIZE [07:05] */
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_MAX_PAYLOAD_SIZE_MASK 0x000000e0
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_MAX_PAYLOAD_SIZE_SHIFT 5
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_MAX_PAYLOAD_SIZE_DEFAULT 0

/* PCIE_RC_CFG_PCIE :: DEVICE_STATUS_CONTROL :: RELAX_ORDERING_ENABLE [04:04] */
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_RELAX_ORDERING_ENABLE_MASK 0x00000010
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_RELAX_ORDERING_ENABLE_SHIFT 4
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_RELAX_ORDERING_ENABLE_DEFAULT 1

/* PCIE_RC_CFG_PCIE :: DEVICE_STATUS_CONTROL :: U_REQ_REPORT_EN [03:03] */
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_U_REQ_REPORT_EN_MASK 0x00000008
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_U_REQ_REPORT_EN_SHIFT 3
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_U_REQ_REPORT_EN_DEFAULT 0

/* PCIE_RC_CFG_PCIE :: DEVICE_STATUS_CONTROL :: FATAL_ERR_REPORT_EN [02:02] */
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_FATAL_ERR_REPORT_EN_MASK 0x00000004
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_FATAL_ERR_REPORT_EN_SHIFT 2
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_FATAL_ERR_REPORT_EN_DEFAULT 0

/* PCIE_RC_CFG_PCIE :: DEVICE_STATUS_CONTROL :: NFATAL_ERR_REPORT_EN [01:01] */
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_NFATAL_ERR_REPORT_EN_MASK 0x00000002
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_NFATAL_ERR_REPORT_EN_SHIFT 1
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_NFATAL_ERR_REPORT_EN_DEFAULT 0

/* PCIE_RC_CFG_PCIE :: DEVICE_STATUS_CONTROL :: CORR_ERR_REPORT_EN [00:00] */
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_CORR_ERR_REPORT_EN_MASK 0x00000001
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_CORR_ERR_REPORT_EN_SHIFT 0
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_CORR_ERR_REPORT_EN_DEFAULT 0

/***************************************************************************
 *LINK_CAPABILITY - link_capability
 ***************************************************************************/
/* PCIE_RC_CFG_PCIE :: LINK_CAPABILITY :: PORT_NUMBER [31:24] */
#define BCHP_PCIE_RC_CFG_PCIE_LINK_CAPABILITY_PORT_NUMBER_MASK     0xff000000
#define BCHP_PCIE_RC_CFG_PCIE_LINK_CAPABILITY_PORT_NUMBER_SHIFT    24
#define BCHP_PCIE_RC_CFG_PCIE_LINK_CAPABILITY_PORT_NUMBER_DEFAULT  0

/* PCIE_RC_CFG_PCIE :: LINK_CAPABILITY :: RESERVED0 [23:22] */
#define BCHP_PCIE_RC_CFG_PCIE_LINK_CAPABILITY_RESERVED0_MASK       0x00c00000
#define BCHP_PCIE_RC_CFG_PCIE_LINK_CAPABILITY_RESERVED0_SHIFT      22

/* PCIE_RC_CFG_PCIE :: LINK_CAPABILITY :: LINK_BW_NOTIFY [21:21] */
#define BCHP_PCIE_RC_CFG_PCIE_LINK_CAPABILITY_LINK_BW_NOTIFY_MASK  0x00200000
#define BCHP_PCIE_RC_CFG_PCIE_LINK_CAPABILITY_LINK_BW_NOTIFY_SHIFT 21
#define BCHP_PCIE_RC_CFG_PCIE_LINK_CAPABILITY_LINK_BW_NOTIFY_DEFAULT 0

/* PCIE_RC_CFG_PCIE :: LINK_CAPABILITY :: DL_ACTIVE_REP [20:20] */
#define BCHP_PCIE_RC_CFG_PCIE_LINK_CAPABILITY_DL_ACTIVE_REP_MASK   0x00100000
#define BCHP_PCIE_RC_CFG_PCIE_LINK_CAPABILITY_DL_ACTIVE_REP_SHIFT  20
#define BCHP_PCIE_RC_CFG_PCIE_LINK_CAPABILITY_DL_ACTIVE_REP_DEFAULT 0

/* PCIE_RC_CFG_PCIE :: LINK_CAPABILITY :: SUR_DWN_ERR_REP [19:19] */
#define BCHP_PCIE_RC_CFG_PCIE_LINK_CAPABILITY_SUR_DWN_ERR_REP_MASK 0x00080000
#define BCHP_PCIE_RC_CFG_PCIE_LINK_CAPABILITY_SUR_DWN_ERR_REP_SHIFT 19
#define BCHP_PCIE_RC_CFG_PCIE_LINK_CAPABILITY_SUR_DWN_ERR_REP_DEFAULT 0

/* PCIE_RC_CFG_PCIE :: LINK_CAPABILITY :: CLK_PWR_MGMT [18:18] */
#define BCHP_PCIE_RC_CFG_PCIE_LINK_CAPABILITY_CLK_PWR_MGMT_MASK    0x00040000
#define BCHP_PCIE_RC_CFG_PCIE_LINK_CAPABILITY_CLK_PWR_MGMT_SHIFT   18
#define BCHP_PCIE_RC_CFG_PCIE_LINK_CAPABILITY_CLK_PWR_MGMT_DEFAULT 1

/* PCIE_RC_CFG_PCIE :: LINK_CAPABILITY :: L1_EXIT_LAT [17:15] */
#define BCHP_PCIE_RC_CFG_PCIE_LINK_CAPABILITY_L1_EXIT_LAT_MASK     0x00038000
#define BCHP_PCIE_RC_CFG_PCIE_LINK_CAPABILITY_L1_EXIT_LAT_SHIFT    15
#define BCHP_PCIE_RC_CFG_PCIE_LINK_CAPABILITY_L1_EXIT_LAT_DEFAULT  2

/* PCIE_RC_CFG_PCIE :: LINK_CAPABILITY :: L0S_EXIT_LAT [14:12] */
#define BCHP_PCIE_RC_CFG_PCIE_LINK_CAPABILITY_L0S_EXIT_LAT_MASK    0x00007000
#define BCHP_PCIE_RC_CFG_PCIE_LINK_CAPABILITY_L0S_EXIT_LAT_SHIFT   12
#define BCHP_PCIE_RC_CFG_PCIE_LINK_CAPABILITY_L0S_EXIT_LAT_DEFAULT 5

/* PCIE_RC_CFG_PCIE :: LINK_CAPABILITY :: ASPM_SUPT [11:10] */
#define BCHP_PCIE_RC_CFG_PCIE_LINK_CAPABILITY_ASPM_SUPT_MASK       0x00000c00
#define BCHP_PCIE_RC_CFG_PCIE_LINK_CAPABILITY_ASPM_SUPT_SHIFT      10
#define BCHP_PCIE_RC_CFG_PCIE_LINK_CAPABILITY_ASPM_SUPT_DEFAULT    3

/* PCIE_RC_CFG_PCIE :: LINK_CAPABILITY :: MAX_LINK_WIDTH [09:04] */
#define BCHP_PCIE_RC_CFG_PCIE_LINK_CAPABILITY_MAX_LINK_WIDTH_MASK  0x000003f0
#define BCHP_PCIE_RC_CFG_PCIE_LINK_CAPABILITY_MAX_LINK_WIDTH_SHIFT 4
#define BCHP_PCIE_RC_CFG_PCIE_LINK_CAPABILITY_MAX_LINK_WIDTH_DEFAULT 1

/* PCIE_RC_CFG_PCIE :: LINK_CAPABILITY :: MAX_LINK_SPEED [03:00] */
#define BCHP_PCIE_RC_CFG_PCIE_LINK_CAPABILITY_MAX_LINK_SPEED_MASK  0x0000000f
#define BCHP_PCIE_RC_CFG_PCIE_LINK_CAPABILITY_MAX_LINK_SPEED_SHIFT 0
#define BCHP_PCIE_RC_CFG_PCIE_LINK_CAPABILITY_MAX_LINK_SPEED_DEFAULT 1

/***************************************************************************
 *LINK_STATUS_CONTROL - link_status_control
 ***************************************************************************/
/* PCIE_RC_CFG_PCIE :: LINK_STATUS_CONTROL :: RESERVED3 [31:30] */
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_RESERVED3_MASK   0xc0000000
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_RESERVED3_SHIFT  30

/* PCIE_RC_CFG_PCIE :: LINK_STATUS_CONTROL :: DL_ACTIVE [29:29] */
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_DL_ACTIVE_MASK   0x20000000
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_DL_ACTIVE_SHIFT  29
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_DL_ACTIVE_DEFAULT 0

/* PCIE_RC_CFG_PCIE :: LINK_STATUS_CONTROL :: SLOT_CLK_CONFIG [28:28] */
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_SLOT_CLK_CONFIG_MASK 0x10000000
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_SLOT_CLK_CONFIG_SHIFT 28
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_SLOT_CLK_CONFIG_DEFAULT 1

/* PCIE_RC_CFG_PCIE :: LINK_STATUS_CONTROL :: LINK_TRAINING [27:27] */
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_LINK_TRAINING_MASK 0x08000000
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_LINK_TRAINING_SHIFT 27
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_LINK_TRAINING_DEFAULT 0

/* PCIE_RC_CFG_PCIE :: LINK_STATUS_CONTROL :: RESERVED2 [26:26] */
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_RESERVED2_MASK   0x04000000
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_RESERVED2_SHIFT  26

/* PCIE_RC_CFG_PCIE :: LINK_STATUS_CONTROL :: NEG_LINK_WIDTH [25:20] */
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_NEG_LINK_WIDTH_MASK 0x03f00000
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_NEG_LINK_WIDTH_SHIFT 20
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_NEG_LINK_WIDTH_DEFAULT 0

/* PCIE_RC_CFG_PCIE :: LINK_STATUS_CONTROL :: NEG_LINK_SPEED [19:16] */
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_NEG_LINK_SPEED_MASK 0x000f0000
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_NEG_LINK_SPEED_SHIFT 16
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_NEG_LINK_SPEED_DEFAULT 0

/* PCIE_RC_CFG_PCIE :: LINK_STATUS_CONTROL :: RESERVED1 [15:12] */
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_RESERVED1_MASK   0x0000f000
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_RESERVED1_SHIFT  12

/* PCIE_RC_CFG_PCIE :: LINK_STATUS_CONTROL :: LINK_BW_INT_EN [11:11] */
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_LINK_BW_INT_EN_MASK 0x00000800
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_LINK_BW_INT_EN_SHIFT 11
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_LINK_BW_INT_EN_DEFAULT 0

/* PCIE_RC_CFG_PCIE :: LINK_STATUS_CONTROL :: LINK_BW_MGMT_INT_EN [10:10] */
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_LINK_BW_MGMT_INT_EN_MASK 0x00000400
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_LINK_BW_MGMT_INT_EN_SHIFT 10
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_LINK_BW_MGMT_INT_EN_DEFAULT 0

/* PCIE_RC_CFG_PCIE :: LINK_STATUS_CONTROL :: HW_AUTO_WIDTH_DIS [09:09] */
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_HW_AUTO_WIDTH_DIS_MASK 0x00000200
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_HW_AUTO_WIDTH_DIS_SHIFT 9
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_HW_AUTO_WIDTH_DIS_DEFAULT 0

/* PCIE_RC_CFG_PCIE :: LINK_STATUS_CONTROL :: EN_CLK_PW_MGMT [08:08] */
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_EN_CLK_PW_MGMT_MASK 0x00000100
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_EN_CLK_PW_MGMT_SHIFT 8
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_EN_CLK_PW_MGMT_DEFAULT 0

/* PCIE_RC_CFG_PCIE :: LINK_STATUS_CONTROL :: LINK_CR_EXT_SYNC [07:07] */
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_LINK_CR_EXT_SYNC_MASK 0x00000080
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_LINK_CR_EXT_SYNC_SHIFT 7
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_LINK_CR_EXT_SYNC_DEFAULT 0

/* PCIE_RC_CFG_PCIE :: LINK_STATUS_CONTROL :: LINK_CR_COMMON_CLK [06:06] */
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_LINK_CR_COMMON_CLK_MASK 0x00000040
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_LINK_CR_COMMON_CLK_SHIFT 6
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_LINK_CR_COMMON_CLK_DEFAULT 0

/* PCIE_RC_CFG_PCIE :: LINK_STATUS_CONTROL :: CFG_PSM_RETRAIN_LINK [05:05] */
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_CFG_PSM_RETRAIN_LINK_MASK 0x00000020
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_CFG_PSM_RETRAIN_LINK_SHIFT 5
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_CFG_PSM_RETRAIN_LINK_DEFAULT 0

/* PCIE_RC_CFG_PCIE :: LINK_STATUS_CONTROL :: CFG_PSM_LINK_DISABLE [04:04] */
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_CFG_PSM_LINK_DISABLE_MASK 0x00000010
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_CFG_PSM_LINK_DISABLE_SHIFT 4
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_CFG_PSM_LINK_DISABLE_DEFAULT 0

/* PCIE_RC_CFG_PCIE :: LINK_STATUS_CONTROL :: RCB [03:03] */
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_RCB_MASK         0x00000008
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_RCB_SHIFT        3
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_RCB_DEFAULT      0

/* PCIE_RC_CFG_PCIE :: LINK_STATUS_CONTROL :: RESERVED0 [02:02] */
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_RESERVED0_MASK   0x00000004
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_RESERVED0_SHIFT  2

/* PCIE_RC_CFG_PCIE :: LINK_STATUS_CONTROL :: ASPM_CTRL [01:00] */
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_ASPM_CTRL_MASK   0x00000003
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_ASPM_CTRL_SHIFT  0
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_ASPM_CTRL_DEFAULT 0

/***************************************************************************
 *SLOT_CAPABILITY - slot_capability
 ***************************************************************************/
/* PCIE_RC_CFG_PCIE :: SLOT_CAPABILITY :: PHYSICAL_SLOT_NUMBER [31:19] */
#define BCHP_PCIE_RC_CFG_PCIE_SLOT_CAPABILITY_PHYSICAL_SLOT_NUMBER_MASK 0xfff80000
#define BCHP_PCIE_RC_CFG_PCIE_SLOT_CAPABILITY_PHYSICAL_SLOT_NUMBER_SHIFT 19
#define BCHP_PCIE_RC_CFG_PCIE_SLOT_CAPABILITY_PHYSICAL_SLOT_NUMBER_DEFAULT 0

/* PCIE_RC_CFG_PCIE :: SLOT_CAPABILITY :: UNUSED [18:17] */
#define BCHP_PCIE_RC_CFG_PCIE_SLOT_CAPABILITY_UNUSED_MASK          0x00060000
#define BCHP_PCIE_RC_CFG_PCIE_SLOT_CAPABILITY_UNUSED_SHIFT         17
#define BCHP_PCIE_RC_CFG_PCIE_SLOT_CAPABILITY_UNUSED_DEFAULT       0

/* PCIE_RC_CFG_PCIE :: SLOT_CAPABILITY :: SLOT_POWER_LIMIT_SCALE [16:15] */
#define BCHP_PCIE_RC_CFG_PCIE_SLOT_CAPABILITY_SLOT_POWER_LIMIT_SCALE_MASK 0x00018000
#define BCHP_PCIE_RC_CFG_PCIE_SLOT_CAPABILITY_SLOT_POWER_LIMIT_SCALE_SHIFT 15
#define BCHP_PCIE_RC_CFG_PCIE_SLOT_CAPABILITY_SLOT_POWER_LIMIT_SCALE_DEFAULT 0

/* PCIE_RC_CFG_PCIE :: SLOT_CAPABILITY :: SLOT_POWER_LIMIT_VALUE [14:07] */
#define BCHP_PCIE_RC_CFG_PCIE_SLOT_CAPABILITY_SLOT_POWER_LIMIT_VALUE_MASK 0x00007f80
#define BCHP_PCIE_RC_CFG_PCIE_SLOT_CAPABILITY_SLOT_POWER_LIMIT_VALUE_SHIFT 7
#define BCHP_PCIE_RC_CFG_PCIE_SLOT_CAPABILITY_SLOT_POWER_LIMIT_VALUE_DEFAULT 0

/* PCIE_RC_CFG_PCIE :: SLOT_CAPABILITY :: UNUSED_2 [06:00] */
#define BCHP_PCIE_RC_CFG_PCIE_SLOT_CAPABILITY_UNUSED_2_MASK        0x0000007f
#define BCHP_PCIE_RC_CFG_PCIE_SLOT_CAPABILITY_UNUSED_2_SHIFT       0
#define BCHP_PCIE_RC_CFG_PCIE_SLOT_CAPABILITY_UNUSED_2_DEFAULT     0

/***************************************************************************
 *SLOT_CONTROL_STATUS - slot_control_status
 ***************************************************************************/
/* PCIE_RC_CFG_PCIE :: SLOT_CONTROL_STATUS :: SLOT_STATUS [31:23] */
#define BCHP_PCIE_RC_CFG_PCIE_SLOT_CONTROL_STATUS_SLOT_STATUS_MASK 0xff800000
#define BCHP_PCIE_RC_CFG_PCIE_SLOT_CONTROL_STATUS_SLOT_STATUS_SHIFT 23
#define BCHP_PCIE_RC_CFG_PCIE_SLOT_CONTROL_STATUS_SLOT_STATUS_DEFAULT 0

/* PCIE_RC_CFG_PCIE :: SLOT_CONTROL_STATUS :: PRESENCE_DETECT [22:22] */
#define BCHP_PCIE_RC_CFG_PCIE_SLOT_CONTROL_STATUS_PRESENCE_DETECT_MASK 0x00400000
#define BCHP_PCIE_RC_CFG_PCIE_SLOT_CONTROL_STATUS_PRESENCE_DETECT_SHIFT 22
#define BCHP_PCIE_RC_CFG_PCIE_SLOT_CONTROL_STATUS_PRESENCE_DETECT_DEFAULT 1

/* PCIE_RC_CFG_PCIE :: SLOT_CONTROL_STATUS :: UNUSED_1 [21:16] */
#define BCHP_PCIE_RC_CFG_PCIE_SLOT_CONTROL_STATUS_UNUSED_1_MASK    0x003f0000
#define BCHP_PCIE_RC_CFG_PCIE_SLOT_CONTROL_STATUS_UNUSED_1_SHIFT   16
#define BCHP_PCIE_RC_CFG_PCIE_SLOT_CONTROL_STATUS_UNUSED_1_DEFAULT 0

/* PCIE_RC_CFG_PCIE :: SLOT_CONTROL_STATUS :: SLOT_CONTROL [15:00] */
#define BCHP_PCIE_RC_CFG_PCIE_SLOT_CONTROL_STATUS_SLOT_CONTROL_MASK 0x0000ffff
#define BCHP_PCIE_RC_CFG_PCIE_SLOT_CONTROL_STATUS_SLOT_CONTROL_SHIFT 0
#define BCHP_PCIE_RC_CFG_PCIE_SLOT_CONTROL_STATUS_SLOT_CONTROL_DEFAULT 0

/***************************************************************************
 *ROOT_CAP_CONTROL - root_cap_control
 ***************************************************************************/
/* PCIE_RC_CFG_PCIE :: ROOT_CAP_CONTROL :: RESERVED1 [31:17] */
#define BCHP_PCIE_RC_CFG_PCIE_ROOT_CAP_CONTROL_RESERVED1_MASK      0xfffe0000
#define BCHP_PCIE_RC_CFG_PCIE_ROOT_CAP_CONTROL_RESERVED1_SHIFT     17

/* PCIE_RC_CFG_PCIE :: ROOT_CAP_CONTROL :: RC_CRS_VISIBILITY [16:16] */
#define BCHP_PCIE_RC_CFG_PCIE_ROOT_CAP_CONTROL_RC_CRS_VISIBILITY_MASK 0x00010000
#define BCHP_PCIE_RC_CFG_PCIE_ROOT_CAP_CONTROL_RC_CRS_VISIBILITY_SHIFT 16
#define BCHP_PCIE_RC_CFG_PCIE_ROOT_CAP_CONTROL_RC_CRS_VISIBILITY_DEFAULT 1

/* PCIE_RC_CFG_PCIE :: ROOT_CAP_CONTROL :: RESERVED0 [15:05] */
#define BCHP_PCIE_RC_CFG_PCIE_ROOT_CAP_CONTROL_RESERVED0_MASK      0x0000ffe0
#define BCHP_PCIE_RC_CFG_PCIE_ROOT_CAP_CONTROL_RESERVED0_SHIFT     5

/* PCIE_RC_CFG_PCIE :: ROOT_CAP_CONTROL :: RC_CRS_EN [04:04] */
#define BCHP_PCIE_RC_CFG_PCIE_ROOT_CAP_CONTROL_RC_CRS_EN_MASK      0x00000010
#define BCHP_PCIE_RC_CFG_PCIE_ROOT_CAP_CONTROL_RC_CRS_EN_SHIFT     4
#define BCHP_PCIE_RC_CFG_PCIE_ROOT_CAP_CONTROL_RC_CRS_EN_DEFAULT   0

/* PCIE_RC_CFG_PCIE :: ROOT_CAP_CONTROL :: RC_PME_INT_EN [03:03] */
#define BCHP_PCIE_RC_CFG_PCIE_ROOT_CAP_CONTROL_RC_PME_INT_EN_MASK  0x00000008
#define BCHP_PCIE_RC_CFG_PCIE_ROOT_CAP_CONTROL_RC_PME_INT_EN_SHIFT 3
#define BCHP_PCIE_RC_CFG_PCIE_ROOT_CAP_CONTROL_RC_PME_INT_EN_DEFAULT 0

/* PCIE_RC_CFG_PCIE :: ROOT_CAP_CONTROL :: RC_FATAL_SERR_EN [02:02] */
#define BCHP_PCIE_RC_CFG_PCIE_ROOT_CAP_CONTROL_RC_FATAL_SERR_EN_MASK 0x00000004
#define BCHP_PCIE_RC_CFG_PCIE_ROOT_CAP_CONTROL_RC_FATAL_SERR_EN_SHIFT 2
#define BCHP_PCIE_RC_CFG_PCIE_ROOT_CAP_CONTROL_RC_FATAL_SERR_EN_DEFAULT 0

/* PCIE_RC_CFG_PCIE :: ROOT_CAP_CONTROL :: RC_NONFATAL_SERR_EN [01:01] */
#define BCHP_PCIE_RC_CFG_PCIE_ROOT_CAP_CONTROL_RC_NONFATAL_SERR_EN_MASK 0x00000002
#define BCHP_PCIE_RC_CFG_PCIE_ROOT_CAP_CONTROL_RC_NONFATAL_SERR_EN_SHIFT 1
#define BCHP_PCIE_RC_CFG_PCIE_ROOT_CAP_CONTROL_RC_NONFATAL_SERR_EN_DEFAULT 0

/* PCIE_RC_CFG_PCIE :: ROOT_CAP_CONTROL :: RC_CORR_SERR_EN [00:00] */
#define BCHP_PCIE_RC_CFG_PCIE_ROOT_CAP_CONTROL_RC_CORR_SERR_EN_MASK 0x00000001
#define BCHP_PCIE_RC_CFG_PCIE_ROOT_CAP_CONTROL_RC_CORR_SERR_EN_SHIFT 0
#define BCHP_PCIE_RC_CFG_PCIE_ROOT_CAP_CONTROL_RC_CORR_SERR_EN_DEFAULT 0

/***************************************************************************
 *ROOT_STATUS - root_status
 ***************************************************************************/
/* PCIE_RC_CFG_PCIE :: ROOT_STATUS :: RESERVED0 [31:18] */
#define BCHP_PCIE_RC_CFG_PCIE_ROOT_STATUS_RESERVED0_MASK           0xfffc0000
#define BCHP_PCIE_RC_CFG_PCIE_ROOT_STATUS_RESERVED0_SHIFT          18

/* PCIE_RC_CFG_PCIE :: ROOT_STATUS :: RC_PME_PENDING [17:17] */
#define BCHP_PCIE_RC_CFG_PCIE_ROOT_STATUS_RC_PME_PENDING_MASK      0x00020000
#define BCHP_PCIE_RC_CFG_PCIE_ROOT_STATUS_RC_PME_PENDING_SHIFT     17
#define BCHP_PCIE_RC_CFG_PCIE_ROOT_STATUS_RC_PME_PENDING_DEFAULT   0

/* PCIE_RC_CFG_PCIE :: ROOT_STATUS :: RC_PME_STATUS [16:16] */
#define BCHP_PCIE_RC_CFG_PCIE_ROOT_STATUS_RC_PME_STATUS_MASK       0x00010000
#define BCHP_PCIE_RC_CFG_PCIE_ROOT_STATUS_RC_PME_STATUS_SHIFT      16
#define BCHP_PCIE_RC_CFG_PCIE_ROOT_STATUS_RC_PME_STATUS_DEFAULT    0

/* PCIE_RC_CFG_PCIE :: ROOT_STATUS :: RC_PME_REQ_ID [15:00] */
#define BCHP_PCIE_RC_CFG_PCIE_ROOT_STATUS_RC_PME_REQ_ID_MASK       0x0000ffff
#define BCHP_PCIE_RC_CFG_PCIE_ROOT_STATUS_RC_PME_REQ_ID_SHIFT      0
#define BCHP_PCIE_RC_CFG_PCIE_ROOT_STATUS_RC_PME_REQ_ID_DEFAULT    0

/***************************************************************************
 *DEVICE_CAPABILITY_2 - device_capability_2
 ***************************************************************************/
/* PCIE_RC_CFG_PCIE :: DEVICE_CAPABILITY_2 :: RESERVED0 [31:05] */
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_CAPABILITY_2_RESERVED0_MASK   0xffffffe0
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_CAPABILITY_2_RESERVED0_SHIFT  5

/* PCIE_RC_CFG_PCIE :: DEVICE_CAPABILITY_2 :: CMPL_TIMEOUT_DISABL_SUPPORTED [04:04] */
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_CAPABILITY_2_CMPL_TIMEOUT_DISABL_SUPPORTED_MASK 0x00000010
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_CAPABILITY_2_CMPL_TIMEOUT_DISABL_SUPPORTED_SHIFT 4
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_CAPABILITY_2_CMPL_TIMEOUT_DISABL_SUPPORTED_DEFAULT 1

/* PCIE_RC_CFG_PCIE :: DEVICE_CAPABILITY_2 :: CMPL_TIMEOUT_RANGES_SUPPORTED [03:00] */
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_CAPABILITY_2_CMPL_TIMEOUT_RANGES_SUPPORTED_MASK 0x0000000f
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_CAPABILITY_2_CMPL_TIMEOUT_RANGES_SUPPORTED_SHIFT 0
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_CAPABILITY_2_CMPL_TIMEOUT_RANGES_SUPPORTED_DEFAULT 15

/***************************************************************************
 *DEVICE_STATUS_CONTROL_2 - device_status_control_2
 ***************************************************************************/
/* PCIE_RC_CFG_PCIE :: DEVICE_STATUS_CONTROL_2 :: DEVICE_STATUS_2 [31:16] */
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_2_DEVICE_STATUS_2_MASK 0xffff0000
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_2_DEVICE_STATUS_2_SHIFT 16
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_2_DEVICE_STATUS_2_DEFAULT 0

/* PCIE_RC_CFG_PCIE :: DEVICE_STATUS_CONTROL_2 :: RESERVED0 [15:05] */
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_2_RESERVED0_MASK 0x0000ffe0
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_2_RESERVED0_SHIFT 5

/* PCIE_RC_CFG_PCIE :: DEVICE_STATUS_CONTROL_2 :: CMPL_TIMEOUT_DISABLE [04:04] */
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_2_CMPL_TIMEOUT_DISABLE_MASK 0x00000010
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_2_CMPL_TIMEOUT_DISABLE_SHIFT 4
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_2_CMPL_TIMEOUT_DISABLE_DEFAULT 0

/* PCIE_RC_CFG_PCIE :: DEVICE_STATUS_CONTROL_2 :: CMPL_TIMEOUT_VALUE [03:00] */
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_2_CMPL_TIMEOUT_VALUE_MASK 0x0000000f
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_2_CMPL_TIMEOUT_VALUE_SHIFT 0
#define BCHP_PCIE_RC_CFG_PCIE_DEVICE_STATUS_CONTROL_2_CMPL_TIMEOUT_VALUE_DEFAULT 0

/***************************************************************************
 *LINK_CAPABILITY_2 - link_capability_2
 ***************************************************************************/
/* PCIE_RC_CFG_PCIE :: LINK_CAPABILITY_2 :: LINK_CAPABILITY_2 [31:00] */
#define BCHP_PCIE_RC_CFG_PCIE_LINK_CAPABILITY_2_LINK_CAPABILITY_2_MASK 0xffffffff
#define BCHP_PCIE_RC_CFG_PCIE_LINK_CAPABILITY_2_LINK_CAPABILITY_2_SHIFT 0
#define BCHP_PCIE_RC_CFG_PCIE_LINK_CAPABILITY_2_LINK_CAPABILITY_2_DEFAULT 0

/***************************************************************************
 *LINK_STATUS_CONTROL_2 - link_status_control_2
 ***************************************************************************/
/* PCIE_RC_CFG_PCIE :: LINK_STATUS_CONTROL_2 :: LINK_STATUS_2 [31:17] */
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_2_LINK_STATUS_2_MASK 0xfffe0000
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_2_LINK_STATUS_2_SHIFT 17
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_2_LINK_STATUS_2_DEFAULT 0

/* PCIE_RC_CFG_PCIE :: LINK_STATUS_CONTROL_2 :: CURR_DEEMPH_LEVEL [16:16] */
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_2_CURR_DEEMPH_LEVEL_MASK 0x00010000
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_2_CURR_DEEMPH_LEVEL_SHIFT 16
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_2_CURR_DEEMPH_LEVEL_DEFAULT 0

/* PCIE_RC_CFG_PCIE :: LINK_STATUS_CONTROL_2 :: RESERVED0 [15:13] */
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_2_RESERVED0_MASK 0x0000e000
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_2_RESERVED0_SHIFT 13

/* PCIE_RC_CFG_PCIE :: LINK_STATUS_CONTROL_2 :: CFG_COMPLIANCE_DEEMPH [12:12] */
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_2_CFG_COMPLIANCE_DEEMPH_MASK 0x00001000
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_2_CFG_COMPLIANCE_DEEMPH_SHIFT 12
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_2_CFG_COMPLIANCE_DEEMPH_DEFAULT 0

/* PCIE_RC_CFG_PCIE :: LINK_STATUS_CONTROL_2 :: CFG_COMPLIANCE_SOS [11:11] */
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_2_CFG_COMPLIANCE_SOS_MASK 0x00000800
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_2_CFG_COMPLIANCE_SOS_SHIFT 11
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_2_CFG_COMPLIANCE_SOS_DEFAULT 0

/* PCIE_RC_CFG_PCIE :: LINK_STATUS_CONTROL_2 :: CFG_ENTER_MOD_COMPLIANCE [10:10] */
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_2_CFG_ENTER_MOD_COMPLIANCE_MASK 0x00000400
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_2_CFG_ENTER_MOD_COMPLIANCE_SHIFT 10
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_2_CFG_ENTER_MOD_COMPLIANCE_DEFAULT 0

/* PCIE_RC_CFG_PCIE :: LINK_STATUS_CONTROL_2 :: CFG_TX_MARGIN [09:07] */
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_2_CFG_TX_MARGIN_MASK 0x00000380
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_2_CFG_TX_MARGIN_SHIFT 7
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_2_CFG_TX_MARGIN_DEFAULT 0

/* PCIE_RC_CFG_PCIE :: LINK_STATUS_CONTROL_2 :: SEL_DEEMPHASIS [06:06] */
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_2_SEL_DEEMPHASIS_MASK 0x00000040
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_2_SEL_DEEMPHASIS_SHIFT 6
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_2_SEL_DEEMPHASIS_DEFAULT 0

/* PCIE_RC_CFG_PCIE :: LINK_STATUS_CONTROL_2 :: HW_AUTO_SPEED_DISABLE [05:05] */
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_2_HW_AUTO_SPEED_DISABLE_MASK 0x00000020
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_2_HW_AUTO_SPEED_DISABLE_SHIFT 5
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_2_HW_AUTO_SPEED_DISABLE_DEFAULT 0

/* PCIE_RC_CFG_PCIE :: LINK_STATUS_CONTROL_2 :: ENTER_COMPLIANCE [04:04] */
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_2_ENTER_COMPLIANCE_MASK 0x00000010
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_2_ENTER_COMPLIANCE_SHIFT 4
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_2_ENTER_COMPLIANCE_DEFAULT 0

/* PCIE_RC_CFG_PCIE :: LINK_STATUS_CONTROL_2 :: TARGET_LINK_SPEED [03:00] */
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_2_TARGET_LINK_SPEED_MASK 0x0000000f
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_2_TARGET_LINK_SPEED_SHIFT 0
#define BCHP_PCIE_RC_CFG_PCIE_LINK_STATUS_CONTROL_2_TARGET_LINK_SPEED_DEFAULT 1

/***************************************************************************
 *SLOT_CAPABILITY_2 - slot_capability_2
 ***************************************************************************/
/* PCIE_RC_CFG_PCIE :: SLOT_CAPABILITY_2 :: SLOT_CAPABILITY_2 [31:00] */
#define BCHP_PCIE_RC_CFG_PCIE_SLOT_CAPABILITY_2_SLOT_CAPABILITY_2_MASK 0xffffffff
#define BCHP_PCIE_RC_CFG_PCIE_SLOT_CAPABILITY_2_SLOT_CAPABILITY_2_SHIFT 0
#define BCHP_PCIE_RC_CFG_PCIE_SLOT_CAPABILITY_2_SLOT_CAPABILITY_2_DEFAULT 0

/***************************************************************************
 *SLOT_STATUS_CONTROL_2 - slot_status_control_2
 ***************************************************************************/
/* PCIE_RC_CFG_PCIE :: SLOT_STATUS_CONTROL_2 :: SLOT_STATUS_2 [31:16] */
#define BCHP_PCIE_RC_CFG_PCIE_SLOT_STATUS_CONTROL_2_SLOT_STATUS_2_MASK 0xffff0000
#define BCHP_PCIE_RC_CFG_PCIE_SLOT_STATUS_CONTROL_2_SLOT_STATUS_2_SHIFT 16
#define BCHP_PCIE_RC_CFG_PCIE_SLOT_STATUS_CONTROL_2_SLOT_STATUS_2_DEFAULT 0

/* PCIE_RC_CFG_PCIE :: SLOT_STATUS_CONTROL_2 :: SLOT_CONTROL_2 [15:00] */
#define BCHP_PCIE_RC_CFG_PCIE_SLOT_STATUS_CONTROL_2_SLOT_CONTROL_2_MASK 0x0000ffff
#define BCHP_PCIE_RC_CFG_PCIE_SLOT_STATUS_CONTROL_2_SLOT_CONTROL_2_SHIFT 0
#define BCHP_PCIE_RC_CFG_PCIE_SLOT_STATUS_CONTROL_2_SLOT_CONTROL_2_DEFAULT 0

#endif /* #ifndef BCHP_PCIE_RC_CFG_PCIE_H__ */

/* End of File */
