mvme16x.c
上传用户:lgb322
上传日期:2013-02-24
资源大小:30529k
文件大小:1k
源码类别:

嵌入式Linux

开发平台:

Unix_Linux

  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 <asm/page.h>
  12. #include <asm/pgtable.h>
  13. #include <asm/mvme16xhw.h>
  14. #include <asm/irq.h>
  15. #include "scsi.h"
  16. #include "hosts.h"
  17. #include "53c7xx.h"
  18. #include "mvme16x.h"
  19. #include<linux/stat.h>
  20. extern ncr53c7xx_init (Scsi_Host_Template *tpnt, int board, int chip,
  21. u32 base, int io_port, int irq, int dma,
  22. long long options, int clock);
  23. int mvme16x_scsi_detect(Scsi_Host_Template *tpnt)
  24. {
  25.     static unsigned char called = 0;
  26.     int clock;
  27.     long long options;
  28.     if (!MACH_IS_MVME16x)
  29. return 0;
  30.     if (mvme16x_config & MVME16x_CONFIG_NO_SCSICHIP) {
  31. printk ("SCSI detection disabled, SCSI chip not presentn");
  32. return 0;
  33.     }
  34.     if (called)
  35. return 0;
  36.     tpnt->proc_name = "MVME16x";
  37.     options = OPTION_MEMORY_MAPPED|OPTION_DEBUG_TEST1|OPTION_INTFLY|OPTION_SYNCHRONOUS|OPTION_ALWAYS_SYNCHRONOUS|OPTION_DISCONNECT;
  38.     clock = 66000000; /* 66MHz SCSI Clock */
  39.     ncr53c7xx_init(tpnt, 0, 710, (u32)0xfff47000,
  40. 0, MVME16x_IRQ_SCSI, DMA_NONE,
  41. options, clock);
  42.     called = 1;
  43.     return 1;
  44. }
  45. static Scsi_Host_Template driver_template = MVME16x_SCSI;
  46. #include "scsi_module.c"