NSCL DDAS
1.0
Support for XIA DDAS at the NSCL
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Macros
Pages
xiaapi
inc
Reg9054.h
1
#ifndef __REG9054_H
2
#define __REG9054_H
3
4
/*******************************************************************************
5
* Copyright (c) PLX Technology, Inc.
6
*
7
* PLX Technology Inc. licenses this source file under the GNU Lesser General Public
8
* License (LGPL) version 2. This source file may be modified or redistributed
9
* under the terms of the LGPL and without express permission from PLX Technology.
10
*
11
* PLX Technology, Inc. provides this software AS IS, WITHOUT ANY WARRANTY,
12
* EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY WARRANTY OF
13
* MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. PLX makes no guarantee
14
* or representations regarding the use of, or the results of the use of,
15
* the software and documentation in terms of correctness, accuracy,
16
* reliability, currentness, or otherwise; and you rely on the software,
17
* documentation and results solely at your own risk.
18
*
19
* IN NO EVENT SHALL PLX BE LIABLE FOR ANY LOSS OF USE, LOSS OF BUSINESS,
20
* LOSS OF PROFITS, INDIRECT, INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES
21
* OF ANY KIND.
22
*
23
******************************************************************************/
24
25
/******************************************************************************
26
*
27
* File Name:
28
*
29
* Reg9054.h
30
*
31
* Description:
32
*
33
* This file defines all the PLX 9054 chip Registers.
34
*
35
* Revision:
36
*
37
* 11-01-06 : PLX SDK v5.00
38
*
39
******************************************************************************/
40
41
42
#include "PciRegs.h"
43
44
45
#ifdef __cplusplus
46
extern
"C"
{
47
#endif
48
49
50
#if defined(PLX_LOCAL_CODE)
51
#define PCI9054_REG_BASE 0x080
52
#define PCI9054_NEW_CAP_BASE 0x140
53
#define PCI9054_MAX_REG_OFFSET 0x194
54
#else
55
#define PCI9054_REG_BASE 0x000
56
#define PCI9054_NEW_CAP_BASE 0x000
57
#define PCI9054_MAX_REG_OFFSET 0x100
58
#endif
59
60
61
// Additional defintions
62
#define PCI9054_EEPROM_SIZE 0x058 // EEPROM size (bytes) used by PLX Chip
63
#define PCI9054_DMA_CHANNELS 2 // Number of DMA channels supported by PLX Chip
64
65
66
// PCI Configuration Registers
67
#define PCI9054_VENDOR_ID CFG_VENDOR_ID
68
#define PCI9054_COMMAND CFG_COMMAND
69
#define PCI9054_REV_ID CFG_REV_ID
70
#define PCI9054_CACHE_SIZE CFG_CACHE_SIZE
71
#define PCI9054_RTR_BASE CFG_BAR0
72
#define PCI9054_RTR_IO_BASE CFG_BAR1
73
#define PCI9054_LOCAL_BASE0 CFG_BAR2
74
#define PCI9054_LOCAL_BASE1 CFG_BAR3
75
#define PCI9054_UNUSED_BASE1 CFG_BAR4
76
#define PCI9054_UNUSED_BASE2 CFG_BAR5
77
#define PCI9054_CIS_PTR CFG_CIS_PTR
78
#define PCI9054_SUB_ID CFG_SUB_VENDOR_ID
79
#define PCI9054_EXP_ROM_BASE CFG_EXP_ROM_BASE
80
#define PCI9054_CAP_PTR CFG_CAP_PTR
81
#define PCI9054_RESERVED2 CFG_RESERVED1
82
#define PCI9054_INT_LINE CFG_INT_LINE
83
#define PCI9054_PM_CAP_ID (PCI9054_NEW_CAP_BASE + 0x040)
84
#define PCI9054_PM_CSR (PCI9054_NEW_CAP_BASE + 0x044)
85
#define PCI9054_HS_CAP_ID (PCI9054_NEW_CAP_BASE + 0x048)
86
#define PCI9054_VPD_CAP_ID (PCI9054_NEW_CAP_BASE + 0x04c)
87
#define PCI9054_VPD_DATA (PCI9054_NEW_CAP_BASE + 0x050)
88
89
90
// Local Configuration Registers
91
#define PCI9054_SPACE0_RANGE (PCI9054_REG_BASE + 0x000)
92
#define PCI9054_SPACE0_REMAP (PCI9054_REG_BASE + 0x004)
93
#define PCI9054_LOCAL_DMA_ARBIT (PCI9054_REG_BASE + 0x008)
94
#define PCI9054_ENDIAN_DESC (PCI9054_REG_BASE + 0x00c)
95
#define PCI9054_EXP_ROM_RANGE (PCI9054_REG_BASE + 0x010)
96
#define PCI9054_EXP_ROM_REMAP (PCI9054_REG_BASE + 0x014)
97
#define PCI9054_SPACE0_ROM_DESC (PCI9054_REG_BASE + 0x018)
98
#define PCI9054_DM_RANGE (PCI9054_REG_BASE + 0x01c)
99
#define PCI9054_DM_MEM_BASE (PCI9054_REG_BASE + 0x020)
100
#define PCI9054_DM_IO_BASE (PCI9054_REG_BASE + 0x024)
101
#define PCI9054_DM_PCI_MEM_REMAP (PCI9054_REG_BASE + 0x028)
102
#define PCI9054_DM_PCI_IO_CONFIG (PCI9054_REG_BASE + 0x02c)
103
#define PCI9054_SPACE1_RANGE (PCI9054_REG_BASE + 0x0f0)
104
#define PCI9054_SPACE1_REMAP (PCI9054_REG_BASE + 0x0f4)
105
#define PCI9054_SPACE1_DESC (PCI9054_REG_BASE + 0x0f8)
106
#define PCI9054_DM_DAC (PCI9054_REG_BASE + 0x0fc)
107
108
109
// Runtime Registers
110
#if defined(PLX_LOCAL_CODE)
111
#define PCI9054_MAILBOX0 0x0c0
112
#define PCI9054_MAILBOX1 0x0c4
113
#else
114
#define PCI9054_MAILBOX0 0x078
115
#define PCI9054_MAILBOX1 0x07c
116
#endif
117
118
#define PCI9054_MAILBOX2 (PCI9054_REG_BASE + 0x048)
119
#define PCI9054_MAILBOX3 (PCI9054_REG_BASE + 0x04c)
120
#define PCI9054_MAILBOX4 (PCI9054_REG_BASE + 0x050)
121
#define PCI9054_MAILBOX5 (PCI9054_REG_BASE + 0x054)
122
#define PCI9054_MAILBOX6 (PCI9054_REG_BASE + 0x058)
123
#define PCI9054_MAILBOX7 (PCI9054_REG_BASE + 0x05c)
124
#define PCI9054_LOCAL_DOORBELL (PCI9054_REG_BASE + 0x060)
125
#define PCI9054_PCI_DOORBELL (PCI9054_REG_BASE + 0x064)
126
#define PCI9054_INT_CTRL_STAT (PCI9054_REG_BASE + 0x068)
127
#define PCI9054_EEPROM_CTRL_STAT (PCI9054_REG_BASE + 0x06c)
128
#define PCI9054_PERM_VENDOR_ID (PCI9054_REG_BASE + 0x070)
129
#define PCI9054_REVISION_ID (PCI9054_REG_BASE + 0x074)
130
131
132
// DMA Registers
133
#define PCI9054_DMA0_MODE (PCI9054_REG_BASE + 0x080)
134
#define PCI9054_DMA0_PCI_ADDR (PCI9054_REG_BASE + 0x084)
135
#define PCI9054_DMA0_LOCAL_ADDR (PCI9054_REG_BASE + 0x088)
136
#define PCI9054_DMA0_COUNT (PCI9054_REG_BASE + 0x08c)
137
#define PCI9054_DMA0_DESC_PTR (PCI9054_REG_BASE + 0x090)
138
#define PCI9054_DMA1_MODE (PCI9054_REG_BASE + 0x094)
139
#define PCI9054_DMA1_PCI_ADDR (PCI9054_REG_BASE + 0x098)
140
#define PCI9054_DMA1_LOCAL_ADDR (PCI9054_REG_BASE + 0x09c)
141
#define PCI9054_DMA1_COUNT (PCI9054_REG_BASE + 0x0a0)
142
#define PCI9054_DMA1_DESC_PTR (PCI9054_REG_BASE + 0x0a4)
143
#define PCI9054_DMA_COMMAND_STAT (PCI9054_REG_BASE + 0x0a8)
144
#define PCI9054_DMA_ARBIT (PCI9054_REG_BASE + 0x0ac)
145
#define PCI9054_DMA_THRESHOLD (PCI9054_REG_BASE + 0x0b0)
146
#define PCI9054_DMA0_PCI_DAC (PCI9054_REG_BASE + 0x0b4)
147
#define PCI9054_DMA1_PCI_DAC (PCI9054_REG_BASE + 0x0b8)
148
149
150
// Messaging Unit Registers
151
#define PCI9054_OUTPOST_INT_STAT (PCI9054_REG_BASE + 0x030)
152
#define PCI9054_OUTPOST_INT_MASK (PCI9054_REG_BASE + 0x034)
153
#define PCI9054_MU_CONFIG (PCI9054_REG_BASE + 0x0c0)
154
#define PCI9054_FIFO_BASE_ADDR (PCI9054_REG_BASE + 0x0c4)
155
#define PCI9054_INFREE_HEAD_PTR (PCI9054_REG_BASE + 0x0c8)
156
#define PCI9054_INFREE_TAIL_PTR (PCI9054_REG_BASE + 0x0cc)
157
#define PCI9054_INPOST_HEAD_PTR (PCI9054_REG_BASE + 0x0d0)
158
#define PCI9054_INPOST_TAIL_PTR (PCI9054_REG_BASE + 0x0d4)
159
#define PCI9054_OUTFREE_HEAD_PTR (PCI9054_REG_BASE + 0x0d8)
160
#define PCI9054_OUTFREE_TAIL_PTR (PCI9054_REG_BASE + 0x0dc)
161
#define PCI9054_OUTPOST_HEAD_PTR (PCI9054_REG_BASE + 0x0e0)
162
#define PCI9054_OUTPOST_TAIL_PTR (PCI9054_REG_BASE + 0x0e4)
163
#define PCI9054_FIFO_CTRL_STAT (PCI9054_REG_BASE + 0x0e8)
164
165
166
167
168
#ifdef __cplusplus
169
}
170
#endif
171
172
#endif
Generated on Tue Mar 31 2020 13:10:44 for NSCL DDAS by
1.8.8