|
|
1.1 ! root 1: /* ! 2: * ultrastor.c (C) 1991 David B. Gentzel ! 3: * Low-level scsi driver for UltraStor 14F ! 4: * by David B. Gentzel, Whitfield Software Services, Carnegie, PA ! 5: * ([email protected]) ! 6: * Thanks to UltraStor for providing the necessary documentation ! 7: */ ! 8: ! 9: #ifndef _ULTRASTOR_H ! 10: #define _ULTRASTOR_H ! 11: ! 12: /* ??? Some of the stuff in this file is really private to ultrastor.c and ! 13: should be moved elsewhere (as this file is included by higher-level driver ! 14: files). */ ! 15: ! 16: /* ??? These don't really belong here */ ! 17: #ifndef TRUE ! 18: # define TRUE 1 ! 19: #endif ! 20: #ifndef FALSE ! 21: # define FALSE 0 ! 22: #endif ! 23: ! 24: int ultrastor_14f_detect(int); ! 25: const char *ultrastor_14f_info(void); ! 26: #if 0 /* ??? Future direction... */ ! 27: int ultrastor_14f_queuecommand(unsigned char target, const void *cmnd, ! 28: void *buff, int bufflen, ! 29: void (*done)(int, int)); ! 30: #else ! 31: int ultrastor_14f_command(unsigned char target, const void *cmnd, ! 32: void *buff, int bufflen); ! 33: #endif ! 34: int ultrastor_14f_abort(int); ! 35: int ultrastor_14f_reset(void); ! 36: ! 37: #if 0 /* ??? Future direction... */ ! 38: # define ULTRASTOR_14F \ ! 39: { "UltraStor 14F", ultrastor_14f_detect, ultrastor_14f_info, 0, \ ! 40: ultrastor_14f_queuecommand, ultrastor_14f_abort, ultrastor_14f_reset, \ ! 41: TRUE, 0, 0 } ! 42: #else ! 43: # define ULTRASTOR_14F \ ! 44: { "UltraStor 14F", ultrastor_14f_detect, ultrastor_14f_info, \ ! 45: ultrastor_14f_command, 0, ultrastor_14f_abort, ultrastor_14f_reset, \ ! 46: FALSE, 0, 0 } ! 47: #endif ! 48: ! 49: #define PORT_OVERRIDE 0x330 ! 50: ! 51: /* Port addresses (relative to the base address) */ ! 52: #define LCL_DOORBELL_MASK(port) ((port) + 0x0) ! 53: #define LCL_DOORBELL_INTR(port) ((port) + 0x1) ! 54: #define SYS_DOORBELL_MASK(port) ((port) + 0x2) ! 55: #define SYS_DOORBELL_INTR(port) ((port) + 0x3) ! 56: #define PRODUCT_ID(port) ((port) + 0x4) ! 57: #define CONFIG(port) ((port) + 0x6) ! 58: #define OGM_DATA_PTR(port) ((port) + 0x8) ! 59: #define ICM_DATA_PTR(port) ((port) + 0xC) ! 60: ! 61: /* Values for the PRODUCT_ID ports for the 14F */ ! 62: #define US14F_PRODUCT_ID_0 0x56 ! 63: #define US14F_PRODUCT_ID_1 0x40 /* NOTE: Only upper nibble is used */ ! 64: ! 65: /* MSCP field values */ ! 66: ! 67: /* Opcode */ ! 68: #define OP_HOST_ADAPTER 0x1 ! 69: #define OP_SCSI 0x2 ! 70: #define OP_RESET 0x4 ! 71: ! 72: /* Date Transfer Direction */ ! 73: #define DTD_SCSI 0x0 ! 74: #define DTD_IN 0x1 ! 75: #define DTD_OUT 0x2 ! 76: #define DTD_NONE 0x3 ! 77: ! 78: /* Host Adapter command subcodes */ ! 79: #define HA_CMD_INQUIRY 0x1 ! 80: #define HA_CMD_SELF_DIAG 0x2 ! 81: #define HA_CMD_READ_BUFF 0x3 ! 82: #define HA_CMD_WRITE_BUFF 0x4 ! 83: ! 84: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.