GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> LCBD / V1-5-0 > test_err / rad750


Interface   Data Structures   File List   Data Fields   Globals  

LCB_cr.h File Reference

Defines the command (request) and result items and lists for access to the LCB internal registers and functionality. More...

#include "PBI/Endianness.h"
#include "LCBD/LATP.h"

Classes

struct  _LCB_cl_hdr
 Layout of a command list header. More...
struct  _LCB_ci_hdr_bf
 Structure to map out the bit fields of a command item header. More...
union  _LCB_ci_hdr
 Union of an uninterpretted 32-bit integer with the bit field representation. More...
struct  _LCB_ci_cmd_payload
 Lays out the payload portion of the transmit command and transmit command with response. More...
struct  _LCB_ci_simple
 Defines a simple command item. More...
struct  _LCB_cl_simple
 Defines a simple command list. More...
struct  _LCB_ci_reg
 Defines a register access command item. More...
struct  _LCB_cl_reg
 Defines the register access command list. More...
struct  _LCB_rl_hdr
 Layout of a result list header. More...
struct  _LCB_ri_hdr_bf
 layout of a 32-bit result item header More...
union  _LCB_ri_hdr
 union for 32-bit LCB result item header More...
struct  _LCB_ri_err_bf
 layout of a 32-bit LCB result item error field More...
union  _LCB_ri_err
 union for 32-bit LCB result item error More...
struct  _LCB_ri_simple
 layout of a simple LCB result item More...
struct  _LCB_rl_simple
 Defines a simple result list. More...
struct  _LCB_ri_cmd_payload
 Lays out the payload portion of the transmit command and transmit command with response. More...
struct  _LCB_ri_response
 layout of a response LCB result item More...
struct  _LCB_rl_response
 Defines a response result list. More...
struct  _LCB_ri_reg
 layout of a register response LCB result item More...
struct  _LCB_rl_reg
 Defines the register access result list. More...
struct  _LCB_ci_cmd
 Defines the transmit command without wait on response. More...
struct  _LCB_cl_cmd
 Defines a transmit commmand command list. More...
struct  _LCB_ci_event
 Defines the event transfer command item. More...
struct  _LCB_cl_event
 Defines the event command list. More...
struct  _LCB_ci_cmdr
 Defines the transmit command with wait on response. More...
struct  _LCB_cl_cmdr
 Defines a transmit commmand with wait on response command list. More...
struct  _LCB_csr_bf
 Bit field map of the LCB's LATp backend CSR register. More...
union  _LCB_csr
 union for 32-bit CSR register More...
struct  _LCB_faults_bf
 Bit map of the LATp backend FIFO FAULTS register. More...
union  _LCB_faults
 Union for 32-bit FIFO FAULTs register. More...
struct  _LCB_rxstats_bf
 Bit map of the LATp backend RECEIVE STATISTICS/STATUS register. More...
union  _LCB_rxstats
 Union for 32-bit RECEIVE STATISTICS/STATUS register. More...
union  _LCB_ci
 Defines a union of all command item. More...
struct  _LCB_cl
 Defines a structure encompassing all command lists. More...
union  _LCB_ri
 union for the two types of result item More...
struct  _LCB_rl
 Defines a structure encompassing all result lists. More...

Defines

#define LCB_RESULT_ADDR_MASK   (~0xF)
 Bitmask for the LCB result descriptor address bits.
#define LCB_REQUEST_ADDR_MASK   (~0x1FF)
 Bitmask for the LCB request descriptor address bits.
#define LCB_CI_HDR(_len32, _opcode)   (((_len32) << LCB_CI_HDR_V_LEN) | ((_opcode) << LCB_CI_HDR_V_OPCODE))
 Composes the header word for a command item.
#define LCB_CI_EVENT_LEN_32(_ints)
 Rounds the given number of integers to the next highest number of cells, returning the answer in ints.
#define LCB_CI_EVENT(_name, _n32)
 Defines a struct and typedef of the specified name for an event command item of the specified size.
#define LCB_CI_CMD(_payload, _stall)   { LCB_CI_HDR_CMD, _payload, _stall }
 Provides a method of statically composing a data statement that can be used to initialize a TRANSMIT COMMAND with no response command item.
#define LCB_CI_MARK_TIME(_stall)   { LCB_CI_HDR_MARK_TIME, _stall }
 Provides a method of statically composing a data statement that can be used to initialize a MARK TIME command item.
#define LCB_CI_LAT_RESET(_stall)   { LCB_CI_HDR_LAT_RESET, _stall }
 Provides a method of statically composing a data statement that can be used to initialize a LAT RESET command item.
#define LCB_CI_CMDR(_payload, _timeout)   { LCB_CI_HDR_CMDR, _payload, _timeout }
 Provides a method of statically composing a data statement that can be used to initialize a TRANSMIT COMMAND with no response command item.
#define LCB_CI_CSR(_value, _field_select, _stall)   { LCB_CI_HDR_CSR, _value, _field_select, _stall }
 Provides a method of statically composing a data statement that can be used to initialize a CSR ACCESS command item.
#define LCB_CI_FAULTS(_value, _field_select, _stall)   { LCB_CI_HDR_FAULTS, _value, _field_select, _stall }
 Provides a method of statically composing a data statement that can be used to initialize a FIFO FAULTS ACCESS command item.
#define LCB_CI_RXSTATS(_value, _field_select, _stall)   { LCB_CI_HDR_RXSTATS, _value, _field_select, _stall }
 Provides a method of statically composing a data statement that can be used to initialize a RECEIVE STATISTICS/STATUS ACCESS command item.

Typedefs

typedef enum _LCB_OPCODE LCB_OPCODE
 Typedefs for enum.
typedef enum
_LCB_CI_N4BYTES 
LCB_CI_N4BYTES
 Typedef for enum _LCB_CI_N4BYTES.
typedef enum
_LCB_CI_N8BYTES 
LCB_CI_N8BYTES
 Typedef for enum _LCB_CI_N8BYTES.
typedef struct
_LCB_cl_hdr 
LCB_cl_hdr
 Typedef for struct _LCB_cl_hdr.
typedef enum
_LCB_CI_HDR_S 
LCB_CI_HDR_S
 Typedef for enum _LCB_CI_HDR_S.
typedef enum
_LCB_CI_HDR_V 
LCB_CI_HDR_V
 Typedef for enum _LCB_CI_HDR_V.
typedef enum
_LCB_CI_HDR_M 
LCB_CI_HDR_M
 Typedef for enum _LCB_CI_HDR_M.
typedef struct
_LCB_ci_hdr_bf 
LCB_ci_hdr_bf
 Typedef for struct _LCB_ci_hdr_bf.
typedef union _LCB_ci_hdr LCB_ci_hdr
 Typedef for union _LCB_ci_hdr.
typedef enum _LCB_CI_HDR LCB_CI_HDR
 Typedefs for enum.
typedef union
_LATP_cell_hdr 
LCB_ci_latp
 Synomyn for union _LATP_cell_hdr, just to keep the naming conventions consistent.
typedef struct
_LCB_ci_cmd_payload 
LCB_ci_cmd_payload
 Typedef for struct _LCB_ci_cmd_payload.
typedef struct
_LCB_ci_simple 
LCB_ci_simple
 Typedef for struct.
typedef struct
_LCB_cl_simple 
LCB_cl_simple
 Typedef for struct.
typedef struct
_LCB_ci_reg 
LCB_ci_reg
 Typedef for struct.
typedef struct
_LCB_cl_reg 
LCB_cl_reg
 Typedef for struct.
