1 /* 2 * Detection routine for the NCR53c710 based MVME16x SCSI Controllers for Linux. 3 * 4 * Based on work by Alan Hourihane 5 */ 6 #include <linux/types.h> 7 #include <linux/mm.h> 8 #include <linux/blk.h> 9 #include <linux/sched.h> 10 #include <linux/version.h> 11 #include <linux/zorro.h> 12 13 #include <asm/setup.h> 14 #include <asm/page.h> 15 #include <asm/pgtable.h> 16 #include <asm/bvme6000hw.h> 17 #include <asm/irq.h> 18 19 #include "scsi.h" 20 #include "hosts.h" 21 #include "53c7xx.h" 22 #include "bvme6000.h" 23 24 #include<linux/stat.h> 25 26 bvme6000_scsi_detect(Scsi_Host_Template * tpnt)27int bvme6000_scsi_detect(Scsi_Host_Template *tpnt) 28 { 29 static unsigned char called = 0; 30 int clock; 31 long long options; 32 33 if (called) 34 return 0; 35 if (!MACH_IS_BVME6000) 36 return 0; 37 38 tpnt->proc_name = "BVME6000"; 39 40 options = OPTION_MEMORY_MAPPED|OPTION_DEBUG_TEST1|OPTION_INTFLY|OPTION_SYNCHRONOUS|OPTION_ALWAYS_SYNCHRONOUS|OPTION_DISCONNECT; 41 42 clock = 40000000; /* 66MHz SCSI Clock */ 43 44 ncr53c7xx_init(tpnt, 0, 710, (u32)BVME_NCR53C710_BASE, 45 0, BVME_IRQ_SCSI, DMA_NONE, 46 options, clock); 47 called = 1; 48 return 1; 49 } 50 51 static Scsi_Host_Template driver_template = BVME6000_SCSI; 52 #include "scsi_module.c" 53