0x000
),--------------------------------------------------------------,
| f | e | d | c | b | a | 9 | 8| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|--------------------------------------------------------------|
| p | / | addr | (rsvd) | a |
'--------------------------------------------------------------'
p
: Enables DP pull-upa
: Ack interrupt0x000
),--------------------------------------------------------------,
| f | e | d | c | b | a | 9 | 8| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|--------------------------------------------------------------|
| cnt | ucnc | endp | d | s | b | i |
'--------------------------------------------------------------'
This contains info about the last generated notification from the transaction microcode
cnt
: Counter (incremented by 1 at each notify to detect misses)ucnc
: Notification codeendp
: Endpoint #d
: Direction (1=IN, 0=OUT/SETUP)s
: Is SETUP ?b
: Buffer Descriptor indexi
: Interrupt flag,-----------------------------------------------,
| b | a | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|-----------------------------------------------|
| 1 0 0 0 | ep_num |dir| 0 0 0 |
'-----------------------------------------------'
,--------------------------------------------------------------,
| f | e | d | c | b | a | 9 | 8| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|--------------------------------------------------------------|
| | t | b | bdm | | EP type |
'--------------------------------------------------------------'
t
: Data Toggle (if relevant for EP type)b
: Buffer Descriptor index00
- Single Buffer (index 0 only)01
- Double Buffer10
- Special Control EP mode (index 0=data, 1=setup)h
indicates if this EP is halted)
000
: Non-existant001
: Isochronous01s
: Interrupt10s
: Bulk11s
: Control,-----------------------------------------------,
| b | a | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|-----------------------------------------------|
| 1 0 0 0 | ep_num |dir| 1 | i | w |
'-----------------------------------------------'
i
: BD Index (0/1)w
: Word select,--------------------------------------------------------------,
| f | e | d | c | b | a | 9 | 8| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|--------------------------------------------------------------|
| state | s | rsvd | Buffer Length |
'--------------------------------------------------------------'
000
: Empty / Unused010
: Valid, ready for Tx/RX data011
: Valid, issue STALL (and drop data)100
: Used - Success1xx
: Used - Error with xx=01/10/11 error code,--------------------------------------------------------------,
| f | e | d | c | b | a | 9 | 8| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|--------------------------------------------------------------|
| (rsvd) | Buffer Pointer |
'--------------------------------------------------------------'