typedef enum
_LCB_RI_N4BYTES 
LCB_RI_N4BYTES
 Typedef for enum _LCB_RI_N4BYTES.
typedef enum
_LCB_RI_N8BYTES 
LCB_RI_N8BYTES
 Typedef for enum _LCB_RI_N8BYTES.
typedef struct
_LCB_rl_hdr 
LCB_rl_hdr
 Typedef for struct _LCB_rl_hdr.
typedef enum
_LCB_RI_HDR_S 
LCB_RI_HDR_S
 Typedef for enum _LCB_RI_HDR_S.
typedef enum
_LCB_RI_HDR_V 
LCB_RI_HDR_V
 Typedef for enum _LCB_RI_HDR_V.
typedef enum
_LCB_RI_HDR_M 
LCB_RI_HDR_M
 Typedef for enum _LCB_RI_HDR_M.
typedef struct
_LCB_ri_hdr_bf 
LCB_ri_hdr_bf
 Typedef for struct _LCB_ri_hdr_bf.
typedef union _LCB_ri_hdr LCB_ri_hdr
 Typedef for union _LCB_ri_hdr.
typedef enum
_LCB_RI_ERR_S 
LCB_RI_ERR_S
 Typedef for enum _LCB_RI_ERR_S.
typedef enum
_LCB_RI_ERR_V 
LCB_RI_ERR_V
 Typedef for enum _LCB_RI_ERR_V.
typedef enum
_LCB_RI_ERR_M 
LCB_RI_ERR_M
 Typedef for enum _LCB_RI_ERR_M.
typedef struct
_LCB_ri_err_bf 
LCB_ri_err_bf
 Typedef for struct _LCB_ri_err_bf.
typedef union _LCB_ri_err LCB_ri_err
 Typedef for union _LCB_ri_err.
typedef struct
_LCB_ri_simple 
LCB_ri_simple
 Typedef for struct _LCB_ri_simple.
typedef struct
_LCB_rl_simple 
LCB_rl_simple
 Typedef for struct.
typedef struct
_LCB_ri_cmd_payload 
LCB_ri_cmd_payload
 Typedef for struct _LCB_ri_cmd_payload.
typedef struct
_LCB_ri_response 
LCB_ri_response
 Typedef for struct _LCB_ri_response.
typedef struct
_LCB_rl_response 
LCB_rl_response
 Typedef for struct.
typedef struct
_LCB_ri_reg 
LCB_ri_reg
 Typedef for struct _LCB_ri_reg.
typedef struct
_LCB_rl_reg 
LCB_rl_reg
 Typedef for struct.
typedef struct
_LCB_ci_cmd 
LCB_ci_cmd
 Typedef for struct.
typedef struct
_LCB_cl_cmd 
LCB_cl_cmd
 Typedef for struct.
typedef LCB_ri_simple LCB_ri_cmd
 Defines the transmit command result item.
typedef LCB_rl_simple LCB_rl_cmd
 Typedef for the transmit command result list.
typedef LCB_ci_simple LCB_ci_mark_time
 Typedef for the mark time command item.
typedef LCB_cl_simple LCB_cl_mark_time
 Typedef for the mark time command list.
typedef LCB_ri_simple LCB_ri_mark_time
 Typedef for the mark time result item.
typedef LCB_rl_simple LCB_rl_mark_time
 Typedef for the mark time result list.
typedef union
_LATP_pckt_hdr 
LCB_ci_event_pckt_hdr
 Synoymn for union _LATP_pckt_hdr, just to keep the naming conventions consistent.
typedef struct
_LCB_ci_event 
LCB_ci_event
 Typedef for struct.
typedef struct
_LCB_cl_event 
LCB_cl_event
 Typedef for struct.
typedef LCB_ri_simple LCB_ri_event
 Typedef for struct.
typedef LCB_rl_simple LCB_rl_event
 Typedef for struct.
typedef struct
_LCB_ci_cmdr 
LCB_ci_cmdr
 Typedef for struct.
typedef struct
_LCB_cl_cmdr 
LCB_cl_cmdr
 Typedef for struct.
typedef LCB_ri_response LCB_ri_cmdr
 Typedef for the transfer command and wait on response result item.
typedef LCB_rl_response LCB_rl_cmdr
 Typedef for the transmit command and wait on response result list.
typedef LCB_ci_simple LCB_ci_lat_reset
 Typedef for the Reset LAT command item.
typedef LCB_cl_simple LCB_cl_lat_reset
 Typedef for the Reset LAT command list.
typedef LCB_ri_simple LCB_ri_lat_reset
 Typedef for the Reset LAT result item.
typedef LCB_rl_simple LCB_rl_lat_reset
 Typedef for the Reset LAT result list.
typedef enum _LCB_CSR_S LCB_CSR_S
 Typedef for enum _LCB_CSR_S.
typedef enum _LCB_CSR_V LCB_CSR_V
 Typedef for enum _LCB_CSR_V.
typedef enum _LCB_CSR_M LCB_CSR_M
 Typedef for enum _LCB_CSR_M.
typedef struct
_LCB_csr_bf 
LCB_csr_bf
 Typedef form struct.
typedef union _LCB_csr LCB_csr
 typedef for union
typedef LCB_ci_reg LCB_ci_csr
 Typedef for the CSR command item.
typedef LCB_cl_reg LCB_cl_csr
 Typedef for the CSR command list.
typedef LCB_ri_reg LCB_ri_csr
 Typedef for the CSR result item.
typedef LCB_rl_reg LCB_rl_csr
 Typedef for the CSR result list.
typedef enum
_LCB_FAULTS_S 
LCB_FAULTS_S
 Typedef for enum _LCB_FAULTS_S.
typedef enum
_LCB_FAULTS_V 
LCB_FAULTS_V
 Typedef for enum _LCB_FAULTS_V.
typedef enum
_LCB_FAULTS_M 
LCB_FAULTS_M
 Typedef for enum _LCB_FAULTS_M.
typedef struct
_LCB_faults_bf 
LCB_faults_bf
 Typedef for struct.
typedef union _LCB_faults LCB_faults
 Typedef for union.
typedef LCB_ci_reg LCB_ci_faults
 Typedef for the FIFO Faults request item.
typedef LCB_cl_reg LCB_cl_faults
 Typedef for the FIFO Faults request list.
typedef LCB_ri_reg LCB_ri_faults
 Typedef for the FIFO Faults result item.
typedef LCB_rl_reg LCB_rl_faults
 Typedef for the FIFO Faults result list.
typedef enum
_LCB_RXSTATS_S 
LCB_RXSTATS_S
 Typedef for enum _LCB_RXSTATS_S.
typedef enum
_LCB_RXSTATS_V 
LCB_RXSTATS_V
 Typedef for enum _LCB_RXSTATS_V.
typedef enum
_LCB_RXSTATS_M 
LCB_RXSTATS_M
 Typedef for enum _LCB_RXSTATS_M.
typedef struct
_LCB_rxstats_bf 
LCB_rxstats_bf
 Typedef for struct.
typedef union
_LCB_rxstats 
LCB_rxstats
 Typedef for union.
typedef LCB_ci_reg LCB_ci_rxstats
 Typedef for the RECEIVE STATISTICS/STATUS request item.
typedef LCB_cl_reg LCB_cl_rxstats
 Typedef for the RECEIVE STATISTICS/STATUS request list.
typedef LCB_ri_reg LCB_ri_rxstats
 Typedef for the RECEIVE STATISTICS/STATUS result item.
typedef LCB_rl_reg LCB_rl_rxstats
 Typedef for the RECEIVE STATISTICS/STATUS result list.
