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