NSCL DDAS
1.0
Support for XIA DDAS at the NSCL
Main Page
User Guides
Classes
Files
File List
File Members
All
Classes
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 Mon Aug 1 2016 11:33:25 for NSCL DDAS by
1.8.1.2