typedef union _LCB_ci LCB_ci
 Typedef for struct.
typedef struct _LCB_cl LCB_cl
 Typedef for struct.
typedef union _LCB_ri LCB_ri
 Typedef for union _LCB_ri.
typedef struct _LCB_rl LCB_rl
 Typedef for struct.

Enumerations

enum  _LCB_OPCODE {
  LCB_OPCODE_CMD = 0x0,
  LCB_OPCODE_MARK_TIME = 0x1,
  LCB_OPCODE_EVENT = 0x2,
  LCB_OPCODE_LAT_RESET = 0x3,
  LCB_OPCODE_CMDR = 0x4,
  LCB_OPCODE_CSR = 0x5,
  LCB_OPCODE_6 = 0x6,
  LCB_OPCODE_FAULTS = 0x7,
  LCB_OPCODE_8 = 0x8,
  LCB_OPCODE_RXSTATS = 0x9,
  LCB_OPCODE_A = 0x6,
  LCB_OPCODE_B = 0x6,
  LCB_OPCODE_C = 0x6,
  LCB_OPCODE_D = 0x6,
  LCB_OPCODE_E = 0x6,
  LCB_OPCODE_F = 0x6
}
 Enumerates the values of the opcodes for each of the LCB's commands. More...
enum  _LCB_CI_N4BYTES {
  LCB_CI_N4BYTES_CMD = 6,
  LCB_CI_N4BYTES_MARK_TIME = 2,
  LCB_CI_N4BYTES_EVENT = 2,
  LCB_CI_N4BYTES_LAT_RESET = 2,
  LCB_CI_N4BYTES_CMDR = 6,
  LCB_CI_N4BYTES_CSR = 4,
  LCB_CI_N4BYTES_FAULTS = 4,
  LCB_CI_N4BYTES_RXSTATS = 4
}
 Enumerates the size, in 4 bytes units, of each result item. More...
enum  _LCB_CI_N8BYTES {
  LCB_CI_N8BYTES_CMD = 3,
  LCB_CI_N8BYTES_MARK_TIME = 1,
  LCB_CI_N8BYTES_EVENT = 1,
  LCB_CI_N8BYTES_LAT_RESET = 1,
  LCB_CI_N8BYTES_CMDR = 3,
  LCB_CI_N8BYTES_CSR = 2,
  LCB_CI_N8BYTES_FAULTS = 2,
  LCB_CI_N8BYTES_RXSTATS = 2
}
 Enumerates the size, in 8 bytes units, of each result item. More...
enum  _LCB_CI_HDR_S {
  LCB_CI_HDR_S_OPCODE = 4,
  LCB_CI_HDR_S_MBZ0 = 12,
  LCB_CI_HDR_S_LEN = 10,
  LCB_CI_HDR_S_MBZ1 = 6
}
 LCB command item header field sizes, in bits. More...
enum  _LCB_CI_HDR_V {
  LCB_CI_HDR_V_OPCODE = 0,
  LCB_CI_HDR_V_MBZ0 = 4,
  LCB_CI_HDR_V_LEN = 16,
  LCB_CI_HDR_V_MBZ1 = 22
}
 LCB command item header field right bit offsets. More...
enum  _LCB_CI_HDR_M {
  LCB_CI_HDR_M_OPCODE = 0x0000000f,
  LCB_CI_HDR_M_MBZ0 = 0x0000fff0,
  LCB_CI_HDR_M_LEN = 0x03ff0000,
  LCB_CI_HDR_M_MBZ1 = 0xfc000000
}
 LCB command item header field, in place masks. More...
enum  _LCB_CI_HDR {
  LCB_CI_HDR_CMD = HDR (4,CMD),
  LCB_CI_HDR_MARK_TIME = HDR (0,MARK_TIME),
  LCB_CI_HDR_LAT_RESET = HDR (0,LAT_RESET),
  LCB_CI_HDR_CMDR = HDR (4,CMDR),
  LCB_CI_HDR_CSR = HDR (2,CSR ),
  LCB_CI_HDR_FAULTS = HDR (2,FAULTS),
  LCB_CI_HDR_RXSTATS = HDR (2,RXSTATS)
}
 Enumerates the values of the command item header (length/opcode) word for each of the LCB's commands. More...
enum  _LCB_RI_N4BYTES {
  LCB_RI_N4BYTES_CMD = 2,
  LCB_RI_N4BYTES_MARK_TIME = 2,
  LCB_RI_N4BYTES_EVENT = 2,
  LCB_RI_N4BYTES_LAT_RESET = 2,
  LCB_RI_N4BYTES_CMDR = 6,
  LCB_RI_N4BYTES_CSR = 4,
  LCB_RI_N4BYTES_FAULTS = 4,
  LCB_RI_N4BYTES_RXSTATS = 4
}
 Enumerates the size, in 4 bytes units, of each result item. More...
enum  _LCB_RI_N8BYTES {
  LCB_RI_N8BYTES_CMD = 1,
  LCB_RI_N8BYTES_MARK_TIME = 1,
  LCB_RI_N8BYTES_EVENT = 1,
  LCB_RI_N8BYTES_LAT_RESET = 1,
  LCB_RI_N8BYTES_CMDR = 3,
  LCB_RI_N8BYTES_CSR = 2,
  LCB_RI_N8BYTES_FAULTS = 2,
  LCB_RI_N8BYTES_RXSTATS = 2
}
 Enumerates the size, in 8 bytes units, of each result item. More...
enum  _LCB_RI_HDR_S {
  LCB_RI_HDR_S_TIMESTAMP = 24,
  LCB_RI_HDR_S_RESERVED1 = 4,
  LCB_RI_HDR_S_OPCODE = 4
}
 LCB result item header field sizes, in bits. More...
enum  _LCB_RI_HDR_V {
  LCB_RI_HDR_V_TIMESTAMP = 0,
  LCB_RI_HDR_V_RESERVED1 = 24,
  LCB_RI_HDR_V_OPCODE = 28
}
 LCB result item header field sizes, right offset. More...
enum  _LCB_RI_HDR_M {
  LCB_RI_HDR_M_TIMESTAMP = 0x00ffffff,
  LCB_RI_HDR_M_RESERVED1 = 0x0f000000,
  LCB_RI_HDR_M_OPCODE = 0xf0000000
}
 LCB result item header field sizes, in place masks. More...
enum  _LCB_RI_ERR_S {
  LCB_RI_ERR_S_ERR = 16,
  LCB_RI_ERR_S_RESERVED1 = 16
}
 Result item error fields, size in bits. More...
enum  _LCB_RI_ERR_V {
  LCB_RI_ERR_V_ERR = 16,
  LCB_RI_ERR_V_RESERVED1 = 16
}
 Result item error fields, right offset. More...
enum  _LCB_RI_ERR_M {
  LCB_RI_ERR_M_ERR = 0x0000ffff,
  LCB_RI_ERR_M_RESERVED1 = 0xffff0000
}
 Result item error fields, in place masks. More...
enum  _LCB_CSR_S {
  LCB_CSR_S_USER_0 = 1,
  LCB_CSR_S_EVT_ENABLE = 1,
  LCB_CSR_S_ICLK_TRAILING = 1,
  LCB_CSR_S_OCLK_TRAILING = 1,
  LCB_CSR_S_HDR_PARITY = 1,
  LCB_CSR_S_PAYLOAD_PARITY = 1,
  LCB_CSR_S_BACK_PRESSURE = 1,
  LCB_CSR_S_USER_1 = 1,
  LCB_CSR_S_BOARD_ID = 5,
  LCB_CSR_S_MUST_BE_1 = 1,
  LCB_CSR_S_LATP8 = 1,
  LCB_CSR_S_RESET = 1,
  LCB_CSR_S_EVT_PAUSED = 1,
  LCB_CSR_S_USER = 7,
  LCB_CSR_S_VERSION = 8
}
 The sizes, in bits of the LATp backend CSR register fields. More...
