#ifndef _PMC8001_REG_H_
#define _PMC8001_REG_H_
#include <linux/types.h>
#include <scsi/libsas.h>
#define OPC_INB_ECHO …
#define OPC_INB_PHYSTART …
#define OPC_INB_PHYSTOP …
#define OPC_INB_SSPINIIOSTART …
#define OPC_INB_SSPINITMSTART …
#define OPC_INB_SSPINIEXTIOSTART …
#define OPC_INB_DEV_HANDLE_ACCEPT …
#define OPC_INB_SSPTGTIOSTART …
#define OPC_INB_SSPTGTRSPSTART …
#define OPC_INB_SSPINIEDCIOSTART …
#define OPC_INB_SSPINIEXTEDCIOSTART …
#define OPC_INB_SSPTGTEDCIOSTART …
#define OPC_INB_SSP_ABORT …
#define OPC_INB_DEREG_DEV_HANDLE …
#define OPC_INB_GET_DEV_HANDLE …
#define OPC_INB_SMP_REQUEST …
#define OPC_INB_SMP_RESPONSE …
#define OPC_INB_SMP_ABORT …
#define OPC_INB_REG_DEV …
#define OPC_INB_SATA_HOST_OPSTART …
#define OPC_INB_SATA_ABORT …
#define OPC_INB_LOCAL_PHY_CONTROL …
#define OPC_INB_GET_DEV_INFO …
#define OPC_INB_FW_FLASH_UPDATE …
#define OPC_INB_GPIO …
#define OPC_INB_SAS_DIAG_MODE_START_END …
#define OPC_INB_SAS_DIAG_EXECUTE …
#define OPC_INB_SAS_HW_EVENT_ACK …
#define OPC_INB_GET_TIME_STAMP …
#define OPC_INB_PORT_CONTROL …
#define OPC_INB_GET_NVMD_DATA …
#define OPC_INB_SET_NVMD_DATA …
#define OPC_INB_SET_DEVICE_STATE …
#define OPC_INB_GET_DEVICE_STATE …
#define OPC_INB_SET_DEV_INFO …
#define OPC_INB_SAS_RE_INITIALIZE …
#define OPC_OUB_ECHO …
#define OPC_OUB_HW_EVENT …
#define OPC_OUB_SSP_COMP …
#define OPC_OUB_SMP_COMP …
#define OPC_OUB_LOCAL_PHY_CNTRL …
#define OPC_OUB_DEV_REGIST …
#define OPC_OUB_DEREG_DEV …
#define OPC_OUB_GET_DEV_HANDLE …
#define OPC_OUB_SATA_COMP …
#define OPC_OUB_SATA_EVENT …
#define OPC_OUB_SSP_EVENT …
#define OPC_OUB_DEV_HANDLE_ARRIV …
#define OPC_OUB_SMP_RECV_EVENT …
#define OPC_OUB_SSP_RECV_EVENT …
#define OPC_OUB_DEV_INFO …
#define OPC_OUB_FW_FLASH_UPDATE …
#define OPC_OUB_GPIO_RESPONSE …
#define OPC_OUB_GPIO_EVENT …
#define OPC_OUB_GENERAL_EVENT …
#define OPC_OUB_SSP_ABORT_RSP …
#define OPC_OUB_SATA_ABORT_RSP …
#define OPC_OUB_SAS_DIAG_MODE_START_END …
#define OPC_OUB_SAS_DIAG_EXECUTE …
#define OPC_OUB_GET_TIME_STAMP …
#define OPC_OUB_SAS_HW_EVENT_ACK …
#define OPC_OUB_PORT_CONTROL …
#define OPC_OUB_SKIP_ENTRY …
#define OPC_OUB_SMP_ABORT_RSP …
#define OPC_OUB_GET_NVMD_DATA …
#define OPC_OUB_SET_NVMD_DATA …
#define OPC_OUB_DEVICE_HANDLE_REMOVAL …
#define OPC_OUB_SET_DEVICE_STATE …
#define OPC_OUB_GET_DEVICE_STATE …
#define OPC_OUB_SET_DEV_INFO …
#define OPC_OUB_SAS_RE_INITIALIZE …
#define SPINHOLD_DISABLE …
#define SPINHOLD_ENABLE …
#define LINKMODE_SAS …
#define LINKMODE_DSATA …
#define LINKMODE_AUTO …
#define LINKRATE_15 …
#define LINKRATE_30 …
#define LINKRATE_60 …
#define GSM_SM_BASE …
struct mpi_msg_hdr{ … } __attribute__((packed, aligned …));
struct phy_start_req { … } __attribute__((packed, aligned …));
struct phy_stop_req { … } __attribute__((packed, aligned …));
struct set_dev_bits_fis { … } __attribute__ ((packed));
struct pio_setup_fis { … } __attribute__ ((packed));
struct sata_completion_resp { … } __attribute__((packed, aligned …));
struct hw_event_resp { … } __attribute__((packed, aligned …));
struct reg_dev_req { … } __attribute__((packed, aligned …));
struct dereg_dev_req { … } __attribute__((packed, aligned …));
struct dev_reg_resp { … } __attribute__((packed, aligned …));
struct local_phy_ctl_req { … } __attribute__((packed, aligned …));
struct local_phy_ctl_resp { … } __attribute__((packed, aligned …));
#define OP_BITS …
#define ID_BITS …
struct port_ctl_req { … } __attribute__((packed, aligned …));
struct hw_event_ack_req { … } __attribute__((packed, aligned …));
struct ssp_completion_resp { … } __attribute__((packed, aligned …));
#define SSP_RESCV_BIT …
struct sata_event_resp { … } __attribute__((packed, aligned …));
struct ssp_event_resp { … } __attribute__((packed, aligned …));
struct general_event_resp { … } __attribute__((packed, aligned …));
#define GENERAL_EVENT_PAYLOAD …
#define OPCODE_BITS …
struct smp_req { … } __attribute__((packed, aligned …));
struct smp_completion_resp { … } __attribute__((packed, aligned …));
struct task_abort_req { … } __attribute__((packed, aligned …));
struct task_abort_resp { … } __attribute__((packed, aligned …));
struct sas_diag_start_end_req { … } __attribute__((packed, aligned …));
struct sas_diag_execute_req{ … } __attribute__((packed, aligned …));
#define SAS_DIAG_PARAM_BYTES …
struct set_dev_state_req { … } __attribute__((packed, aligned …));
struct sas_re_initialization_req { … } __attribute__((packed, aligned …));
struct sata_start_req { … } __attribute__((packed, aligned …));
struct ssp_ini_tm_start_req { … } __attribute__((packed, aligned …));
struct ssp_info_unit { … } __attribute__((packed, aligned …));
struct ssp_ini_io_start_req { … } __attribute__((packed, aligned …));
struct fw_flash_Update_req { … } __attribute__((packed, aligned …));
#define FWFLASH_IOMB_RESERVED_LEN …
struct fw_flash_Update_resp { … } __attribute__((packed, aligned …));
struct get_nvm_data_req { … } __attribute__((packed, aligned …));
struct set_nvm_data_req { … } __attribute__((packed, aligned …));
#define TWI_DEVICE …
#define C_SEEPROM …
#define VPD_FLASH …
#define AAP1_RDUMP …
#define IOP_RDUMP …
#define EXPAN_ROM …
#define IPMode …
#define NVMD_TYPE …
#define NVMD_STAT …
#define NVMD_LEN …
struct get_nvm_data_resp { … } __attribute__((packed, aligned …));
struct sas_diag_start_end_resp { … } __attribute__((packed, aligned …));
struct sas_diag_execute_resp { … } __attribute__((packed, aligned …));
struct set_dev_state_resp { … } __attribute__((packed, aligned …));
#define NDS_BITS …
#define PDS_BITS …
#define HW_EVENT_RESET_START …
#define HW_EVENT_CHIP_RESET_COMPLETE …
#define HW_EVENT_PHY_STOP_STATUS …
#define HW_EVENT_SAS_PHY_UP …
#define HW_EVENT_SATA_PHY_UP …
#define HW_EVENT_SATA_SPINUP_HOLD …
#define HW_EVENT_PHY_DOWN …
#define HW_EVENT_PORT_INVALID …
#define HW_EVENT_BROADCAST_CHANGE …
#define HW_EVENT_PHY_ERROR …
#define HW_EVENT_BROADCAST_SES …
#define HW_EVENT_INBOUND_CRC_ERROR …
#define HW_EVENT_HARD_RESET_RECEIVED …
#define HW_EVENT_MALFUNCTION …
#define HW_EVENT_ID_FRAME_TIMEOUT …
#define HW_EVENT_BROADCAST_EXP …
#define HW_EVENT_PHY_START_STATUS …
#define HW_EVENT_LINK_ERR_INVALID_DWORD …
#define HW_EVENT_LINK_ERR_DISPARITY_ERROR …
#define HW_EVENT_LINK_ERR_CODE_VIOLATION …
#define HW_EVENT_LINK_ERR_LOSS_OF_DWORD_SYNCH …
#define HW_EVENT_LINK_ERR_PHY_RESET_FAILED …
#define HW_EVENT_PORT_RECOVERY_TIMER_TMO …
#define HW_EVENT_PORT_RECOVER …
#define HW_EVENT_PORT_RESET_TIMER_TMO …
#define HW_EVENT_PORT_RESET_COMPLETE …
#define EVENT_BROADCAST_ASYNCH_EVENT …
#define PORT_NOT_ESTABLISHED …
#define PORT_VALID …
#define PORT_LOSTCOMM …
#define PORT_IN_RESET …
#define PORT_INVALID …
#define IO_SUCCESS …
#define IO_ABORTED …
#define IO_OVERFLOW …
#define IO_UNDERFLOW …
#define IO_FAILED …
#define IO_ABORT_RESET …
#define IO_NOT_VALID …
#define IO_NO_DEVICE …
#define IO_ILLEGAL_PARAMETER …
#define IO_LINK_FAILURE …
#define IO_PROG_ERROR …
#define IO_EDC_IN_ERROR …
#define IO_EDC_OUT_ERROR …
#define IO_ERROR_HW_TIMEOUT …
#define IO_XFER_ERROR_BREAK …
#define IO_XFER_ERROR_PHY_NOT_READY …
#define IO_OPEN_CNX_ERROR_PROTOCOL_NOT_SUPPORTED …
#define IO_OPEN_CNX_ERROR_ZONE_VIOLATION …
#define IO_OPEN_CNX_ERROR_BREAK …
#define IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS …
#define IO_OPEN_CNX_ERROR_BAD_DESTINATION …
#define IO_OPEN_CNX_ERROR_CONNECTION_RATE_NOT_SUPPORTED …
#define IO_OPEN_CNX_ERROR_STP_RESOURCES_BUSY …
#define IO_OPEN_CNX_ERROR_WRONG_DESTINATION …
#define IO_OPEN_CNX_ERROR_UNKNOWN_ERROR …
#define IO_XFER_ERROR_NAK_RECEIVED …
#define IO_XFER_ERROR_ACK_NAK_TIMEOUT …
#define IO_XFER_ERROR_PEER_ABORTED …
#define IO_XFER_ERROR_RX_FRAME …
#define IO_XFER_ERROR_DMA …
#define IO_XFER_ERROR_CREDIT_TIMEOUT …
#define IO_XFER_ERROR_SATA_LINK_TIMEOUT …
#define IO_XFER_ERROR_SATA …
#define IO_XFER_ERROR_ABORTED_DUE_TO_SRST …
#define IO_XFER_ERROR_REJECTED_NCQ_MODE …
#define IO_XFER_ERROR_ABORTED_NCQ_MODE …
#define IO_XFER_OPEN_RETRY_TIMEOUT …
#define IO_XFER_SMP_RESP_CONNECTION_ERROR …
#define IO_XFER_ERROR_UNEXPECTED_PHASE …
#define IO_XFER_ERROR_XFER_RDY_OVERRUN …
#define IO_XFER_ERROR_XFER_RDY_NOT_EXPECTED …
#define IO_XFER_ERROR_CMD_ISSUE_ACK_NAK_TIMEOUT …
#define IO_XFER_ERROR_CMD_ISSUE_BREAK_BEFORE_ACK_NAK …
#define IO_XFER_ERROR_CMD_ISSUE_PHY_DOWN_BEFORE_ACK_NAK …
#define IO_XFER_ERROR_OFFSET_MISMATCH …
#define IO_XFER_ERROR_XFER_ZERO_DATA_LEN …
#define IO_XFER_CMD_FRAME_ISSUED …
#define IO_ERROR_INTERNAL_SMP_RESOURCE …
#define IO_PORT_IN_RESET …
#define IO_DS_NON_OPERATIONAL …
#define IO_DS_IN_RECOVERY …
#define IO_TM_TAG_NOT_FOUND …
#define IO_XFER_PIO_SETUP_ERROR …
#define IO_SSP_EXT_IU_ZERO_LEN_ERROR …
#define IO_DS_IN_ERROR …
#define IO_OPEN_CNX_ERROR_HW_RESOURCE_BUSY …
#define IO_ABORT_IN_PROGRESS …
#define IO_ABORT_DELAYED …
#define IO_INVALID_LENGTH …
#define IO_FATAL_ERROR …
#define IO_ERROR_UNKNOWN_GENERIC …
#define SPC_MSGU_CFG_TABLE_UPDATE …
#define SPC_MSGU_CFG_TABLE_RESET …
#define SPC_MSGU_CFG_TABLE_FREEZE …
#define SPC_MSGU_CFG_TABLE_UNFREEZE …
#define MSGU_IBDB_SET …
#define MSGU_HOST_INT_STATUS …
#define MSGU_HOST_INT_MASK …
#define MSGU_IOPIB_INT_STATUS …
#define MSGU_IOPIB_INT_MASK …
#define MSGU_IBDB_CLEAR …
#define MSGU_MSGU_CONTROL …
#define MSGU_ODR …
#define MSGU_ODCR …
#define MSGU_SCRATCH_PAD_0 …
#define MSGU_SCRATCH_PAD_1 …
#define MSGU_SCRATCH_PAD_2 …
#define MSGU_SCRATCH_PAD_3 …
#define MSGU_HOST_SCRATCH_PAD_0 …
#define MSGU_HOST_SCRATCH_PAD_1 …
#define MSGU_HOST_SCRATCH_PAD_2 …
#define MSGU_HOST_SCRATCH_PAD_3 …
#define MSGU_HOST_SCRATCH_PAD_4 …
#define MSGU_HOST_SCRATCH_PAD_5 …
#define MSGU_HOST_SCRATCH_PAD_6 …
#define MSGU_HOST_SCRATCH_PAD_7 …
#define MSGU_ODMR …
#define ODMR_MASK_ALL …
#define ODMR_CLEAR_ALL …
#define ODCR_CLEAR_ALL …
#define MSIX_TABLE_OFFSET …
#define MSIX_TABLE_ELEMENT_SIZE …
#define MSIX_INTERRUPT_CONTROL_OFFSET …
#define MSIX_TABLE_BASE …
#define MSIX_INTERRUPT_DISABLE …
#define MSIX_INTERRUPT_ENABLE …
#define SCRATCH_PAD1_POR …
#define SCRATCH_PAD1_SFR …
#define SCRATCH_PAD1_ERR …
#define SCRATCH_PAD1_RDY …
#define SCRATCH_PAD1_RST …
#define SCRATCH_PAD1_AAP1RDY_RST …
#define SCRATCH_PAD1_STATE_MASK …
#define SCRATCH_PAD1_RESERVED …
#define SCRATCH_PAD2_POR …
#define SCRATCH_PAD2_SFR …
#define SCRATCH_PAD2_ERR …
#define SCRATCH_PAD2_RDY …
#define SCRATCH_PAD2_FWRDY_RST …
#define SCRATCH_PAD2_IOPRDY_RST …
#define SCRATCH_PAD2_STATE_MASK …
#define SCRATCH_PAD2_RESERVED …
#define SCRATCH_PAD_ERROR_MASK …
#define SCRATCH_PAD_STATE_MASK …
#define MAIN_SIGNATURE_OFFSET …
#define MAIN_INTERFACE_REVISION …
#define MAIN_FW_REVISION …
#define MAIN_MAX_OUTSTANDING_IO_OFFSET …
#define MAIN_MAX_SGL_OFFSET …
#define MAIN_CNTRL_CAP_OFFSET …
#define MAIN_GST_OFFSET …
#define MAIN_IBQ_OFFSET …
#define MAIN_OBQ_OFFSET …
#define MAIN_IQNPPD_HPPD_OFFSET …
#define MAIN_OB_HW_EVENT_PID03_OFFSET …
#define MAIN_OB_HW_EVENT_PID47_OFFSET …
#define MAIN_OB_NCQ_EVENT_PID03_OFFSET …
#define MAIN_OB_NCQ_EVENT_PID47_OFFSET …
#define MAIN_TITNX_EVENT_PID03_OFFSET …
#define MAIN_TITNX_EVENT_PID47_OFFSET …
#define MAIN_OB_SSP_EVENT_PID03_OFFSET …
#define MAIN_OB_SSP_EVENT_PID47_OFFSET …
#define MAIN_OB_SMP_EVENT_PID03_OFFSET …
#define MAIN_OB_SMP_EVENT_PID47_OFFSET …
#define MAIN_EVENT_LOG_ADDR_HI …
#define MAIN_EVENT_LOG_ADDR_LO …
#define MAIN_EVENT_LOG_BUFF_SIZE …
#define MAIN_EVENT_LOG_OPTION …
#define MAIN_IOP_EVENT_LOG_ADDR_HI …
#define MAIN_IOP_EVENT_LOG_ADDR_LO …
#define MAIN_IOP_EVENT_LOG_BUFF_SIZE …
#define MAIN_IOP_EVENT_LOG_OPTION …
#define MAIN_FATAL_ERROR_INTERRUPT …
#define MAIN_FATAL_ERROR_RDUMP0_OFFSET …
#define MAIN_FATAL_ERROR_RDUMP0_LENGTH …
#define MAIN_FATAL_ERROR_RDUMP1_OFFSET …
#define MAIN_FATAL_ERROR_RDUMP1_LENGTH …
#define MAIN_HDA_FLAGS_OFFSET …
#define MAIN_ANALOG_SETUP_OFFSET …
#define GST_GSTLEN_MPIS_OFFSET …
#define GST_IQ_FREEZE_STATE0_OFFSET …
#define GST_IQ_FREEZE_STATE1_OFFSET …
#define GST_MSGUTCNT_OFFSET …
#define GST_IOPTCNT_OFFSET …
#define GST_PHYSTATE_OFFSET …
#define GST_PHYSTATE0_OFFSET …
#define GST_PHYSTATE1_OFFSET …
#define GST_PHYSTATE2_OFFSET …
#define GST_PHYSTATE3_OFFSET …
#define GST_PHYSTATE4_OFFSET …
#define GST_PHYSTATE5_OFFSET …
#define GST_PHYSTATE6_OFFSET …
#define GST_PHYSTATE7_OFFSET …
#define GST_RERRINFO_OFFSET …
#define GST_MPI_STATE_UNINIT …
#define GST_MPI_STATE_INIT …
#define GST_MPI_STATE_TERMINATION …
#define GST_MPI_STATE_ERROR …
#define GST_MPI_STATE_MASK …
#define MBIC_NMI_ENABLE_VPE0_IOP …
#define MBIC_NMI_ENABLE_VPE0_AAP1 …
#define PCIE_EVENT_INTERRUPT_ENABLE …
#define PCIE_EVENT_INTERRUPT …
#define PCIE_ERROR_INTERRUPT_ENABLE …
#define PCIE_ERROR_INTERRUPT …
#define SPC_SOFT_RESET_SIGNATURE …
#define SPC_REG_RESET …
#define SPC_REG_RESET_OSSP …
#define SPC_REG_RESET_RAAE …
#define SPC_REG_RESET_PCS_SPBC …
#define SPC_REG_RESET_PCS_IOP_SS …
#define SPC_REG_RESET_PCS_AAP1_SS …
#define SPC_REG_RESET_PCS_AAP2_SS …
#define SPC_REG_RESET_PCS_LM …
#define SPC_REG_RESET_PCS …
#define SPC_REG_RESET_GSM …
#define SPC_REG_RESET_DDR2 …
#define SPC_REG_RESET_BDMA_CORE …
#define SPC_REG_RESET_BDMA_SXCBI …
#define SPC_REG_RESET_PCIE_AL_SXCBI …
#define SPC_REG_RESET_PCIE_PWR …
#define SPC_REG_RESET_PCIE_SFT …
#define SPC_REG_RESET_PCS_SXCBI …
#define SPC_REG_RESET_LMS_SXCBI …
#define SPC_REG_RESET_PMIC_SXCBI …
#define SPC_REG_RESET_PMIC_CORE …
#define SPC_REG_RESET_PCIE_PC_SXCBI …
#define SPC_REG_RESET_DEVICE …
#define SPC_IBW_AXI_TRANSLATION_LOW …
#define MBIC_AAP1_ADDR_BASE …
#define MBIC_IOP_ADDR_BASE …
#define GSM_ADDR_BASE …
#define GSM_CONFIG_RESET …
#define RAM_ECC_DB_ERR …
#define GSM_READ_ADDR_PARITY_INDIC …
#define GSM_WRITE_ADDR_PARITY_INDIC …
#define GSM_WRITE_DATA_PARITY_INDIC …
#define GSM_READ_ADDR_PARITY_CHECK …
#define GSM_WRITE_ADDR_PARITY_CHECK …
#define GSM_WRITE_DATA_PARITY_CHECK …
#define RB6_ACCESS_REG …
#define HDAC_EXEC_CMD …
#define HDA_C_PA …
#define HDA_SEQ_ID_BITS …
#define HDA_GSM_OFFSET_BITS …
#define MBIC_AAP1_ADDR_BASE …
#define MBIC_IOP_ADDR_BASE …
#define GSM_ADDR_BASE …
#define SPC_TOP_LEVEL_ADDR_BASE …
#define GSM_CONFIG_RESET_VALUE …
#define GPIO_ADDR_BASE …
#define GPIO_GPIO_0_0UTPUT_CTL_OFFSET …
#define SPC_RB6_OFFSET …
#define RB6_MAGIC_NUMBER_RST …
#define DEVREG_SUCCESS …
#define DEVREG_FAILURE_OUT_OF_RESOURCE …
#define DEVREG_FAILURE_DEVICE_ALREADY_REGISTERED …
#define DEVREG_FAILURE_INVALID_PHY_ID …
#define DEVREG_FAILURE_PHY_ID_ALREADY_REGISTERED …
#define DEVREG_FAILURE_PORT_ID_OUT_OF_RANGE …
#define DEVREG_FAILURE_PORT_NOT_VALID_STATE …
#define DEVREG_FAILURE_DEVICE_TYPE_NOT_VALID …
#define GSM_BASE …
#define SHIFT_REG_64K_MASK …
#define SHIFT_REG_BIT_SHIFT …
#endif