157 lines
5.1 KiB
C
157 lines
5.1 KiB
C
/*
|
|
* Copyright 2012 Tilera Corporation. All Rights Reserved.
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public License
|
|
* as published by the Free Software Foundation, version 2.
|
|
*
|
|
* 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, GOOD TITLE or
|
|
* NON INFRINGEMENT. See the GNU General Public License for
|
|
* more details.
|
|
*/
|
|
|
|
/* Machine-generated file; do not edit. */
|
|
|
|
#ifndef __ARCH_TRIO_PCIE_RC_H__
|
|
#define __ARCH_TRIO_PCIE_RC_H__
|
|
|
|
#include <arch/abi.h>
|
|
#include <arch/trio_pcie_rc_def.h>
|
|
|
|
#ifndef __ASSEMBLER__
|
|
|
|
/* Device Capabilities Register. */
|
|
|
|
__extension__
|
|
typedef union
|
|
{
|
|
struct
|
|
{
|
|
#ifndef __BIG_ENDIAN__
|
|
/*
|
|
* Max_Payload_Size Supported, writablethrough the MAC_STANDARD interface
|
|
*/
|
|
uint_reg_t mps_sup : 3;
|
|
/*
|
|
* This field is writable through the MAC_STANDARD interface. However,
|
|
* Phantom Function is not supported. Therefore, the application must
|
|
* not write any value other than 0x0 to this field.
|
|
*/
|
|
uint_reg_t phantom_function_supported : 2;
|
|
/* This bit is writable through the MAC_STANDARD interface. */
|
|
uint_reg_t ext_tag_field_supported : 1;
|
|
/* Reserved. */
|
|
uint_reg_t __reserved_0 : 3;
|
|
/* Endpoint L1 Acceptable Latency Must be 0x0 for non-Endpoint devices. */
|
|
uint_reg_t l1_lat : 3;
|
|
/*
|
|
* Undefined since PCI Express 1.1 (Was Attention Button Present for PCI
|
|
* Express 1.0a)
|
|
*/
|
|
uint_reg_t r1 : 1;
|
|
/*
|
|
* Undefined since PCI Express 1.1 (Was Attention Indicator Present for
|
|
* PCI Express 1.0a)
|
|
*/
|
|
uint_reg_t r2 : 1;
|
|
/*
|
|
* Undefined since PCI Express 1.1 (Was Power Indicator Present for PCI
|
|
* Express 1.0a)
|
|
*/
|
|
uint_reg_t r3 : 1;
|
|
/*
|
|
* Role-Based Error Reporting, writable through the MAC_STANDARD
|
|
* interface. Required to be set for device compliant to 1.1 spec and
|
|
* later.
|
|
*/
|
|
uint_reg_t rer : 1;
|
|
/* Reserved. */
|
|
uint_reg_t __reserved_1 : 2;
|
|
/* Captured Slot Power Limit Value Upstream port only. */
|
|
uint_reg_t slot_pwr_lim : 8;
|
|
/* Captured Slot Power Limit Scale Upstream port only. */
|
|
uint_reg_t slot_pwr_scale : 2;
|
|
/* Reserved. */
|
|
uint_reg_t __reserved_2 : 4;
|
|
/* Endpoint L0s Acceptable LatencyMust be 0x0 for non-Endpoint devices. */
|
|
uint_reg_t l0s_lat : 1;
|
|
/* Reserved. */
|
|
uint_reg_t __reserved_3 : 31;
|
|
#else /* __BIG_ENDIAN__ */
|
|
uint_reg_t __reserved_3 : 31;
|
|
uint_reg_t l0s_lat : 1;
|
|
uint_reg_t __reserved_2 : 4;
|
|
uint_reg_t slot_pwr_scale : 2;
|
|
uint_reg_t slot_pwr_lim : 8;
|
|
uint_reg_t __reserved_1 : 2;
|
|
uint_reg_t rer : 1;
|
|
uint_reg_t r3 : 1;
|
|
uint_reg_t r2 : 1;
|
|
uint_reg_t r1 : 1;
|
|
uint_reg_t l1_lat : 3;
|
|
uint_reg_t __reserved_0 : 3;
|
|
uint_reg_t ext_tag_field_supported : 1;
|
|
uint_reg_t phantom_function_supported : 2;
|
|
uint_reg_t mps_sup : 3;
|
|
#endif
|
|
};
|
|
|
|
uint_reg_t word;
|
|
} TRIO_PCIE_RC_DEVICE_CAP_t;
|
|
|
|
/* Device Control Register. */
|
|
|
|
__extension__
|
|
typedef union
|
|
{
|
|
struct
|
|
{
|
|
#ifndef __BIG_ENDIAN__
|
|
/* Correctable Error Reporting Enable */
|
|
uint_reg_t cor_err_ena : 1;
|
|
/* Non-Fatal Error Reporting Enable */
|
|
uint_reg_t nf_err_ena : 1;
|
|
/* Fatal Error Reporting Enable */
|
|
uint_reg_t fatal_err_ena : 1;
|
|
/* Unsupported Request Reporting Enable */
|
|
uint_reg_t ur_ena : 1;
|
|
/* Relaxed orderring enable */
|
|
uint_reg_t ro_ena : 1;
|
|
/* Max Payload Size */
|
|
uint_reg_t max_payload_size : 3;
|
|
/* Extended Tag Field Enable */
|
|
uint_reg_t ext_tag : 1;
|
|
/* Phantom Function Enable */
|
|
uint_reg_t ph_fn_ena : 1;
|
|
/* AUX Power PM Enable */
|
|
uint_reg_t aux_pm_ena : 1;
|
|
/* Enable NoSnoop */
|
|
uint_reg_t no_snoop : 1;
|
|
/* Max read request size */
|
|
uint_reg_t max_read_req_sz : 3;
|
|
/* Reserved. */
|
|
uint_reg_t __reserved : 49;
|
|
#else /* __BIG_ENDIAN__ */
|
|
uint_reg_t __reserved : 49;
|
|
uint_reg_t max_read_req_sz : 3;
|
|
uint_reg_t no_snoop : 1;
|
|
uint_reg_t aux_pm_ena : 1;
|
|
uint_reg_t ph_fn_ena : 1;
|
|
uint_reg_t ext_tag : 1;
|
|
uint_reg_t max_payload_size : 3;
|
|
uint_reg_t ro_ena : 1;
|
|
uint_reg_t ur_ena : 1;
|
|
uint_reg_t fatal_err_ena : 1;
|
|
uint_reg_t nf_err_ena : 1;
|
|
uint_reg_t cor_err_ena : 1;
|
|
#endif
|
|
};
|
|
|
|
uint_reg_t word;
|
|
} TRIO_PCIE_RC_DEVICE_CONTROL_t;
|
|
#endif /* !defined(__ASSEMBLER__) */
|
|
|
|
#endif /* !defined(__ARCH_TRIO_PCIE_RC_H__) */
|