User Manual

Apollo3 Blue Datasheet
DS-A3-0p9p1 Page 256 of 909 2019 Ambiq Micro, Inc.
All rights reserved.
7.10.2.32CQCURIDX Register
Command Queue Current Index
OFFSET: 0x000002C0
INSTANCE 0 ADDRESS: 0x500142C0
This register can be used in conjunction with the CQENDIDX register to manage the command queue.
Typically software will initialize the CQCURIDX and CQENDIDX to the same value, which will cause the
CQ to be paused when enabled. Software may then add entries to the command queue (in SRAM) and
update CQENDIDX. The command queue operations will then increment CQCURIDX as it processes
operations. Once CQCURIDX==CQENDIDX, the command queue hardware will automatically pause
since no additional operations have been appended to the queue.
15:0 CQMASK 0x0 RW
CQ will pause processing until all specified events are satisfied.
STOP = 0x8000 - CQ Stop Flag. When set, CQ processing will complete.
CQIDX = 0x4000 - CQ Index Pointers (CURIDX/ENDIDX) match.
DMACPL = 0x800 - DMA Complete Status (hardwired DMACPL bit in
DMASTAT)
CMDCPL = 0x400 - PIO Operation completed (STATUS bit in CTRL regis-
ter)
IOM1READY = 0x200 - IOM Buffer 1 Ready Status (from selected IOM).
This status is the result of XOR'ing the IOM0START with the incoming sta-
tus from the IOM. When high, MSPI can send to the buffer.
IOM0READY = 0x100 - IOM Buffer 0 Ready Status (from selected IOM).
This status is the result of XOR'ing the IOM0START with the incoming sta-
tus from the IOM. When high, MSPI can send to the buffer.
SWFLAG7 = 0x80 - Software flag 7. Can be used by software to start/pause
operations
SWFLAG6 = 0x40 - Software flag 6. Can be used by software to start/pause
operatoins
SWFLAG5 = 0x20 - Software flag 5. Can be used by software to start/pause
operations
SWFLAG4 = 0x10 - Software flag 4. Can be used by software to start/pause
operatoins
SWFLAG3 = 0x8 - Software flag 3. Can be used by software to start/pause
operations
SWFLAG2 = 0x4 - Software flag 2. Can be used by software to start/pause
operatoins
SWFLAG1 = 0x2 - Software flag 1. Can be used by software to start/pause
operations
SWFLAG0 = 0x1 - Software flag 0. Can be used by software to start/pause
operatoins
IOM1START = 0x2 - IOM Buffer 1 status (same as SWFLAG1). When
linked to IOM, indicates to IOM that buffer 1 is ready.
IOM0START = 0x1 - IOM Buffer 0 status (same as SWFLAG0). When
linked to IOM, indicates to IOM that buffer 0 is ready.
Table 390: CQCURIDX Register
3
1
3
0
2
9
2
8
2
7
2
6
2
5
2
4
2
3
2
2
2
1
2
0
1
9
1
8
1
7
1
6
1
5
1
4
1
3
1
2
1
1
1
0
0
9
0
8
0
7
0
6
0
5
0
4
0
3
0
2
0
1
0
0
RSVD CQCURIDX
Table 389: CQPAUSE Register Bits
Bit Name Reset RW Description