1 /* 2 * Cumana Generic NCR5380 driver defines 3 * 4 * Copyright 1993, Drew Eckhardt 5 * Visionary Computing 6 * (Unix and Linux consulting and custom programming) 7 * drew@colorado.edu 8 * +1 (303) 440-4894 9 * 10 * ALPHA RELEASE 1. 11 * 12 * For more information, please consult 13 * 14 * NCR 5380 Family 15 * SCSI Protocol Controller 16 * Databook 17 * 18 * NCR Microelectronics 19 * 1635 Aeroplaza Drive 20 * Colorado Springs, CO 80916 21 * 1+ (719) 578-3400 22 * 1+ (800) 334-5454 23 */ 24 25 /* 26 * $Log: cumana_NCR5380.h,v $ 27 */ 28 29 #ifndef MAC_NCR5380_H 30 #define MAC_NCR5380_H 31 32 #define MACSCSI_PUBLIC_RELEASE 2 33 34 #ifndef ASM 35 int macscsi_abort (Scsi_Cmnd *); 36 int macscsi_detect (Scsi_Host_Template *); 37 int macscsi_release (struct Scsi_Host *); 38 const char *macscsi_info (struct Scsi_Host *); 39 int macscsi_reset(Scsi_Cmnd *, unsigned int); 40 int macscsi_queue_command (Scsi_Cmnd *, void (*done)(Scsi_Cmnd *)); 41 int macscsi_proc_info (char *buffer, char **start, off_t offset, 42 int length, int hostno, int inout); 43 44 #ifndef NULL 45 #define NULL 0 46 #endif 47 48 #ifndef CMD_PER_LUN 49 #define CMD_PER_LUN 2 50 #endif 51 52 #ifndef CAN_QUEUE 53 #define CAN_QUEUE 16 54 #endif 55 56 #ifndef SG_TABLESIZE 57 #define SG_TABLESIZE SG_NONE 58 #endif 59 60 #ifndef USE_TAGGED_QUEUING 61 #define USE_TAGGED_QUEUING 0 62 #endif 63 64 #include <scsi/scsicam.h> 65 66 #define MAC_NCR5380 { \ 67 proc_name: "Mac5380", \ 68 proc_info: macscsi_proc_info, \ 69 name: "Macintosh NCR5380 SCSI", \ 70 detect: macscsi_detect, \ 71 release: macscsi_release, /* Release */ \ 72 info: macscsi_info, \ 73 queuecommand: macscsi_queue_command, \ 74 abort: macscsi_abort, \ 75 reset: macscsi_reset, \ 76 bios_param: scsicam_bios_param, /* biosparam */ \ 77 can_queue: CAN_QUEUE, /* can queue */ \ 78 this_id: 7, /* id */ \ 79 sg_tablesize: SG_ALL, /* sg_tablesize */ \ 80 cmd_per_lun: CMD_PER_LUN, /* cmd per lun */ \ 81 unchecked_isa_dma: 0, /* unchecked_isa_dma */ \ 82 use_clustering: DISABLE_CLUSTERING \ 83 } 84 85 #ifndef HOSTS_C 86 87 #define NCR5380_implementation_fields \ 88 int port, ctrl 89 90 #define NCR5380_local_declare() \ 91 struct Scsi_Host *_instance 92 93 #define NCR5380_setup(instance) \ 94 _instance = instance 95 96 #define NCR5380_read(reg) macscsi_read(_instance, reg) 97 #define NCR5380_write(reg, value) macscsi_write(_instance, reg, value) 98 99 #define NCR5380_pread macscsi_pread 100 #define NCR5380_pwrite macscsi_pwrite 101 102 #define NCR5380_intr macscsi_intr 103 #define NCR5380_queue_command macscsi_queue_command 104 #define NCR5380_abort macscsi_abort 105 #define NCR5380_reset macscsi_reset 106 #define NCR5380_proc_info macscsi_proc_info 107 108 #define BOARD_NORMAL 0 109 #define BOARD_NCR53C400 1 110 111 #endif /* ndef HOSTS_C */ 112 #endif /* ndef ASM */ 113 #endif /* MAC_NCR5380_H */ 114 115