Development Tools User’s Guide
301
Intel
®
IXP2400/IXP2800 Network Processors
Intel XScale® Core Memory Bus Functional Model
2: 4-byte,
3: 8-byte,
4: 12-byte,
5: 16-byte and
6 :32-byte,
byteEnable
:
mask bit for each byte (1: byte enable, 0: byte masked),
data
:
pointer to write data
return
value:
request-id or
-3: no callback function registered
(CMB_ERROR_NO_CB_REGISTER),
-2: request queue is full (CMB_ERROR_QUEUE_FULL)
C.2
ENUMs
The following enum translates a size (byte count) into the CMB Size (cbiSize) encoding.
typedef enum __cmbSize{
byte = 0,
word_half,
word,
word_x2,
word_x3,
word_x4,
word_x8,
invalid_word
} CmbSize;
C.3
Defines
Completion codes:
#define CMB_SUCCESS 1
// Successful completion
#define CMB_FAIL
-1
// Possible causes:
// Byte Enable invalid
or
// read access to Write
// only location
#define CMB_ERROR_NO_CB_REGISTER-3// No callback function
// registered
#define CMB_ERROR_QUEUE_FULL-2// Request queue is full
#define CMB_ERROR_BUS_ERROR 1// Bus error asserted by
// the memory bus
interface
#define CMB_ERROR_TIME_OUT 2// Timeout on memory bus
// request