|
3 | 3 | The command processor is responsible for fetching and processing commands generated by the CPU from |
4 | 4 | a FIFO. |
5 | 5 |
|
6 | | -## CP FIFO |
| 6 | +## Registers |
| 7 | + |
| 8 | +> [!NOTE] |
| 9 | +> The FIFO registers are described in the FIFO section next. |
| 10 | +
|
| 11 | +### CP Status (`0x0C00_0000`, 2 bytes) |
| 12 | + |
| 13 | +| Bits | Name | Description | |
| 14 | +| ----- | ----------------------- | ------------------------------- | |
| 15 | +| 0 | CP FIFO Overflow | [Watermark logic](#linked-mode) | |
| 16 | +| 1 | CP FIFO Underflow | [Watermark logic](#linked-mode) | |
| 17 | +| 2 | CP is idle for reading | | |
| 18 | +| 3 | CP is idle for commands | | |
| 19 | +| 4 | BP Interrupt | | |
| 20 | +| 5..16 | | Unused | |
| 21 | + |
| 22 | +### CP Control (`0x0C00_0002`, 2 bytes) |
| 23 | + |
| 24 | +| Bits | Name | Description | |
| 25 | +| ----- | --------------------------- | ----------------------------------------------- | |
| 26 | +| 0 | CP FIFO Read Enable | Whether the CP will read commands from the FIFO | |
| 27 | +| 1 | BP Enable | | |
| 28 | +| 2 | CP FIFO Overflow IRQ Enable | | |
| 29 | +| 3 | CP FIFO Overflow IRQ Enable | | |
| 30 | +| 4 | CP FIFO Linked Mode | Controls the [FIFO mode](#fifo). On reset is 1 | |
| 31 | +| 5 | BP IRQ Enable | | |
| 32 | +| 6..16 | | Unused | |
| 33 | + |
| 34 | +### CP Clear (`0x0C00_0004`, 2 bytes, write only) |
| 35 | + |
| 36 | +| Bits | Name | Description | |
| 37 | +| ----- | ----------------------- | ----------------------------- | |
| 38 | +| 0 | Clear CP FIFO Overflow | Write 1 to clear status bit 0 | |
| 39 | +| 1 | Clear CP FIFO Underflow | Write 1 to clear status bit 1 | |
| 40 | +| 2..16 | | Unused | |
| 41 | + |
| 42 | +## FIFO |
7 | 43 |
|
8 | 44 | The command processor has a FIFO mechanism that builds and consumes ring buffers of commands in RAM, |
9 | 45 | controlled by a bunch of registers: |
|
0 commit comments