enum  _LCB_CSR_V {
  LCB_CSR_V_USER_0 = 0,
  LCB_CSR_V_EVT_ENABLE = 1,
  LCB_CSR_V_ICLK_TRAILING = 2,
  LCB_CSR_V_OCLK_TRAILING = 3,
  LCB_CSR_V_HDR_PARITY = 4,
  LCB_CSR_V_PAYLOAD_PARITY = 5,
  LCB_CSR_V_BACK_PRESSURE = 6,
  LCB_CSR_V_USER_1 = 7,
  LCB_CSR_V_BOARD_ID = 8,
  LCB_CSR_V_MUST_BE_1 = 13,
  LCB_CSR_V_LATP8 = 14,
  LCB_CSR_V_RESET = 15,
  LCB_CSR_V_EVT_PAUSED = 16,
  LCB_CSR_V_USER = 17,
  LCB_CSR_V_VERSION = 24
}
 The right shift offset of the LATp backend CSR register fields. More...
enum  _LCB_CSR_M {
  LCB_CSR_M_USER_0 = (0x01 << LCB_CSR_V_USER_0),
  LCB_CSR_M_EVT_ENABLE = (0x01 << LCB_CSR_V_EVT_ENABLE),
  LCB_CSR_M_ICLK_TRAILING = (0x01 << LCB_CSR_V_ICLK_TRAILING),
  LCB_CSR_M_OCLK_TRAILING = (0x01 << LCB_CSR_V_OCLK_TRAILING),
  LCB_CSR_M_HDR_PARITY = (0x01 << LCB_CSR_V_HDR_PARITY),
  LCB_CSR_M_PAYLOAD_PARITY = (0x01 << LCB_CSR_V_PAYLOAD_PARITY),
  LCB_CSR_M_BACK_PRESSURE = (0x01 << LCB_CSR_V_BACK_PRESSURE),
  LCB_CSR_M_USER_1 = (0x01 << LCB_CSR_V_USER_1),
  LCB_CSR_M_BOARD_ID = (0x1f << LCB_CSR_V_BOARD_ID),
  LCB_CSR_M_MUST_BE_1 = (0x01 << LCB_CSR_V_MUST_BE_1),
  LCB_CSR_M_LATP8 = (0x01 << LCB_CSR_V_LATP8),
  LCB_CSR_M_RESET = (0x01 << LCB_CSR_V_RESET),
  LCB_CSR_M_EVT_PAUSED = (0x01 << LCB_CSR_V_EVT_PAUSED),
  LCB_CSR_M_USER = (0x7f << LCB_CSR_V_USER),
  LCB_CSR_M_VERSION = (0xff << LCB_CSR_V_VERSION)
}
 The in place mask of the LATp backend CSR register fields. More...
enum  _LCB_FAULTS_S {
  LCB_FAULTS_S_PENDEVT_ER = 1,
  LCB_FAULTS_S_PENDEVT_FW = 1,
  LCB_FAULTS_S_EVTBUF_ER = 1,
  LCB_FAULTS_S_EVTBUF_FW = 1,
  LCB_FAULTS_S_RSTBUF_ER = 1,
  LCB_FAULTS_S_RSTBUF_FW = 1,
  LCB_FAULTS_S_PENDRST_ER = 1,
  LCB_FAULTS_S_PENDRST_FW = 1,
  LCB_FAULTS_S_REQBUF_ER = 1,
  LCB_FAULTS_S_REQBUF_FW = 1,
  LCB_FAULTS_S_PENDREQ_ER = 1,
  LCB_FAULTS_S_PENDREQ_FW = 1,
  LCB_FAULTS_S_UNUSED1 = 20
}
 The sizes, in bits of the LATp backend FAULTS register fields. More...
enum  _LCB_FAULTS_V {
  LCB_FAULTS_V_PENDEVT_ER = 0,
  LCB_FAULTS_V_PENDEVT_FW = 1,
  LCB_FAULTS_V_EVTBUF_ER = 2,
  LCB_FAULTS_V_EVTBUF_FW = 3,
  LCB_FAULTS_V_RSTBUF_ER = 4,
  LCB_FAULTS_V_RSTBUF_FW = 5,
  LCB_FAULTS_V_PENDRST_ER = 6,
  LCB_FAULTS_V_PENDRST_FW = 7,
  LCB_FAULTS_V_REQBUF_ER = 8,
  LCB_FAULTS_V_REQBUF_FW = 9,
  LCB_FAULTS_V_PENDREQ_ER = 10,
  LCB_FAULTS_V_PENDREQ_FW = 11,
  LCB_FAULTS_V_UNUSED1 = 12
}
 The right offset, in bits, of the LATp backend FAULTS register fields. More...
enum  _LCB_FAULTS_M {
  LCB_FAULTS_M_PENDEVT_ER = (1 << LCB_FAULTS_V_PENDEVT_ER),
  LCB_FAULTS_M_PENDEVT_FW = (1 << LCB_FAULTS_V_PENDEVT_FW),
  LCB_FAULTS_M_EVTBUF_ER = (1 << LCB_FAULTS_V_EVTBUF_ER),
  LCB_FAULTS_M_EVTBUF_FW = (1 << LCB_FAULTS_V_EVTBUF_FW),
  LCB_FAULTS_M_RSTBUF_ER = (1 << LCB_FAULTS_V_RSTBUF_ER),
  LCB_FAULTS_M_RSTBUF_FW = (1 << LCB_FAULTS_V_RSTBUF_FW),
  LCB_FAULTS_M_PENDRST_ER = (1 << LCB_FAULTS_V_PENDRST_ER),
  LCB_FAULTS_M_PENDRST_FW = (1 << LCB_FAULTS_V_PENDRST_FW),
  LCB_FAULTS_M_REQBUF_ER = (1 << LCB_FAULTS_V_REQBUF_ER),
  LCB_FAULTS_M_REQBUF_FW = (1 << LCB_FAULTS_V_REQBUF_FW),
  LCB_FAULTS_M_PENDREQ_ER = (1 << LCB_FAULTS_V_PENDREQ_ER),
  LCB_FAULTS_M_PENDREQ_FW = (1 << LCB_FAULTS_V_PENDREQ_FW),
  LCB_FAULTS_M_UNUSED1 = (0xfffff < LCB_FAULTS_V_UNUSED1)
}
 The in-place mask, of the LATp backend FAULTS register fields. More...
enum  _LCB_RXSTATS_S {
  LCB_RXSTATS_S_CNT = 14,
  LCB_RXSTATS_S_CELL_PARITY = 1,
  LCB_RXSTATS_S_HEADER_PARITY = 1,
  LCB_RXSTATS_S_LATP_ADR = 1,
  LCB_RXSTATS_S_UNUSED1 = 15
}
 The sizes, in bits of the LATp backend RECEIVE STATISTICS/STATUS register fields. More...
enum  _LCB_RXSTATS_V {
  LCB_RXSTATS_V_CNT = 0,
  LCB_RXSTATS_V_CELL_PARITY = 14,
  LCB_RXSTATS_V_HEADER_PARITY = 15,
  LCB_RXSTATS_V_LATP_ADR = 16,
  LCB_RXSTATS_V_UNUSED1 = 17
}
 The right offset, in bits, of the LATp backend RECEIVE STATISTICS/STATUS register fields. More...
