cpqfcTStrigger.c
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:1k
源码类别:

Linux/Unix编程

开发平台:

Unix_Linux

  1. // Routine to trigger Finisar GTA analyzer. Runs of GPIO2
  2. // NOTE: DEBUG ONLY! Could interfere with FCMNGR/Miniport operation
  3. // since it writes directly to the Tachyon board.  This function
  4. // developed for Compaq HBA Tachyon TS v1.2 (Rev X5 PCB)
  5. #include "cpqfcTStrigger.h"
  6. #if TRIGGERABLE_HBA
  7. #include <linux/kernel.h>
  8. #include <linux/ioport.h>
  9. #include <linux/types.h>
  10. #include <linux/pci.h>
  11. #include <asm/io.h>
  12. void TriggerHBA( void* IOBaseUpper, int Print)
  13. {
  14.   __u32 long value;
  15.   // get initial value in hopes of not modifying any other GPIO line
  16.   IOBaseUpper += 0x188;  // TachTL/TS Control reg
  17.   
  18.   value = readl( IOBaseUpper);
  19.   // set HIGH to trigger external analyzer (tested on Dolche Finisar 1Gb GTA)
  20.   // The Finisar anaylzer triggers on low-to-high TTL transition
  21.   value |= 0x01; // set bit 0
  22.   writel( value, IOBaseUpper);
  23.   if( Print)
  24.     printk( " -GPIO0 set- ");
  25. }
  26. #endif