File: cpqfcTStrigger.c

package info (click to toggle)
kernel-source-2.2.19 2.2.19.1-4
  • links: PTS
  • area: main
  • in suites: potato
  • size: 92,116 kB
  • ctags: 276,892
  • sloc: ansic: 1,710,377; asm: 58,705; makefile: 10,198; sh: 2,398; perl: 907; tcl: 570; lisp: 218; cpp: 186; awk: 133; sed: 72
file content (30 lines) | stat: -rw-r--r-- 846 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// 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 <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- ");
}