enum  _LCB_RXSTATS_M {
  LCB_RXSTATS_M_CNT = 0x00003fff,
  LCB_RXSTATS_M_CELL_PARITY = 0x00004000,
  LCB_RXSTATS_M_HEADER_PARITY = 0x00008000,
  LCB_RXSTATS_M_LATP_ADR = 0x00010000,
  LCB_RXSTATS_M_UNUSED1 = 0xfffe0000
}
 The in place mask, of the LATp backend RECEIVE STATISTICS/STATUS register fields. More...


Detailed Description

Defines the command (request) and result items and lists for access to the LCB internal registers and functionality.

Author:
JJRussell - russell@slac.stanford.edu
   CVS $Id

OVERVIEW
This defines C structures and constants to be used when accessing the LATp side registers and functionality.
What's Defined
The C structures corresponding to the request and result items are defined. These are almost universally useful. The C structures for the request and result lists corresponding to a single register access are also defined. The usefulness of these structures is limited to those cases where only a single register access is desired. By way of a counter-example, these are not useful when building lists of commands.
Constructing Custom Lists
As noted above, command and result lists are defined for single item lists. The user is encouraged to construct his own lists. This can be done either statically or dynamically.
Static Construction of Custom Lists
This is done by defining the appropriate "C" structures. The prescription is to lead off all such lists with the appropriate list header, either LCB_cl_hdr for command lists or LCB_rl_hdr for result lists, followed by the list of desired command or result items. In general, one will construct, the command and result lists corresponding in parallel.
Example,
To construct a list that will access the CSR and FAULTs
    typedef struct _RegAccessCl       typedef struct _RegAccessRl
    {                                 {
        LCB_cl_hdr        hdr;           LCB_rl_hdr        hdr;
        LCB_ci_csr        csr;           LCB_ri_csr        csr;
        LCB_ci_faults  faults;           LCB_ri_faults  faults;
    }                                 }
    RegAccessCl;                      RegAccessRl;

Dynamic Construction Of Custom Lists
The prescription is
  1. Compute the amount of memory needed for both the command and result lists. Keep in mind, that the lengths of these lists are not the same
  2. Allocate the properly aligned memory.
  3. Fill the command items, one-by-one
  4. Submit the fill command list to the driver
  5. When the command completes, parse the result items
COMMANDS
The following commands can be issued by the LCB. They are classified by its
  1. Opcode
  2. Shape of its request item
    • Simple, fixed 8 byte structure (header only)
    • Register, fixed 16 byte structure (header + 1 LATp cell)
    • Command, fixed 24 byte structure (header + 2 LATp cell)
    • Event Xfr, variable (header + variable length payload)
  3. Shape of its result item
    • Simple, fixed 8 byte structure (header only)
    • Response, fixed 24 byte structure (header + 2 LATp cells)
    • Register, fixed 15 byte structure (header + 1 LATp cels)
Opcode Name Request Class Result Class

0000 Transmit Command Command Simple

0001 Mark Time Simple Simple

0010 Transmit Event Event Xfr Simple

0011 Reset LAT Simple Simple

0100 Transmit Command and Wait for Response Command Response

0101 Access CSR Register Register

1001 Access FIFO Faults Register Register

0111 Access Receive Stats Register Register


Define Documentation

#define LCB_CI_CMD ( _payload,
_stall   )     { LCB_CI_HDR_CMD, _payload, _stall }

Provides a method of statically composing a data statement that can be used to initialize a TRANSMIT COMMAND with no response command item.

Parameters:
_payload The transfer command's payload
_stall The stall time, in units of 20MHz clock ticks

#define LCB_CI_CMDR ( _payload,
_timeout   )     { LCB_CI_HDR_CMDR, _payload, _timeout }

Provides a method of statically composing a data statement that can be used to initialize a TRANSMIT COMMAND with no response command item.

Parameters:
_payload The transfer command's payload
_timeout The timeout period, in units of 20MHz clock ticks.

#define LCB_CI_CSR ( _value,
_field_select,
_stall   )     { LCB_CI_HDR_CSR, _value, _field_select, _stall }

Provides a method of statically composing a data statement that can be used to initialize a CSR ACCESS command item.

Parameters:
_value The value to write. Only bits matching those in the _field_select parameter will actually be written.
_field_select Pattern of those bits in value to write
_stall The stall time, in units of 20MHz clock ticks

#define LCB_CI_EVENT ( _name,
_n32   ) 

Value:

typedef struct _ ## _name           \
{                                   \
   unsigned int          header;  \
   LCB_ci_event_pckt_hdr   latp;  \
   unsigned long int  dat[_n32];  \
}                                   \
_name;
Defines a struct and typedef of the specified name for an event command item of the specified size.

Parameters:
_name The typedef name of the structure. The structure name will be this name prefixed by one underscore.
_n32 The number of 32 bit data words. This must be less than or equal to 1024.
This macro allows one to define LCB event command list items of arbitrary sizes

#define LCB_CI_EVENT_LEN_32 ( _ints   ) 

Value:

LATP_NCELLS_BYTES ((_ints) * sizeof (unsigned int)) *              \
        LATP_CELL_SIZE_INTS
Rounds the given number of integers to the next highest number of cells, returning the answer in ints.

This macro can be used to round the size of a buffer, specified in ints, to be sent over the event fabric to the length argument needed by the hardware.

#define LCB_CI_FAULTS ( _value,
_field_select,
_stall   )     { LCB_CI_HDR_FAULTS, _value, _field_select, _stall }

Provides a method of statically composing a data statement that can be used to initialize a FIFO FAULTS ACCESS command item.

Parameters:
_value The value to write. Only bits matching those in the _field_select parameter will actually be written.
_field_select Pattern of those bits in value to write
_stall The stall time, in units of 20MHz clock ticks

#define LCB_CI_HDR ( _len32,
_opcode   )     (((_len32) << LCB_CI_HDR_V_LEN) | ((_opcode) << LCB_CI_HDR_V_OPCODE))

Composes the header word for a command item.

Parameters:
_len32 The length of the command item in 32-bit words.
_opcode The command's opcode

#define LCB_CI_LAT_RESET ( _stall   )     { LCB_CI_HDR_LAT_RESET, _stall }

Provides a method of statically composing a data statement that can be used to initialize a LAT RESET command item.

Parameters:
_stall The stall time, in units of 20MHz clock ticks

#define LCB_CI_MARK_TIME ( _stall   )     { LCB_CI_HDR_MARK_TIME, _stall }

Provides a method of statically composing a data statement that can be used to initialize a MARK TIME command item.

Parameters:
_stall The stall time, in units of 20MHz clock ticks

#define LCB_CI_RXSTATS ( _value,
_field_select,
_stall   )     { LCB_CI_HDR_RXSTATS, _value, _field_select, _stall }

Provides a method of statically composing a data statement that can be used to initialize a RECEIVE STATISTICS/STATUS ACCESS command item.

Parameters:
_value The value to write. Only bits matching those in the _field_select parameter will actually be written.
_field_select Pattern of those bits in value to write
_stall The stall time, in units of 20MHz clock ticks


Typedef Documentation

LCB_ci

Typedef for struct.

See also:
_LCB_ci

LCB_ci_cmd

Typedef for struct.

See also:
_LCB_ci_cmd

LCB_ci_cmd_payload

Typedef for struct _LCB_ci_cmd_payload.

