/** @file Macros and type definitions for LSI 53C895A SCSI devices. Copyright (C) 2020, SUSE LLC. SPDX-License-Identifier: BSD-2-Clause-Patent **/ #ifndef _LSI_SCSI_H_ #define _LSI_SCSI_H_ // // Device ID // #define LSI_LOGIC_PCI_VENDOR_ID 0x1000 #define LSI_53C895A_PCI_DEVICE_ID 0x0012 // // LSI 53C895A Registers // #define LSI_REG_DSTAT 0x0C #define LSI_REG_ISTAT0 0x14 #define LSI_REG_DSP 0x2C #define LSI_REG_SIST0 0x42 #define LSI_REG_SIST1 0x43 #define LSI_REG_CSBC 0xDC // // The status bits for DMA Status (DSTAT) // #define LSI_DSTAT_IID BIT0 #define LSI_DSTAT_R BIT1 #define LSI_DSTAT_SIR BIT2 #define LSI_DSTAT_SSI BIT3 #define LSI_DSTAT_ABRT BIT4 #define LSI_DSTAT_BF BIT5 #define LSI_DSTAT_MDPE BIT6 #define LSI_DSTAT_DFE BIT7 // // The status bits for Interrupt Status Zero (ISTAT0) // #define LSI_ISTAT0_DIP BIT0 #define LSI_ISTAT0_SIP BIT1 #define LSI_ISTAT0_INTF BIT2 #define LSI_ISTAT0_CON BIT3 #define LSI_ISTAT0_SEM BIT4 #define LSI_ISTAT0_SIGP BIT5 #define LSI_ISTAT0_SRST BIT6 #define LSI_ISTAT0_ABRT BIT7 // // The status bits for SCSI Interrupt Status Zero (SIST0) // #define LSI_SIST0_PAR BIT0 #define LSI_SIST0_RST BIT1 #define LSI_SIST0_UDC BIT2 #define LSI_SIST0_SGE BIT3 #define LSI_SIST0_RSL BIT4 #define LSI_SIST0_SEL BIT5 #define LSI_SIST0_CMP BIT6 #define LSI_SIST0_MA BIT7 // // The status bits for SCSI Interrupt Status One (SIST1) // #define LSI_SIST1_HTH BIT0 #define LSI_SIST1_GEN BIT1 #define LSI_SIST1_STO BIT2 #define LSI_SIST1_R3 BIT3 #define LSI_SIST1_SBMC BIT4 #define LSI_SIST1_R5 BIT5 #define LSI_SIST1_R6 BIT6 #define LSI_SIST1_R7 BIT7 // // LSI 53C895A Script Instructions // #define LSI_INS_TYPE_BLK 0x00000000 #define LSI_INS_TYPE_IO BIT30 #define LSI_INS_TYPE_TC BIT31 #define LSI_INS_BLK_SCSIP_DAT_OUT 0x00000000 #define LSI_INS_BLK_SCSIP_DAT_IN BIT24 #define LSI_INS_BLK_SCSIP_CMD BIT25 #define LSI_INS_BLK_SCSIP_STAT (BIT24 | BIT25) #define LSI_INS_BLK_SCSIP_MSG_OUT (BIT25 | BIT26) #define LSI_INS_BLK_SCSIP_MSG_IN (BIT24 | BIT25 | BIT26) #define LSI_INS_IO_OPC_SEL 0x00000000 #define LSI_INS_IO_OPC_WAIT_RESEL BIT28 #define LSI_INS_TC_CP BIT17 #define LSI_INS_TC_JMP BIT19 #define LSI_INS_TC_RA BIT23 #define LSI_INS_TC_OPC_JMP 0x00000000 #define LSI_INS_TC_OPC_INT (BIT27 | BIT28) #define LSI_INS_TC_SCSIP_DAT_OUT 0x00000000 #define LSI_INS_TC_SCSIP_MSG_IN (BIT24 | BIT25 | BIT26) #endif // _LSI_SCSI_H_