]> git.proxmox.com Git - mirror_edk2.git/blobdiff - OvmfPkg/Include/IndustryStandard/LsiScsi.h
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / OvmfPkg / Include / IndustryStandard / LsiScsi.h
index 185e553c8eb41e0d57a598009a69619f2ea0a35d..affff53889cc6e7bafab44bcae44e234bf62b7be 100644 (file)
 //\r
 // Device ID\r
 //\r
-#define LSI_LOGIC_PCI_VENDOR_ID   0x1000\r
-#define LSI_53C895A_PCI_DEVICE_ID 0x0012\r
+#define LSI_LOGIC_PCI_VENDOR_ID    0x1000\r
+#define LSI_53C895A_PCI_DEVICE_ID  0x0012\r
 \r
 //\r
 // LSI 53C895A Registers\r
 //\r
-#define LSI_REG_DSTAT             0x0C\r
-#define LSI_REG_ISTAT0            0x14\r
-#define LSI_REG_DSP               0x2C\r
-#define LSI_REG_SIST0             0x42\r
-#define LSI_REG_SIST1             0x43\r
+#define LSI_REG_DSTAT   0x0C\r
+#define LSI_REG_ISTAT0  0x14\r
+#define LSI_REG_DSP     0x2C\r
+#define LSI_REG_SIST0   0x42\r
+#define LSI_REG_SIST1   0x43\r
+#define LSI_REG_CSBC    0xDC\r
+\r
+//\r
+// The status bits for DMA Status (DSTAT)\r
+//\r
+#define LSI_DSTAT_IID   BIT0\r
+#define LSI_DSTAT_R     BIT1\r
+#define LSI_DSTAT_SIR   BIT2\r
+#define LSI_DSTAT_SSI   BIT3\r
+#define LSI_DSTAT_ABRT  BIT4\r
+#define LSI_DSTAT_BF    BIT5\r
+#define LSI_DSTAT_MDPE  BIT6\r
+#define LSI_DSTAT_DFE   BIT7\r
 \r
 //\r
 // The status bits for Interrupt Status Zero (ISTAT0)\r
 //\r
-#define LSI_ISTAT0_DIP            BIT0\r
-#define LSI_ISTAT0_SIP            BIT1\r
-#define LSI_ISTAT0_INTF           BIT2\r
-#define LSI_ISTAT0_CON            BIT3\r
-#define LSI_ISTAT0_SEM            BIT4\r
-#define LSI_ISTAT0_SIGP           BIT5\r
-#define LSI_ISTAT0_SRST           BIT6\r
-#define LSI_ISTAT0_ABRT           BIT7\r
+#define LSI_ISTAT0_DIP   BIT0\r
+#define LSI_ISTAT0_SIP   BIT1\r
+#define LSI_ISTAT0_INTF  BIT2\r
+#define LSI_ISTAT0_CON   BIT3\r
+#define LSI_ISTAT0_SEM   BIT4\r
+#define LSI_ISTAT0_SIGP  BIT5\r
+#define LSI_ISTAT0_SRST  BIT6\r
+#define LSI_ISTAT0_ABRT  BIT7\r
+\r
+//\r
+// The status bits for SCSI Interrupt Status Zero (SIST0)\r
+//\r
+#define LSI_SIST0_PAR  BIT0\r
+#define LSI_SIST0_RST  BIT1\r
+#define LSI_SIST0_UDC  BIT2\r
+#define LSI_SIST0_SGE  BIT3\r
+#define LSI_SIST0_RSL  BIT4\r
+#define LSI_SIST0_SEL  BIT5\r
+#define LSI_SIST0_CMP  BIT6\r
+#define LSI_SIST0_MA   BIT7\r
+\r
+//\r
+// The status bits for SCSI Interrupt Status One (SIST1)\r
+//\r
+#define LSI_SIST1_HTH   BIT0\r
+#define LSI_SIST1_GEN   BIT1\r
+#define LSI_SIST1_STO   BIT2\r
+#define LSI_SIST1_R3    BIT3\r
+#define LSI_SIST1_SBMC  BIT4\r
+#define LSI_SIST1_R5    BIT5\r
+#define LSI_SIST1_R6    BIT6\r
+#define LSI_SIST1_R7    BIT7\r
+\r
+//\r
+// LSI 53C895A Script Instructions\r
+//\r
+#define LSI_INS_TYPE_BLK  0x00000000\r
+#define LSI_INS_TYPE_IO   BIT30\r
+#define LSI_INS_TYPE_TC   BIT31\r
+\r
+#define LSI_INS_BLK_SCSIP_DAT_OUT  0x00000000\r
+#define LSI_INS_BLK_SCSIP_DAT_IN   BIT24\r
+#define LSI_INS_BLK_SCSIP_CMD      BIT25\r
+#define LSI_INS_BLK_SCSIP_STAT     (BIT24 | BIT25)\r
+#define LSI_INS_BLK_SCSIP_MSG_OUT  (BIT25 | BIT26)\r
+#define LSI_INS_BLK_SCSIP_MSG_IN   (BIT24 | BIT25 | BIT26)\r
+\r
+#define LSI_INS_IO_OPC_SEL         0x00000000\r
+#define LSI_INS_IO_OPC_WAIT_RESEL  BIT28\r
+\r
+#define LSI_INS_TC_CP   BIT17\r
+#define LSI_INS_TC_JMP  BIT19\r
+#define LSI_INS_TC_RA   BIT23\r
+\r
+#define LSI_INS_TC_OPC_JMP  0x00000000\r
+#define LSI_INS_TC_OPC_INT  (BIT27 | BIT28)\r
+\r
+#define LSI_INS_TC_SCSIP_DAT_OUT  0x00000000\r
+#define LSI_INS_TC_SCSIP_MSG_IN   (BIT24 | BIT25 | BIT26)\r
 \r
 #endif // _LSI_SCSI_H_\r