There are two things to note about the command payload

  1. It follows the definition in the LCB document, defining the LATp header template as part of the payload
  2. The LATp header definition contains is, in fact, the header template, containing only the prototype and destination fields. All other fields are filled in by the LCB as the message goes out.

LCB_ci_cmdr

Typedef for struct.

See also:
_LCB_ci_cmdr

LCB_ci_event

Typedef for struct.

See also:
_LCB_ci_event

LCB_CI_HDR

Typedefs for enum.

See also:
_LCB_CI_HDR
Note that this can only be defined for commands

LCB_ci_hdr

Typedef for union _LCB_ci_hdr.

Note:
The command item are not defined in exactly the same way as result items. All result items have their header field defined as the union of an unintepretted 32-bit integer and the bit field represention. For the command items, the header field is defined as just the uninterpretted 332-bit integer, except in the grand union LCB_ci. This was done because the code writes and reads cleaner. Rarely does one need to access the fields separately, and, without transparent unions, the code just looks messier always typing
     ci->hdr.ui = header;

LCB_ci_reg

Typedef for struct.

See also:
_LCB_ci_reg
Warning:
This structure is meant only for internal use. Please use the command item structures defined for each specific register command, e.g. LCB_ci_csr, LCB_ci_faults and LCB_ci_rxstats.

LCB_ci_simple

Typedef for struct.

See also:
_LCB_ci_simple
Warning:
This structure is meant only for internal use. Please use the command item structures defined for each specific command, e.g. LCB_ci_mark, LCB_ci_reset, etc.

LCB_cl

Typedef for struct.

See also:
_LCB_ci

LCB_cl_cmd

Typedef for struct.

See also:
_LCB_cl_cmd

LCB_cl_cmdr

Typedef for struct.

See also:
_LCB_cl_cmdr

LCB_cl_event

Typedef for struct.

See also:
_LCB_cl_event

LCB_cl_reg

Typedef for struct.

See also:
_LCB_cl_reg
Warning:
This structure is meant only for internal use. Please use the command list structures defined for each specific register command, e.g. LCB_cl_csr, LCB_cl_faults and LCB_cl_rxstats.

LCB_cl_simple

Typedef for struct.

See also:
_LCB_cl_simple
Warning:
This structure is meant only for internal use. Please use the command list structures defined for each specific command list, e.g. LCB_cl_mark, LCB_cl_reset, etc.

LCB_csr

typedef for union

See also:
_LCB_csr

LCB_csr_bf

Typedef form struct.

See also:
_LCB_csr

LCB_faults

Typedef for union.

See also:
_LCB_faults

LCB_faults_bf

Typedef for struct.

See also:
_LCB_faults

LCB_OPCODE

Typedefs for enum.

See also:
_LCB_OPCODE

LCB_ri_cmd_payload

Typedef for struct _LCB_ri_cmd_payload.

There are two things to note about the response payload

  1. It follows the definition in the LATP document
  2. It is not the same as LCB_ci_cmd_payload

LCB_ri_event

Typedef for struct.

See also:
_LCB_ri_event

LCB_ri_reg

Typedef for struct _LCB_ri_reg.

Warning:
This structure is meant only for internal use. Please use the result item structures defined for each specific register result item, e.g. LCB_ri_csr, LCB_ri_faults and LCB_ri_rxstats.

LCB_ri_simple

Typedef for struct _LCB_ri_simple.

Warning:
This structure is meant only for internal use. Please use the result item structures defined for each specific result, e.g. LCB_ri_mark, LCB_ri_reset, etc.

LCB_rl

Typedef for struct.

See also:
_LCB_rl

LCB_rl_event

Typedef for struct.

See also:
_LCB_rl_event

LCB_rl_reg

Typedef for struct.

See also:
_LCB_rl_reg
Warning:
This structure is meant only for internal use. Please use the result list structures defined for each specific register result list, e.g. LCB_rl_csr, LCB_rl_faults and LCB_rl_rxstats.

LCB_rl_response

Typedef for struct.

See also:
_LCB_rl_response

LCB_rl_simple

Typedef for struct.

See also:
_LCB_rl_simple
Warning:
This structure is meant only for internal use. Please use the result list structures defined for each specific result list, e.g. LCB_rl_mark, LCB_rl_reset, etc.

LCB_rxstats

Typedef for union.

See also:
_LCB_rxstats

LCB_rxstats_bf

Typedef for struct.

See also:
_LCB_rxstats


Enumeration Type Documentation

enum _LCB_CI_HDR

Enumerates the values of the command item header (length/opcode) word for each of the LCB's commands.

Enumerator:
LCB_CI_HDR_CMD  Transmit command header
LCB_CI_HDR_MARK_TIME  Mark time header
LCB_CI_HDR_LAT_RESET  Reset LAT header
LCB_CI_HDR_CMDR  Transmit command and wait on response header
LCB_CI_HDR_CSR  Access CSR register header
LCB_CI_HDR_FAULTS  Access FIFO FAULTs register header
LCB_CI_HDR_RXSTATS  Access RECEIVE STATISTICS/ STATS register header

enum _LCB_CI_HDR_M

LCB command item header field, in place masks.

Enumerator:
LCB_CI_HDR_M_OPCODE  Opcode field, in place mask
LCB_CI_HDR_M_MBZ0  Reserved, must be 0 field, in place mask
LCB_CI_HDR_M_LEN  Length field, in place mask
LCB_CI_HDR_M_MBZ1  Reserved, must be 0 field, in place mask

enum _LCB_CI_HDR_S

LCB command item header field sizes, in bits.

Enumerator:
LCB_CI_HDR_S_OPCODE  Opcode field, size in bits
LCB_CI_HDR_S_MBZ0  Reserved, must be 0 field, size in bits
LCB_CI_HDR_S_LEN  Length field, size in bits
LCB_CI_HDR_S_MBZ1  Reserved, must be 0 field, size in bits

enum _LCB_CI_HDR_V

LCB command item header field right bit offsets.

Enumerator:
LCB_CI_HDR_V_OPCODE  Opcode field, right offset
LCB_CI_HDR_V_MBZ0  Reserved, must be 0 field, right offset
LCB_CI_HDR_V_LEN  Length field, right offset
LCB_CI_HDR_V_MBZ1  Reserved, must be 0 field, right offset

enum _LCB_CI_N4BYTES

Enumerates the size, in 4 bytes units, of each result item.

Enumerator:
LCB_CI_N4BYTES_CMD  Transmit command -> 6 4-byte words
LCB_CI_N4BYTES_MARK_TIME  Mark time -> 2 4-byte words
LCB_CI_N4BYTES_EVENT  XMIT Event is variable, this is just the overhead piece and does not include the payload
LCB_CI_N4BYTES_LAT_RESET  Transmit reset -> 2 4-byte words
LCB_CI_N4BYTES_CMDR  Transmit command and wait on response -> 6 4-byte words
LCB_CI_N4BYTES_CSR  Transmit CSR access -> 4 4-byte words
LCB_CI_N4BYTES_FAULTS  Transmit FIFO FAULTS access -> 4 4-byte words
LCB_CI_N4BYTES_RXSTATS  Transmit Receive Stats access -> 4 4-byte words

enum _LCB_CI_N8BYTES

Enumerates the size, in 8 bytes units, of each result item.

