mirror of https://gitee.com/openkylin/linux.git
34 lines
901 B
C
34 lines
901 B
C
|
// 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
|