1*4e1bc9a0SAchim Leubner /******************************************************************************* 2*4e1bc9a0SAchim Leubner *Copyright (c) 2014 PMC-Sierra, Inc. All rights reserved. 3*4e1bc9a0SAchim Leubner * 4*4e1bc9a0SAchim Leubner *Redistribution and use in source and binary forms, with or without modification, are permitted provided 5*4e1bc9a0SAchim Leubner *that the following conditions are met: 6*4e1bc9a0SAchim Leubner *1. Redistributions of source code must retain the above copyright notice, this list of conditions and the 7*4e1bc9a0SAchim Leubner *following disclaimer. 8*4e1bc9a0SAchim Leubner *2. Redistributions in binary form must reproduce the above copyright notice, 9*4e1bc9a0SAchim Leubner *this list of conditions and the following disclaimer in the documentation and/or other materials provided 10*4e1bc9a0SAchim Leubner *with the distribution. 11*4e1bc9a0SAchim Leubner * 12*4e1bc9a0SAchim Leubner *THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED 13*4e1bc9a0SAchim Leubner *WARRANTIES,INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 14*4e1bc9a0SAchim Leubner *FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 15*4e1bc9a0SAchim Leubner *FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 16*4e1bc9a0SAchim Leubner *NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 17*4e1bc9a0SAchim Leubner *BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 18*4e1bc9a0SAchim Leubner *LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 19*4e1bc9a0SAchim Leubner *SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE 20*4e1bc9a0SAchim Leubner * 21*4e1bc9a0SAchim Leubner * 22*4e1bc9a0SAchim Leubner ********************************************************************************/ 23*4e1bc9a0SAchim Leubner /*******************************************************************************/ 24*4e1bc9a0SAchim Leubner /*! \file sadefs.h 25*4e1bc9a0SAchim Leubner * \brief The file defines the constants used by LL layer 26*4e1bc9a0SAchim Leubner */ 27*4e1bc9a0SAchim Leubner 28*4e1bc9a0SAchim Leubner /*******************************************************************************/ 29*4e1bc9a0SAchim Leubner 30*4e1bc9a0SAchim Leubner #ifndef __SADEFS_H__ 31*4e1bc9a0SAchim Leubner 32*4e1bc9a0SAchim Leubner #define __SADEFS_H__ 33*4e1bc9a0SAchim Leubner 34*4e1bc9a0SAchim Leubner #define SA_LL_IBQ_PROTECT 35*4e1bc9a0SAchim Leubner 36*4e1bc9a0SAchim Leubner #define AGSA_MAX_VALID_PORTS AGSA_MAX_VALID_PHYS /**< defines the maximum number of ports */ 37*4e1bc9a0SAchim Leubner 38*4e1bc9a0SAchim Leubner #define NUM_TIMERS 2 /**< defines the maximum number of timers */ 39*4e1bc9a0SAchim Leubner #define SA_USECS_PER_TICK 1000000 /**< defines the heart beat of the LL layer 1us */ 40*4e1bc9a0SAchim Leubner #define MAX_ACTIVE_IO_REQUESTS 4096 /**< Maximum Active IO Requests */ 41*4e1bc9a0SAchim Leubner #define SMP_RESPONSE_FRAMES AGSA_MAX_VALID_PHYS /**< SMP Response Frame Buffer */ 42*4e1bc9a0SAchim Leubner #define MAX_NUM_VECTOR 64 /**< Maximum Number of Interrupt Vectors */ 43*4e1bc9a0SAchim Leubner #define REGISTER_DUMP_BUFF_SIZE 0x4000 /**< Maximum Fatal Error Register Dump Buffer Size */ 44*4e1bc9a0SAchim Leubner #define KBYTES 1024 45*4e1bc9a0SAchim Leubner 46*4e1bc9a0SAchim Leubner /* number of IQ/OQ */ 47*4e1bc9a0SAchim Leubner #define IQ_NUM_32 32 48*4e1bc9a0SAchim Leubner #define OQ_NUM_32 32 49*4e1bc9a0SAchim Leubner 50*4e1bc9a0SAchim Leubner /* default value of Inbound/Outbound element size */ 51*4e1bc9a0SAchim Leubner #define INBOUND_DEPTH_SIZE 512 52*4e1bc9a0SAchim Leubner #define OUTBOUND_DEPTH_SIZE 512 53*4e1bc9a0SAchim Leubner 54*4e1bc9a0SAchim Leubner /* Priority of Queue */ 55*4e1bc9a0SAchim Leubner #define MPI_QUEUE_NORMAL 0 56*4e1bc9a0SAchim Leubner #define MPI_QUEUE_PRIORITY 1 57*4e1bc9a0SAchim Leubner 58*4e1bc9a0SAchim Leubner /* size of IOMB - multiple with 32 bytes */ 59*4e1bc9a0SAchim Leubner #define IOMB_SIZE64 64 60*4e1bc9a0SAchim Leubner #define IOMB_SIZE96 96 61*4e1bc9a0SAchim Leubner #define IOMB_SIZE128 128 62*4e1bc9a0SAchim Leubner #define IOMB_SIZE256 256 63*4e1bc9a0SAchim Leubner 64*4e1bc9a0SAchim Leubner /* DIR bit of IOMB for SSP read/write command */ 65*4e1bc9a0SAchim Leubner #define DIR_NODATA 0x000 66*4e1bc9a0SAchim Leubner #define DIR_READ 0x100 67*4e1bc9a0SAchim Leubner #define DIR_WRITE 0x200 68*4e1bc9a0SAchim Leubner 69*4e1bc9a0SAchim Leubner /* TLR bits mask */ 70*4e1bc9a0SAchim Leubner #define TLR_MASK 0x00000003 71*4e1bc9a0SAchim Leubner /* port and phy Id bits Mask */ 72*4e1bc9a0SAchim Leubner 73*4e1bc9a0SAchim Leubner 74*4e1bc9a0SAchim Leubner #define PORTID_MASK 0x0000000F 75*4e1bc9a0SAchim Leubner #define PORTID_V_MASK 0x000000FF 76*4e1bc9a0SAchim Leubner #define PHYID_MASK 0x0000000F 77*4e1bc9a0SAchim Leubner #define PHYID_V_MASK 0x000000FF 78*4e1bc9a0SAchim Leubner #define PORT_STATE_MASK 0x0000000F 79*4e1bc9a0SAchim Leubner #define PHY_IN_PORT_MASK 0x000000F0 80*4e1bc9a0SAchim Leubner 81*4e1bc9a0SAchim Leubner #define SM_PHYID_MASK (smIS_SPC(agRoot) ? PHYID_MASK : PHYID_V_MASK ) 82*4e1bc9a0SAchim Leubner #define SM_PORTID_MASK (smIS_SPC(agRoot) ? PORTID_MASK : PORTID_V_MASK ) 83*4e1bc9a0SAchim Leubner 84*4e1bc9a0SAchim Leubner /* the index for memory requirement, must be continious */ 85*4e1bc9a0SAchim Leubner #define LLROOT_MEM_INDEX 0 /**< the index of root memory */ 86*4e1bc9a0SAchim Leubner #define DEVICELINK_MEM_INDEX (LLROOT_MEM_INDEX + 1) /**< the index of device descriptors memory */ 87*4e1bc9a0SAchim Leubner #define IOREQLINK_MEM_INDEX (DEVICELINK_MEM_INDEX+1) /**< the index of IO requests memory */ 88*4e1bc9a0SAchim Leubner 89*4e1bc9a0SAchim Leubner #ifdef SA_ENABLE_HDA_FUNCTIONS 90*4e1bc9a0SAchim Leubner #define HDA_DMA_BUFFER (IOREQLINK_MEM_INDEX+1) /** HDA Buffer */ 91*4e1bc9a0SAchim Leubner #else /* SA_ENABLE_HDA_FUNCTIONS */ 92*4e1bc9a0SAchim Leubner #define HDA_DMA_BUFFER (IOREQLINK_MEM_INDEX) /** HDA Buffer */ 93*4e1bc9a0SAchim Leubner #endif /* SA_ENABLE_HDA_FUNCTIONS */ 94*4e1bc9a0SAchim Leubner 95*4e1bc9a0SAchim Leubner #ifdef SA_ENABLE_TRACE_FUNCTIONS 96*4e1bc9a0SAchim Leubner #define LL_FUNCTION_TRACE (HDA_DMA_BUFFER+1) /**TraceLog */ 97*4e1bc9a0SAchim Leubner #else /* SA_ENABLE_TRACE_FUNCTIONS */ 98*4e1bc9a0SAchim Leubner #define LL_FUNCTION_TRACE HDA_DMA_BUFFER /**TraceLog */ 99*4e1bc9a0SAchim Leubner #endif /* END SA_ENABLE_TRACE_FUNCTIONS */ 100*4e1bc9a0SAchim Leubner 101*4e1bc9a0SAchim Leubner #define TIMERLINK_MEM_INDEX (LL_FUNCTION_TRACE+1) /**< the index of timers memory */ 102*4e1bc9a0SAchim Leubner 103*4e1bc9a0SAchim Leubner #ifdef FAST_IO_TEST 104*4e1bc9a0SAchim Leubner #define LL_FAST_IO (TIMERLINK_MEM_INDEX+1) 105*4e1bc9a0SAchim Leubner #define MPI_IBQ_OBQ_INDEX (LL_FAST_IO + 1) 106*4e1bc9a0SAchim Leubner 107*4e1bc9a0SAchim Leubner #else /* FAST_IO_TEST */ 108*4e1bc9a0SAchim Leubner 109*4e1bc9a0SAchim Leubner #define LL_FAST_IO TIMERLINK_MEM_INDEX 110*4e1bc9a0SAchim Leubner #define MPI_IBQ_OBQ_INDEX (LL_FAST_IO + 1) 111*4e1bc9a0SAchim Leubner #endif /* FAST_IO_TEST */ 112*4e1bc9a0SAchim Leubner 113*4e1bc9a0SAchim Leubner #define MPI_MEM_INDEX (MPI_IBQ_OBQ_INDEX - LLROOT_MEM_INDEX) 114*4e1bc9a0SAchim Leubner 115*4e1bc9a0SAchim Leubner #define MPI_EVENTLOG_INDEX 0 116*4e1bc9a0SAchim Leubner #define MPI_IOP_EVENTLOG_INDEX 1 117*4e1bc9a0SAchim Leubner #define MPI_CI_INDEX 2 118*4e1bc9a0SAchim Leubner /* The following is a reference index */ 119*4e1bc9a0SAchim Leubner #define MPI_PI_INDEX (MPI_CI_INDEX + 1) 120*4e1bc9a0SAchim Leubner #define MPI_IBQ_INDEX (MPI_PI_INDEX + 1) 121*4e1bc9a0SAchim Leubner #define MPI_OBQ_INDEX (MPI_IBQ_INDEX + MPI_MAX_INBOUND_QUEUES) 122*4e1bc9a0SAchim Leubner 123*4e1bc9a0SAchim Leubner #define TOTAL_MPI_MEM_CHUNKS (MPI_MAX_INBOUND_QUEUES * 2) + MPI_IBQ_INDEX 124*4e1bc9a0SAchim Leubner 125*4e1bc9a0SAchim Leubner 126*4e1bc9a0SAchim Leubner #define LL_DEVICE_LOCK 0 127*4e1bc9a0SAchim Leubner #define LL_PORT_LOCK (LL_DEVICE_LOCK+1) 128*4e1bc9a0SAchim Leubner #define LL_TIMER_LOCK (LL_PORT_LOCK+1) 129*4e1bc9a0SAchim Leubner #define LL_IOREQ_LOCKEQ_LOCK (LL_TIMER_LOCK+1) 130*4e1bc9a0SAchim Leubner 131*4e1bc9a0SAchim Leubner #ifdef FAST_IO_TEST 132*4e1bc9a0SAchim Leubner #define LL_FAST_IO_LOCK (LL_IOREQ_LOCKEQ_LOCK+1) 133*4e1bc9a0SAchim Leubner #else /* FAST_IO_TEST */ 134*4e1bc9a0SAchim Leubner #define LL_FAST_IO_LOCK (LL_IOREQ_LOCKEQ_LOCK) 135*4e1bc9a0SAchim Leubner #endif /* FAST_IO_TEST */ 136*4e1bc9a0SAchim Leubner 137*4e1bc9a0SAchim Leubner #ifdef SA_ENABLE_TRACE_FUNCTIONS 138*4e1bc9a0SAchim Leubner #define LL_TRACE_LOCK (LL_FAST_IO_LOCK+1) 139*4e1bc9a0SAchim Leubner #else /* SA_ENABLE_TRACE_FUNCTIONS */ 140*4e1bc9a0SAchim Leubner #define LL_TRACE_LOCK (LL_FAST_IO_LOCK) 141*4e1bc9a0SAchim Leubner #endif /* SA_ENABLE_TRACE_FUNCTIONS */ 142*4e1bc9a0SAchim Leubner 143*4e1bc9a0SAchim Leubner #ifdef MPI_DEBUG_TRACE_ENABLE 144*4e1bc9a0SAchim Leubner #define LL_IOMB_TRACE_LOCK (LL_TRACE_LOCK+1) 145*4e1bc9a0SAchim Leubner #else /* MPI_DEBUG_TRACE_ENABLE */ 146*4e1bc9a0SAchim Leubner #define LL_IOMB_TRACE_LOCK (LL_TRACE_LOCK) 147*4e1bc9a0SAchim Leubner #endif /* MPI_DEBUG_TRACE_ENABLE */ 148*4e1bc9a0SAchim Leubner 149*4e1bc9a0SAchim Leubner #define LL_IOREQ_OBQ_LOCK (LL_IOMB_TRACE_LOCK+1) 150*4e1bc9a0SAchim Leubner 151*4e1bc9a0SAchim Leubner #define LL_IOREQ_IBQ_LOCK (LL_IOREQ_OBQ_LOCK +1) 152*4e1bc9a0SAchim Leubner #define LL_IOREQ_IBQ_LOCK_PARM (LL_IOREQ_OBQ_LOCK + queueConfig->numOutboundQueues +1) 153*4e1bc9a0SAchim Leubner #define LL_IOREQ_IBQ0_LOCK (LL_IOREQ_OBQ_LOCK + saRoot->QueueConfig.numOutboundQueues +1) 154*4e1bc9a0SAchim Leubner 155*4e1bc9a0SAchim Leubner 156*4e1bc9a0SAchim Leubner 157*4e1bc9a0SAchim Leubner /* define phy states */ 158*4e1bc9a0SAchim Leubner #define PHY_STOPPED 0x00000000 /**< flag indicates phy stopped */ 159*4e1bc9a0SAchim Leubner #define PHY_UP 0x00000001 /**< flag indicates phy up */ 160*4e1bc9a0SAchim Leubner #define PHY_DOWN 0x00000002 /**< flag indicates phy down */ 161*4e1bc9a0SAchim Leubner 162*4e1bc9a0SAchim Leubner /* define port states */ 163*4e1bc9a0SAchim Leubner #define PORT_NORMAL 0x0000 164*4e1bc9a0SAchim Leubner #define PORT_INVALIDATING 0x0002 165*4e1bc9a0SAchim Leubner 166*4e1bc9a0SAchim Leubner /* define chip status */ 167*4e1bc9a0SAchim Leubner #define CHIP_NORMAL 0x0000 168*4e1bc9a0SAchim Leubner #define CHIP_SHUTDOWN 0x0001 169*4e1bc9a0SAchim Leubner #define CHIP_RESETTING 0x0002 170*4e1bc9a0SAchim Leubner #define CHIP_RESET_FW 0x0004 171*4e1bc9a0SAchim Leubner #define CHIP_FATAL_ERROR 0x0008 172*4e1bc9a0SAchim Leubner 173*4e1bc9a0SAchim Leubner /* define device types */ 174*4e1bc9a0SAchim Leubner #define SAS_SATA_UNKNOWN_DEVICE 0xFF /**< SAS SATA unknown device type */ 175*4e1bc9a0SAchim Leubner 176*4e1bc9a0SAchim Leubner #define STP_DEVICE 0x00 /**< SATA device behind an expander */ 177*4e1bc9a0SAchim Leubner #define SSP_SMP_DEVICE 0x01 /**< SSP or SMP device type */ 178*4e1bc9a0SAchim Leubner #define DIRECT_SATA_DEVICE 0x02 /**< SATA direct device type */ 179*4e1bc9a0SAchim Leubner 180*4e1bc9a0SAchim Leubner /* SATA */ 181*4e1bc9a0SAchim Leubner #define SATA_FIS_MASK 0x00000001 182*4e1bc9a0SAchim Leubner #define MAX_SATARESP_SUPPORT_BYTES 44 183*4e1bc9a0SAchim Leubner 184*4e1bc9a0SAchim Leubner #define MARK_OFF 0xFFFFFFFF 185*4e1bc9a0SAchim Leubner #define PORT_MARK_OFF 0xFFFFFFFF 186*4e1bc9a0SAchim Leubner #define NO_FATAL_ERROR_VECTOR 0xFFFFFFFF 187*4e1bc9a0SAchim Leubner 188*4e1bc9a0SAchim Leubner #define SATA_PROTOCOL_RSRT_ASSERT 0x01 189*4e1bc9a0SAchim Leubner #define SATA_PROTOCOL_RSRT_DEASSERT 0x02 190*4e1bc9a0SAchim Leubner #define SATA_NON_DATA_PROTOCOL 0x0d 191*4e1bc9a0SAchim Leubner #define SATA_PIO_READ_PROTOCOL 0x0e 192*4e1bc9a0SAchim Leubner #define SATA_DMA_READ_PROTOCOL 0x0f 193*4e1bc9a0SAchim Leubner #define SATA_FPDMA_READ_PROTOCOL 0x10 194*4e1bc9a0SAchim Leubner #define SATA_PIO_WRITE_PROTOCOL 0x11 195*4e1bc9a0SAchim Leubner #define SATA_DMA_WRITE_PROTOCOL 0x12 196*4e1bc9a0SAchim Leubner #define SATA_FPDMA_WRITE_PROTOCOL 0x13 197*4e1bc9a0SAchim Leubner #define SATA_DEVICE_RESET_PROTOCOL 0x14 198*4e1bc9a0SAchim Leubner 199*4e1bc9a0SAchim Leubner /* Definition for bit shift */ 200*4e1bc9a0SAchim Leubner #define SHIFT0 0 201*4e1bc9a0SAchim Leubner #define SHIFT1 1 202*4e1bc9a0SAchim Leubner #define SHIFT2 2 203*4e1bc9a0SAchim Leubner #define SHIFT3 3 204*4e1bc9a0SAchim Leubner #define SHIFT4 4 205*4e1bc9a0SAchim Leubner #define SHIFT5 5 206*4e1bc9a0SAchim Leubner #define SHIFT6 6 207*4e1bc9a0SAchim Leubner #define SHIFT7 7 208*4e1bc9a0SAchim Leubner #define SHIFT8 8 209*4e1bc9a0SAchim Leubner #define SHIFT9 9 210*4e1bc9a0SAchim Leubner #define SHIFT10 10 211*4e1bc9a0SAchim Leubner #define SHIFT11 11 212*4e1bc9a0SAchim Leubner #define SHIFT12 12 213*4e1bc9a0SAchim Leubner #define SHIFT13 13 214*4e1bc9a0SAchim Leubner #define SHIFT14 14 215*4e1bc9a0SAchim Leubner #define SHIFT15 15 216*4e1bc9a0SAchim Leubner #define SHIFT16 16 217*4e1bc9a0SAchim Leubner #define SHIFT17 17 218*4e1bc9a0SAchim Leubner #define SHIFT18 18 219*4e1bc9a0SAchim Leubner #define SHIFT19 19 220*4e1bc9a0SAchim Leubner #define SHIFT20 20 221*4e1bc9a0SAchim Leubner #define SHIFT21 21 222*4e1bc9a0SAchim Leubner #define SHIFT22 22 223*4e1bc9a0SAchim Leubner #define SHIFT23 23 224*4e1bc9a0SAchim Leubner #define SHIFT24 24 225*4e1bc9a0SAchim Leubner #define SHIFT25 25 226*4e1bc9a0SAchim Leubner #define SHIFT26 26 227*4e1bc9a0SAchim Leubner #define SHIFT27 27 228*4e1bc9a0SAchim Leubner #define SHIFT28 28 229*4e1bc9a0SAchim Leubner #define SHIFT29 29 230*4e1bc9a0SAchim Leubner #define SHIFT30 30 231*4e1bc9a0SAchim Leubner #define SHIFT31 31 232*4e1bc9a0SAchim Leubner 233*4e1bc9a0SAchim Leubner /* These flags used for saSSPAbort(), saSATAAbort() */ 234*4e1bc9a0SAchim Leubner #define ABORT_MASK 0x3 235*4e1bc9a0SAchim Leubner #define ABORT_SINGLE 0x0 236*4e1bc9a0SAchim Leubner #define ABORT_SCOPE 0x3 /* bits 0-1*/ 237*4e1bc9a0SAchim Leubner #define ABORT_ALL 0x1 238*4e1bc9a0SAchim Leubner #define ABORT_TSDK_QUARANTINE 0x4 239*4e1bc9a0SAchim Leubner #define ABORT_QUARANTINE_SPC 0x4 240*4e1bc9a0SAchim Leubner #define ABORT_QUARANTINE_SPCV 0x8 241*4e1bc9a0SAchim Leubner 242*4e1bc9a0SAchim Leubner /* These flags used for saGetRegDump() */ 243*4e1bc9a0SAchim Leubner #define REG_DUMP_NUM0 0x0 244*4e1bc9a0SAchim Leubner #define REG_DUMP_NUM1 0x1 245*4e1bc9a0SAchim Leubner #define REG_DUMP_NONFLASH 0x0 246*4e1bc9a0SAchim Leubner #define REG_DUMP_FLASH 0x1 247*4e1bc9a0SAchim Leubner 248*4e1bc9a0SAchim Leubner /* MSIX Interupts */ 249*4e1bc9a0SAchim Leubner #define MSIX_TABLE_OFFSET 0x2000 250*4e1bc9a0SAchim Leubner #define MSIX_TABLE_ELEMENT_SIZE 0x10 251*4e1bc9a0SAchim Leubner #define MSIX_INTERRUPT_CONTROL_OFFSET 0xC 252*4e1bc9a0SAchim Leubner #define MSIX_TABLE_BASE (MSIX_TABLE_OFFSET+MSIX_INTERRUPT_CONTROL_OFFSET) 253*4e1bc9a0SAchim Leubner #define MSIX_INTERRUPT_DISABLE 0x1 254*4e1bc9a0SAchim Leubner #define MSIX_INTERRUPT_ENABLE 0x0 255*4e1bc9a0SAchim Leubner 256*4e1bc9a0SAchim Leubner #define MAX_QUEUE_EACH_MEM 8 257*4e1bc9a0SAchim Leubner 258*4e1bc9a0SAchim Leubner #define NUM_MEM_CHUNKS(Q, rem) ((((bit32)Q % rem) > 0) ? (bit32)(Q/rem+1) : (bit32)(Q/rem)) 259*4e1bc9a0SAchim Leubner #define NUM_QUEUES_IN_MEM(Q, rem) ((((bit32)Q % rem) > 0) ? (bit32)(Q%rem) : (bit32)(MAX_QUEUE_EACH_MEM)) 260*4e1bc9a0SAchim Leubner 261*4e1bc9a0SAchim Leubner #define MAX_DEV_BITS 0xFFFF0000 262*4e1bc9a0SAchim Leubner #define PHY_COUNT_BITS 0x01f80000 263*4e1bc9a0SAchim Leubner #define Q_SUPPORT_BITS 0x0007ffff 264*4e1bc9a0SAchim Leubner #define SAS_SPEC_BITS 0xfe000000 265*4e1bc9a0SAchim Leubner #define HP_SUPPORT_BIT 0x00010000 266*4e1bc9a0SAchim Leubner #define INT_COL_BIT 0x00040000 267*4e1bc9a0SAchim Leubner #define INT_DELAY_BITS 0xFFFF 268*4e1bc9a0SAchim Leubner #define INT_THR_BITS 0xFF 269*4e1bc9a0SAchim Leubner #define INT_VEC_BITS 0xFF 270*4e1bc9a0SAchim Leubner 271*4e1bc9a0SAchim Leubner #define AUTO_HARD_RESET_DEREG_FLAG 0x00000001 272*4e1bc9a0SAchim Leubner #define AUTO_FW_CLEANUP_DEREG_FLAG 0x00000002 273*4e1bc9a0SAchim Leubner 274*4e1bc9a0SAchim Leubner #define BYTE_MASK 0xff 275*4e1bc9a0SAchim Leubner 276*4e1bc9a0SAchim Leubner #define INT_OPTION 0x7FFF 277*4e1bc9a0SAchim Leubner #define SMP_TO_DEFAULT 100 278*4e1bc9a0SAchim Leubner #define ITL_TO_DEFAULT 0xFFFF 279*4e1bc9a0SAchim Leubner 280*4e1bc9a0SAchim Leubner 281*4e1bc9a0SAchim Leubner /* 282*4e1bc9a0SAchim Leubner agsaHwConfig_s hwOption 283*4e1bc9a0SAchim Leubner */ 284*4e1bc9a0SAchim Leubner #define HW_CFG_PICI_EFFECTIVE_ADDRESS 0x1 285*4e1bc9a0SAchim Leubner 286*4e1bc9a0SAchim Leubner /* SPC or SPCv ven dev Id */ 287*4e1bc9a0SAchim Leubner 288*4e1bc9a0SAchim Leubner #define SUBID_SPC 0x00000000 289*4e1bc9a0SAchim Leubner #define SUBID_SPCV 0x56781234 290*4e1bc9a0SAchim Leubner 291*4e1bc9a0SAchim Leubner #define VEN_DEV_SPC 0x80010000 292*4e1bc9a0SAchim Leubner #define VEN_DEV_HIL 0x80810000 293*4e1bc9a0SAchim Leubner 294*4e1bc9a0SAchim Leubner #define VEN_DEV_SPCV 0x80080000 295*4e1bc9a0SAchim Leubner #define VEN_DEV_SPCVE 0x80090000 296*4e1bc9a0SAchim Leubner #define VEN_DEV_SPCVP 0x80180000 297*4e1bc9a0SAchim Leubner #define VEN_DEV_SPCVEP 0x80190000 298*4e1bc9a0SAchim Leubner 299*4e1bc9a0SAchim Leubner #define VEN_DEV_SPC12V 0x80700000 300*4e1bc9a0SAchim Leubner #define VEN_DEV_SPC12VE 0x80710000 301*4e1bc9a0SAchim Leubner #define VEN_DEV_SPC12VP 0x80720000 302*4e1bc9a0SAchim Leubner #define VEN_DEV_SPC12VEP 0x80730000 303*4e1bc9a0SAchim Leubner #define VEN_DEV_9015 0x90150000 304*4e1bc9a0SAchim Leubner #define VEN_DEV_9060 0x90600000 305*4e1bc9a0SAchim Leubner 306*4e1bc9a0SAchim Leubner #define VEN_DEV_ADAPVEP 0x80890000 307*4e1bc9a0SAchim Leubner #define VEN_DEV_ADAPVP 0x80880000 308*4e1bc9a0SAchim Leubner 309*4e1bc9a0SAchim Leubner 310*4e1bc9a0SAchim Leubner #define VEN_DEV_SFC 0x80250000 311*4e1bc9a0SAchim Leubner 312*4e1bc9a0SAchim Leubner /*DelRay PCIid */ 313*4e1bc9a0SAchim Leubner #define VEN_DEV_SPC12ADP 0x80740000 /* 8 ports */ 314*4e1bc9a0SAchim Leubner #define VEN_DEV_SPC12ADPE 0x80750000 /* 8 ports encrypt */ 315*4e1bc9a0SAchim Leubner #define VEN_DEV_SPC12ADPP 0x80760000 /* 16 ports */ 316*4e1bc9a0SAchim Leubner #define VEN_DEV_SPC12ADPEP 0x80770000 /* 16 ports encrypt */ 317*4e1bc9a0SAchim Leubner #define VEN_DEV_SPC12SATA 0x80060000 /* SATA HBA */ 318*4e1bc9a0SAchim Leubner 319*4e1bc9a0SAchim Leubner #endif /*__SADEFS_H__ */ 320