Enumerator:
LCB_CI_N8BYTES_CMD  Transmit command -> 3 8-byte words
LCB_CI_N8BYTES_MARK_TIME  Mark time -> 1 8-byte words
LCB_CI_N8BYTES_EVENT  XMIT Event is variable, this is just the overhead piece and does not include the payload
LCB_CI_N8BYTES_LAT_RESET  Transmit reset -> 1 8-byte words
LCB_CI_N8BYTES_CMDR  Transmit command and wait on response -> 3 8-byte words
LCB_CI_N8BYTES_CSR  Transmit CSR access -> 2 8-byte words
LCB_CI_N8BYTES_FAULTS  Transmit FIFO FAULTS access -> 2 8-byte words
LCB_CI_N8BYTES_RXSTATS  Transmit RECEIVE STATISTICS/STATUS access -> 2 8-byte words

enum _LCB_CSR_M

The in place mask of the LATp backend CSR register fields.

See also:
LCB_csr_bf
Enumerator:
LCB_CSR_M_USER_0  User defined field mask
LCB_CSR_M_EVT_ENABLE  Event enable field, bit mask
LCB_CSR_M_ICLK_TRAILING  Clock on trailing edge (incoming)
LCB_CSR_M_OCLK_TRAILING  Clock on trailing edge (outgoing)
LCB_CSR_M_HDR_PARITY  Header parity, bit mask
LCB_CSR_M_PAYLOAD_PARITY  Payload parity, bit mask
LCB_CSR_M_BACK_PRESSURE  Pause stick, bit mask
LCB_CSR_M_USER_1  User field 1, bit mask
LCB_CSR_M_BOARD_ID  Board Id (LATp address), bit mask
LCB_CSR_M_MUST_BE_1  Reserved readonly field, bit mask
LCB_CSR_M_LATP8  Byte wide LATp flag offset
LCB_CSR_M_RESET  Generate PCI reset offset set note in LCB_csr_bf
LCB_CSR_M_EVT_PAUSED  Event paused (read only), bit mask
LCB_CSR_M_USER  Useer defined field, bit mask
LCB_CSR_M_VERSION  LATp FPGA version, bit mask

enum _LCB_CSR_S

The sizes, in bits of the LATp backend CSR register fields.

See also:
LCB_csr_bf
Enumerator:
LCB_CSR_S_USER_0  User Field 0 size, in bits
LCB_CSR_S_EVT_ENABLE  Event enable field size, in bits
LCB_CSR_S_ICLK_TRAILING  Clock on trailing edge (incoming) size, in bits
LCB_CSR_S_OCLK_TRAILING  Clock on trailing edge (outgoing) size, in bits
LCB_CSR_S_HDR_PARITY  Header parity size, in bits
LCB_CSR_S_PAYLOAD_PARITY  Payload parity size, in bits
LCB_CSR_S_BACK_PRESSURE  Assert back pressure size, in bits
LCB_CSR_S_USER_1  User Field 1 size, in bits
LCB_CSR_S_BOARD_ID  Board Id (LATp address) size,in bits
LCB_CSR_S_MUST_BE_1  Reserved readonly field
LCB_CSR_S_LATP8  Byte wide LATp flag
LCB_CSR_S_RESET  Generate PCI reset, see note in LCB_csr_bf
LCB_CSR_S_EVT_PAUSED  Event paused (read only)
LCB_CSR_S_USER  User defined field size, in bits
LCB_CSR_S_VERSION  LATp FPGA version size, in bits

enum _LCB_CSR_V

The right shift offset of the LATp backend CSR register fields.

See also:
LCB_csr_bf
Enumerator:
LCB_CSR_V_USER_0  User Field 0, offset
LCB_CSR_V_EVT_ENABLE  Event enable field offset
LCB_CSR_V_ICLK_TRAILING  Clock on trailing edge (incoming) field offset
LCB_CSR_V_OCLK_TRAILING  Clock on trailing edge (outgoing) field offset
LCB_CSR_V_HDR_PARITY  Header parity offset
LCB_CSR_V_PAYLOAD_PARITY  Payload parity offset
LCB_CSR_V_BACK_PRESSURE  Assert back pressure offset
LCB_CSR_V_USER_1  User Field 1, offset
LCB_CSR_V_BOARD_ID  Board Id (LATp address) offset
LCB_CSR_V_MUST_BE_1  Reserved readonly field offset
LCB_CSR_V_LATP8  Byte wide LATp flag offset
LCB_CSR_V_RESET  Generate PCI reset offset see note in LCB_csr_bf
LCB_CSR_V_EVT_PAUSED  Event paused (read only) offset
LCB_CSR_V_USER  User defined field offset
LCB_CSR_V_VERSION  LATp FPGA version offset

enum _LCB_FAULTS_M

The in-place mask, of the LATp backend FAULTS register fields.

See also:
LCB_faults_bf
Enumerator:
LCB_FAULTS_M_PENDEVT_ER  Pending events -- empty on read, bit mask
LCB_FAULTS_M_PENDEVT_FW  Pending events -- full on write, bit mask
LCB_FAULTS_M_EVTBUF_ER  Event buffer -- empty on read, bit mask
LCB_FAULTS_M_EVTBUF_FW  Event buffer -- full on write, bit mask
LCB_FAULTS_M_RSTBUF_ER  Result buffer -- empty on read, bit mask
LCB_FAULTS_M_RSTBUF_FW  Result buffer -- full on write, bit mask
LCB_FAULTS_M_PENDRST_ER  Pending result -- empty on read, bit mask
LCB_FAULTS_M_PENDRST_FW  Pending result -- full on write, bit mask
LCB_FAULTS_M_REQBUF_ER  Request buffer -- empty on read, bit mask
LCB_FAULTS_M_REQBUF_FW  Request buffer -- full on write, bit mask
LCB_FAULTS_M_PENDREQ_ER  Pending request -- empty on read, bit mask
LCB_FAULTS_M_PENDREQ_FW  Pending request -- full on write, bit mask
LCB_FAULTS_M_UNUSED1  Unused MBZ, bit mask

enum _LCB_FAULTS_S

The sizes, in bits of the LATp backend FAULTS register fields.

See also:
LCB_faults_bf
Enumerator:
LCB_FAULTS_S_PENDEVT_ER  Pending events -- empty on read, size in bits
LCB_FAULTS_S_PENDEVT_FW  Pending events -- full on write, size in bits
LCB_FAULTS_S_EVTBUF_ER  Event buffer -- empty on read, size in bits
LCB_FAULTS_S_EVTBUF_FW  Event buffer -- full on write, size in bits
LCB_FAULTS_S_RSTBUF_ER  Result buffer -- empty on read, size in bits
LCB_FAULTS_S_RSTBUF_FW  Result buffer -- full on write, size in bits
LCB_FAULTS_S_PENDRST_ER  Pending result -- empty on read, size in bits
LCB_FAULTS_S_PENDRST_FW  Pending result -- full on write, size in bits
LCB_FAULTS_S_REQBUF_ER  Request buffer -- empty on read, size in bits
LCB_FAULTS_S_REQBUF_FW  Request buffer -- full on write, size in bits
LCB_FAULTS_S_PENDREQ_ER  Pending request -- empty on read, size in bits
LCB_FAULTS_S_PENDREQ_FW  Pending request -- full on write, size in bits
LCB_FAULTS_S_UNUSED1  Unused MBZ, size in bits

enum _LCB_FAULTS_V

The right offset, in bits, of the LATp backend FAULTS register fields.

