devLib2
2.12
|
Macros | |
#define | CR_ROM_CHECKSUM 0x0003 |
8-bit checksum of Configuration ROM space More... | |
#define | CR_ROM_LENGTH 0x0007 |
Number of bytes in Configuration ROM to checksum. More... | |
#define | CR_DATA_ACCESS_WIDTH 0x0013 |
Configuration ROM area (CR) data access method. More... | |
#define | CSR_DATA_ACCESS_WIDTH 0x0017 |
Control/Status Reg area (CSR) data access method. More... | |
#define | CR_SPACE_ID 0x001B |
CR/CSR space ID (VME64, VME64X, etc). More... | |
#define | CR_ASCII_C 0x001F |
ASCII "C" (identifies this as CR space) More... | |
#define | CR_ASCII_R 0x0023 |
ASCII "R" (identifies this as CR space) More... | |
#define | CR_IEEE_OUI 0x0027 |
IEEE Organizationally Unique Identifier (OUI) More... | |
#define | CR_IEEE_OUI_BYTES 3 |
Number of bytes in manufacturer's OUI. More... | |
#define | CR_BOARD_ID 0x0033 |
Manufacturer's board ID. More... | |
#define | CR_BOARD_ID_BYTES 4 |
Number of bytes in manufacturer's OUI. More... | |
#define | CR_REVISION_ID 0x0043 |
Manufacturer's board revision ID. More... | |
#define | CR_REVISION_ID_BYTES 4 |
Number of bytes in board revision ID. More... | |
#define | CR_ASCII_STRING 0x0053 |
Offset to ASCII string (manufacturer-specific) More... | |
#define | CR_PROGRAM_ID 0x007F |
Program ID code for CR space. More... | |
#define | CR_BEG_UCR 0x0083 |
Offset to start of manufacturer-defined CR space. More... | |
#define | CR_END_UCR 0x008F |
Offset to end of manufacturer-defined CR space. More... | |
#define | CR_BEG_UCSR_BYTES 3 |
Number of bytes in User CSR starting offset. More... | |
#define | CR_BEG_CRAM 0x009B |
Offset to start of Configuration RAM (CRAM) space. More... | |
#define | CR_END_CRAM 0x00A7 |
Offset to end of Configuration RAM (CRAM) space. More... | |
#define | CR_BEG_UCSR 0x00B3 |
Offset to start of manufacturer-defined CSR space. More... | |
#define | CR_END_UCSR 0x00BF |
Offset to end of manufacturer-defined CSR space. More... | |
#define | CR_BEG_SN 0x00CB |
Offset to beginning of board serial number. More... | |
#define | CR_END_SN 0x00DF |
Offset to end of board serial number. More... | |
#define | CR_SLAVE_CHAR 0x00E3 |
Board's slave-mode characteristics. More... | |
#define | CR_UD_SLAVE_CHAR 0x00E7 |
Manufacturer-defined slave-mode characteristics. More... | |
#define | CR_MASTER_CHAR 0x00EB |
Board's master-mode characteristics. More... | |
#define | CR_UD_MASTER_CHAR 0x00EF |
Manufacturer-defined master-mode characteristics. More... | |
#define | CR_IRQ_HANDLER_CAP 0x00F3 |
Interrupt levels board can respond to (handle) More... | |
#define | CR_IRQ_CAP 0x00F7 |
Interrupt levels board can assert. More... | |
#define | CR_CRAM_WIDTH 0x00FF |
Configuration RAM (CRAM) data access method) More... | |
#define | CR_FN_DAWPR(N) ( 0x0103 + (N)*0x04 ) /* N = 0 -> 7 */ |
Start of Data Access Width Parameter (DAWPR) regs. More... | |
#define | CR_DAWPR_BYTES 1 /* Number of bytes in a DAWPR register */ |
#define | CR_FN_AMCAP(N) ( 0x0123 + (N)*0x20 ) /* N = 0 -> 7 */ |
Start of Address Mode Capability (AMCAP) registers. More... | |
#define | CR_AMCAP_BYTES 8 /* Number of bytes in an AMCAP register */ |
#define | CR_FN_XAMCAP(N) ( 0x0223 + (N)*0x80 ) /* N = 0 -> 7 */ |
Start of Extended Address Mode Cap (XAMCAP) registers. More... | |
#define | CR_XAMCAP_BYTES 32 /* Number of bytes in an XAMCAP register */ |
#define | CR_FN_ADEM(N) ( 0x0623 + (N)*0x10 ) /* N = 0 -> 7 */ |
Start of Address Decoder Mask (ADEM) registers. More... | |
#define | CR_ADEM_BYTES 4 /* Number of bytes in an ADEM register */ |
#define | CR_MASTER_DAWPR 0x06AF |
Master Data Access Width Parameter. More... | |
#define | CR_MASTER_AMCAP 0x06B3 |
Master Address Mode Capabilities (8 entries) More... | |
#define | CR_MASTER_XAMCAP 0x06D3 |
Master Extended Address Mode Capabilities (8 entries) More... | |
#define | CR_SIZE 0x0750 |
Size of CR space (in total bytes) More... | |
#define | CR_BYTES (CR_SIZE>>2) |
Number of bytes in CR space. More... | |
#define | CSR_BAR 0x7ffff |
Base Address Register (MSB of our CR/CSR address) More... | |
#define | CSR_BIT_SET 0x7fffb |
Bit Set Register (writing a 1 sets the control bit) More... | |
#define | CSR_BIT_CLEAR 0x7fff7 |
Bit Clear Register (writing a 1 clears the control bit) More... | |
#define | CSR_CRAM_OWNER 0x7fff3 |
Configuration RAM Owner Register (0 = not owned) More... | |
#define | CSR_UD_BIT_SET 0x7ffef |
User-Defined Bit Set Register (for user-defined fns) More... | |
#define | CSR_UD_BIT_CLEAR 0x7ffeb |
User-Defined Bit Clear Register (for user-defined fns) More... | |
#define | CSR_FN_ADER(N) (0x7ff63 + (N)*0x10) /* N = 0 -> 7 */ |
Function N Address Decoder Compare Register (1st byte) More... | |
#define | CSR_ADER_BYTES 4 /* Number of bytes in an ADER register */ |
#define | CSR_BITSET_RESET_MODE 0x80 |
Module is in reset mode. More... | |
#define | CSR_BITSET_SYSFAIL_ENA 0x40 |
SYSFAIL driver is enabled. More... | |
#define | CSR_BITSET_MODULE_FAIL 0x20 |
Module has failed. More... | |
#define | CSR_BITSET_MODULE_ENA 0x10 |
Module is enabled. More... | |
#define | CSR_BITSET_BERR 0x08 |
Module has asserted a Bus Error. More... | |
#define | CSR_BITSET_CRAM_OWNED 0x04 |
CRAM is owned. More... | |
Common defininitions for registers found in the Configuration Rom (CR) on VME64 and VME64x cards.
These registers are addressed with the CSR address space.
The CR is a little strange in that all values are single bytes (D8), but still have 4 byte spacing. For example the Organizationaly Unique Identifier (OUI) is 3 bytes long. The first byte is offset 0x27, the second is 0x2B, and the third is 0x2F.
The following definitions were originally taken from the mrfEventSystem IOC written by: Jukka Pietarinen (Micro-Research Finland, Oy) Till Straumann (SLAC) Eric Bjorklund (LANSCE)
Corrected against 'The VMEBus Handbook' (Ch 5.6) ISBN 1-885731-08-6
#define CR_ADEM_BYTES 4 /* Number of bytes in an ADEM register */ |
#define CR_AMCAP_BYTES 8 /* Number of bytes in an AMCAP register */ |
#define CR_ASCII_C 0x001F |
#define CR_ASCII_R 0x0023 |
#define CR_ASCII_STRING 0x0053 |
#define CR_BEG_CRAM 0x009B |
#define CR_BEG_SN 0x00CB |
#define CR_BEG_UCR 0x0083 |
#define CR_BEG_UCSR 0x00B3 |
#define CR_BEG_UCSR_BYTES 3 |
#define CR_BOARD_ID_BYTES 4 |
#define CR_CRAM_WIDTH 0x00FF |
#define CR_DATA_ACCESS_WIDTH 0x0013 |
#define CR_DAWPR_BYTES 1 /* Number of bytes in a DAWPR register */ |
#define CR_END_CRAM 0x00A7 |
#define CR_END_SN 0x00DF |
#define CR_END_UCR 0x008F |
#define CR_END_UCSR 0x00BF |
#define CR_FN_ADEM | ( | N | ) | ( 0x0623 + (N)*0x10 ) /* N = 0 -> 7 */ |
#define CR_FN_AMCAP | ( | N | ) | ( 0x0123 + (N)*0x20 ) /* N = 0 -> 7 */ |
#define CR_FN_DAWPR | ( | N | ) | ( 0x0103 + (N)*0x04 ) /* N = 0 -> 7 */ |
#define CR_FN_XAMCAP | ( | N | ) | ( 0x0223 + (N)*0x80 ) /* N = 0 -> 7 */ |
#define CR_IEEE_OUI 0x0027 |
#define CR_IEEE_OUI_BYTES 3 |
#define CR_IRQ_CAP 0x00F7 |
#define CR_IRQ_HANDLER_CAP 0x00F3 |
#define CR_MASTER_AMCAP 0x06B3 |
#define CR_MASTER_CHAR 0x00EB |
#define CR_MASTER_DAWPR 0x06AF |
#define CR_MASTER_XAMCAP 0x06D3 |
#define CR_REVISION_ID 0x0043 |
#define CR_REVISION_ID_BYTES 4 |
#define CR_ROM_CHECKSUM 0x0003 |
#define CR_ROM_LENGTH 0x0007 |
#define CR_SLAVE_CHAR 0x00E3 |
#define CR_SPACE_ID 0x001B |
#define CR_UD_MASTER_CHAR 0x00EF |
#define CR_UD_SLAVE_CHAR 0x00E7 |
#define CR_XAMCAP_BYTES 32 /* Number of bytes in an XAMCAP register */ |
#define CSR_ADER_BYTES 4 /* Number of bytes in an ADER register */ |
#define CSR_BAR 0x7ffff |
#define CSR_BIT_CLEAR 0x7fff7 |
#define CSR_BIT_SET 0x7fffb |
#define CSR_BITSET_BERR 0x08 |
#define CSR_BITSET_RESET_MODE 0x80 |
#define CSR_BITSET_SYSFAIL_ENA 0x40 |
#define CSR_CRAM_OWNER 0x7fff3 |
#define CSR_DATA_ACCESS_WIDTH 0x0017 |
#define CSR_FN_ADER | ( | N | ) | (0x7ff63 + (N)*0x10) /* N = 0 -> 7 */ |
#define CSR_UD_BIT_CLEAR 0x7ffeb |