summaryrefslogtreecommitdiffstats
path: root/private/ntos/miniport/trantor/include/n53c400.h
blob: e9a798643c81423371a1d653657e060a640ef283 (plain) (blame)
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
//-----------------------------------------------------------------------
//
//  FILE: n53c400.h
//
//  N53C400 Definitions File
//
//  Revisions:
//      09-01-92 KJB First.
//      03-19-93  JAP   Implemented condition build FAR and NEAR pointers
//      03-25-93  JAP   Fixed up prototype typedef inconsistencies
//      04-01-03  KJB   Moved N53C400 register offsets away from here to
//                      cardt13b.h.  So we can use this module with the 
//                      t358.
//
//-----------------------------------------------------------------------

//  Control Register for 53C400

#define CR_RST 0x80
#define CR_DIR 0x40
#define CR_BFR_INT 0x20
#define CR_5380_INT 0x10
#define CR_SH_INT 0x8

// Status Register for 53C400

#define SR_ACCESS 0x80
#define SR_DIR 0x40
#define SR_BFR_INT 0x20
#define SR_5380_INT 0x10
#define SR_SH_INT 0x8
#define SR_HBFR_RDY 0x4
#define SR_SBFR_RDY 0x2
#define SR_IRQ_RDY 0x1

//
// Redefined routines
//

// Each N53C400 has a 5380 built in

#define N5380PortPut(g,reg,byte) \
            N53C400PortPut(g,N53C400_5380+reg,byte);

#define N5380PortGet(g,reg,byte) \
            N53C400PortGet(g,N53C400_5380+reg,byte);

//
// public functions
//

BOOLEAN N53C400CheckAdapter(PADAPTER_INFO g);
USHORT N53C400WriteBytesFast(PADAPTER_INFO g, PUCHAR pbytes, 
                        ULONG len, PULONG pActualLen, UCHAR phase);
USHORT N53C400ReadBytesFast(PADAPTER_INFO g, PUCHAR pbytes,
                        ULONG len, PULONG pActualLen, UCHAR phase);
VOID N53C400EnableInterrupt(PADAPTER_INFO g);
VOID N53C400DisableInterrupt(PADAPTER_INFO g);
VOID N53C400ResetBus(PADAPTER_INFO g);