See also:
LCB_faults_bf
Enumerator:
LCB_FAULTS_V_PENDEVT_ER  Pending events -- empty on read, right justified offset in bits
LCB_FAULTS_V_PENDEVT_FW  Eending events -- full on write, right justified offset in bits
LCB_FAULTS_V_EVTBUF_ER  Event buffer -- empty on read, right justified offset in bits
LCB_FAULTS_V_EVTBUF_FW  Event buffer -- full on write, right justified offset in bits
LCB_FAULTS_V_RSTBUF_ER  Result buffer -- empty on read, right justified offset in bits
LCB_FAULTS_V_RSTBUF_FW  Result buffer -- full on write, right justified offset in bits
LCB_FAULTS_V_PENDRST_ER  Pending result -- empty on read, right justified offset in bits
LCB_FAULTS_V_PENDRST_FW  Pending result -- full on write, right justified offset in bits
LCB_FAULTS_V_REQBUF_ER  Request buffer -- empty on read, right justified offset in bits
LCB_FAULTS_V_REQBUF_FW  Request buffer -- full on write, right justified offset in bits
LCB_FAULTS_V_PENDREQ_ER  Pending request -- empty on read, right justified offset in bits
LCB_FAULTS_V_PENDREQ_FW  Pending request -- full on write, right justified offset in bits
LCB_FAULTS_V_UNUSED1  Unused MBZ, right justified offset in bits

enum _LCB_OPCODE

Enumerates the values of the opcodes for each of the LCB's commands.

Enumerator:
LCB_OPCODE_CMD  Transmit Command, no response
LCB_OPCODE_MARK_TIME  Mark Time Command
LCB_OPCODE_EVENT  Transfer Event Command
LCB_OPCODE_LAT_RESET  Reset LAT Command
LCB_OPCODE_CMDR  Transmit Command, wait on response
LCB_OPCODE_CSR  Access CSR Command
LCB_OPCODE_6  Unused, 0x6
LCB_OPCODE_FAULTS  Access FIFO FAULT Register
LCB_OPCODE_8  Unused, 0x8
LCB_OPCODE_RXSTATS  Access Receive Stats Register
LCB_OPCODE_A  Unused, 0xA
LCB_OPCODE_B  Unused, 0xB
LCB_OPCODE_C  Unused, 0xC
LCB_OPCODE_D  Unused, 0xD
LCB_OPCODE_E  Unused, 0xE
LCB_OPCODE_F  Unused, 0xF

enum _LCB_RI_ERR_M

Result item error fields, in place masks.

Enumerator:
LCB_RI_ERR_M_ERR  Error field, right offset
LCB_RI_ERR_M_RESERVED1  Reserved field, right offset

enum _LCB_RI_ERR_S

Result item error fields, size in bits.

Enumerator:
LCB_RI_ERR_S_ERR  Error field, size in bits
LCB_RI_ERR_S_RESERVED1  Reserved field, size in bits

enum _LCB_RI_ERR_V

Result item error fields, right offset.

Enumerator:
LCB_RI_ERR_V_ERR  Error field, right offset
LCB_RI_ERR_V_RESERVED1  Reserved field, right offset

enum _LCB_RI_HDR_M

LCB result item header field sizes, in place masks.

Enumerator:
LCB_RI_HDR_M_TIMESTAMP  Timestamp field, in place mask
LCB_RI_HDR_M_RESERVED1  Reserved field, in place mask
LCB_RI_HDR_M_OPCODE  Opcode field, in place mask

enum _LCB_RI_HDR_S

LCB result item header field sizes, in bits.

Enumerator:
LCB_RI_HDR_S_TIMESTAMP  Timestamp field, size in bits
LCB_RI_HDR_S_RESERVED1  Reserved field, size in bits
LCB_RI_HDR_S_OPCODE  Opcode field, size in bits

enum _LCB_RI_HDR_V

LCB result item header field sizes, right offset.

Enumerator:
LCB_RI_HDR_V_TIMESTAMP  Timestamp field, right offset
LCB_RI_HDR_V_RESERVED1  Reserved field, right offset
LCB_RI_HDR_V_OPCODE  Opcode field, right offset

enum _LCB_RI_N4BYTES

Enumerates the size, in 4 bytes units, of each result item.

Enumerator:
LCB_RI_N4BYTES_CMD  Transmit command -> 2 4 byte words
LCB_RI_N4BYTES_MARK_TIME  Mark time -> 2 4-byte words
LCB_RI_N4BYTES_EVENT  XMIT Event is variable, this is just the overhead piece and does not include the payload
LCB_RI_N4BYTES_LAT_RESET  Transmit reset -> 2 4-byte words
LCB_RI_N4BYTES_CMDR  Transmit command and wait on response -> 6 4-byte words
LCB_RI_N4BYTES_CSR  Transmit CSR access -> 4 4-byte words
LCB_RI_N4BYTES_FAULTS  Transmit FIFO FAULTS access -> 4 4-byte words
LCB_RI_N4BYTES_RXSTATS  Transmit RECEIVE STATISTICS/STATS access, 4 4-byte words

enum _LCB_RI_N8BYTES

Enumerates the size, in 8 bytes units, of each result item.

Enumerator:
LCB_RI_N8BYTES_CMD  Transmit command -> 1 8-byte words
LCB_RI_N8BYTES_MARK_TIME  Mark time -> 1 8-byte words
LCB_RI_N8BYTES_EVENT  Transfer Event is variable, this is just the overhead piece and does not include the payload
LCB_RI_N8BYTES_LAT_RESET  Transmit reset -> 1 8-byte words
LCB_RI_N8BYTES_CMDR  Transmit command and wait on response -> 3 8-byte words
LCB_RI_N8BYTES_CSR  Transmit CSR access -> 2 8-byte words
LCB_RI_N8BYTES_FAULTS  Transmit FIFO FAULTS access -> 2 8-byte words
LCB_RI_N8BYTES_RXSTATS  Transmit RECEIVE STATISTICS/STATUS access -> 2 8-byte words

enum _LCB_RXSTATS_M

The in place mask, of the LATp backend RECEIVE STATISTICS/STATUS register fields.

See also:
LCB_rxstats_bf
Enumerator:
LCB_RXSTATS_M_CNT  Count of control cells received, mask
LCB_RXSTATS_M_CELL_PARITY  Flag if a received cell ever had a parity error, mask
LCB_RXSTATS_M_HEADER_PARITY  Flag if a received cell ever had a parity error, mask
LCB_RXSTATS_M_LATP_ADR  Flag if a receive cell ever had a bad LATp address, mask
LCB_RXSTATS_M_UNUSED1  Unused MBZ, mask

enum _LCB_RXSTATS_S

The sizes, in bits of the LATp backend RECEIVE STATISTICS/STATUS register fields.

See also:
LCB_rxstats_bf
Enumerator:
LCB_RXSTATS_S_CNT  Count of control cells received, size in bits
LCB_RXSTATS_S_CELL_PARITY  Flag if a received cell ever had a parity error, size in bits
LCB_RXSTATS_S_HEADER_PARITY  Flag if a received cell ever had a parity error, size in bits
LCB_RXSTATS_S_LATP_ADR  Flag if a receive cell ever had a bad LATp address
LCB_RXSTATS_S_UNUSED1  Unused MBZ, size in bits

enum _LCB_RXSTATS_V

The right offset, in bits, of the LATp backend RECEIVE STATISTICS/STATUS register fields.

See also:
LCB_rxstats_bf
Enumerator:
LCB_RXSTATS_V_CNT  Count of control cells received, offset
LCB_RXSTATS_V_CELL_PARITY  Flag if a received cell ever had a parity error, offset
LCB_RXSTATS_V_HEADER_PARITY  Flag if a received cell ever had a parity error, offset
LCB_RXSTATS_V_LATP_ADR  Flag if a receive cell ever had a bad LATp address, offset
LCB_RXSTATS_V_UNUSED1  Unused MBZ, offset


Generated on Thu Jul 30 16:40:12 2009 by  doxygen 1.5.3