SWRU543B January 2019 – June 2025 CC3230S , CC3230SF , CC3235MODS , CC3235MODSF , CC3235S , CC3235SF
Table 14-3 lists the memory-mapped Camera registers. All register offset addresses not listed in Table 14-3 should be considered as reserved locations and the register contents should not be modified. TI recommends using the APIs instead of directly accessing the register bits in this module.
| Offset | Acronym | Register Name | Section |
|---|---|---|---|
| 10h | CC_SYSCONFIG | System Configuration Register | Section 14.6.1 |
| 14h | CC_SYSSTATUS | System Status Register | Section 14.6.2 |
| 18h | CC_IRQSTATUS | Interrupt Status Register | Section 14.6.3 |
| 1Ch | CC_IRQENABLE | Interrupt Enable Register | Section 14.6.4 |
| 40h | CC_CTRL | Control Register | Section 14.6.5 |
| 44h | CC_CTRL_DMA | Control DMA Register | Section 14.6.6 |
| 48h | CC_CTRL_XCLK | External Clock Control Register | Section 14.6.7 |
| 4Ch to 1FCh | CC_FIFODATA | FIFO Data Register | Section 14.6.8 |
CC_SYSCONFIG is shown in Figure 14-9 and described in Table 14-4.
Return to Summary Table.
This register controls the various parameters of the OCP interface (CCP and parallel mode).
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | |||||||
| R-0h | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | |||||||
| R-0h | |||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | SIdleMode | RESERVED | SoftReset | AutoIdle | |||
| R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |||
| LEGEND: R/W = Read/Write; R = Read only; W1toCl = Write 1 to clear bit; -n = value after reset |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-5 | RESERVED | R | 0h | |
| 4-3 | SIdleMode | R/W | 0h |
Slave interface power management, req/ack control 00h = Force-idle. An idle request is acknowledged unconditionally. 01h = No-idle. An idle request is never acknowledged. 10h = Reserved (Smart-idle not implemented) 11h = Reserved – Do not use |
| 2 | RESERVED | R/W | 0h | |
| 1 | SoftReset | R/W | 0h |
Software reset Set this bit to 1 to trigger a module reset. The bit is automatically reset by the hardware. During reset it always returns 0. 0h = Normal mode 1h = The module is reset |
| 0 | AutoIdle | R/W | 0h |
Internal OCP clock gating strategy 0h = OCP clock is free-running 1h = Automatic OCP clock gating strategy is applied, based on the OCP interface activity |
Register mask: FFFFFFFEh
CC_SYSSTATUS is shown in Figure 14-10 and described in Table 14-5.
Return to Summary Table.
This register provides status information about the module, excluding the interrupt status information (CCP and parallel mode)
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | |||||||
| R-0h | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | |||||||
| R-0h | |||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | ResetDone | ||||||
| R-0h | R-X | ||||||
| LEGEND: R/W = Read/Write; R = Read only; W1toCl = Write 1 to clear bit; -n = value after reset |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-1 | RESERVED | R | 0h | |
| 0 | ResetDone | R | X |
Internal Reset Monitoring 0h = Internal module reset is ongoing. 1h = Reset completed |
CC_IRQSTATUS is shown in Figure 14-11 and described in Table 14-6.
Return to Summary Table.
The interrupt status regroups all the status of the module internal events that can generate an interrupt (CCP and parallel mode)
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | FS_IRQ | LE_IRQ | LS_IRQ | FE_IRQ | |||
| R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | FSP_ERR-IRQ | FW_ERR_IRQ | FSC_ERR_IRQ | SSC_ERR_IRQ | |||
| R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | FIFO_NOEMPTY_IRQ | FIFO_FULL_IRQ | FIFO_THR_IRQ | FIFO_OF_IRQ | FIFO_UF_IRQ | ||
| R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | ||
| LEGEND: R/W = Read/Write; R = Read only; W1toCl = Write 1 to clear bit; -n = value after reset |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-20 | RESERVED | R | 0h | |
| 19 | FS_IRQ | R/W | 0h |
Frame Start has occurred 0h (W) = Event status bit unchanged 0h (R) = Event false 1h (W) = Event status bit is reset 1h (R) = Event is true ("pending") |
| 18 | LE_IRQ | R/W | 0h |
Line End has occurred 0h (W) = Event status bit unchanged 0h (R) = Event false 1h (W) = Event status bit is reset 1h (R) = Event is true ("pending") |
| 17 | LS_IRQ | R/W | 0h |
Line Start has occurred 0h (W) = Event status bit unchanged 0h (R) = Event false 1h (W) = Event status bit is reset 1h (R) = Event is true ("pending") |
| 16 | FE_IRQ | R/W | 0h |
Frame End has occurred 0h (W) = Event status bit unchanged 0h (R) = Event false 1h (W) = Event status bit is reset 1h (R) = Event is true ("pending") |
| 15-12 | RESERVED | R/W | 0h | |
| 11 | FSP_ERR-IRQ | R/W | 0h |
FSP code error 0h (W) = Event status bit unchanged 0h (R) = Event false 1h (W) = Event status bit is reset 1h (R) = Event is true ("pending") |
| 10 | FW_ERR_IRQ | R/W | 0h |
Frame Height Error 0h (W) = Event status bit unchanged 0h (R) = Event false 1h (W) = Event status bit is reset 1h (R) = Event is true ("pending") |
| 9 | FSC_ERR_IRQ | R/W | 0h |
False Synchronization Code 0h (W) = Event status bit unchanged 0h (R) = Event false 1h (W) = Event status bit is reset 1h (R) = Event is true ("pending") |
| 8 | SSC_ERR_IRQ | R/W | 0h |
Shifted Synchronization Code 0h (W) = Event status bit unchanged 0h (R) = Event false 1h (W) = Event status bit is reset 1h (R) = Event is true ("pending") |
| 7-5 | RESERVED | R/W | 0h | |
| 4 | FIFO_NOEMPTY_IRQ | R/W | 0h |
FIFO is not empty 0h (W) = Event status bit unchanged 0h (R) = Event false 1h (W) = Event status bit is reset 1h (R) = Event is true ("pending") |
| 3 | FIFO_FULL_IRQ | R/W | 0h |
FIFO is full 0h (W) = Event status bit unchanged 0h (R) = Event false 1h (W) = Event status bit is reset 1h (R) = Event is true ("pending") |
| 2 | FIFO_THR_IRQ | R/W | 0h |
FIFO threshold has been reached 0h (W) = Event status bit unchanged 0h (R) = Event false 1h (W) = Event status bit is reset 1h (R) = Event is true ("pending") |
| 1 | FIFO_OF_IRQ | R/W | 0h |
FIFO overflow has occurred 0h (W) = Event status bit unchanged 0h (R) = Event false 1h (W) = Event status bit is reset 1h (R) = Event is true ("pending") |
| 0 | FIFO_UF_IRQ | R/W | 0h |
FIFO underflow has occurred 0h (W) = Event status bit unchanged 0h (R) = Event false 1h (W) = Event status bit is reset 1h (R) = Event is true ("pending") |
CC_IRQENABLE is shown in Figure 14-12 and described in Table 14-7.
Return to Summary Table.
The interrupt enable register enables or disables the module internal sources of interrupt on an event-by-event basis (CCP and parallel mode).
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R/W-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | FS_IRQ_EN | LE_IRQ_EN | LS_IRQ_EN | FE_IRQ_EN | |||
| R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | FSP_ERR_IRQ_EN | FW_ERR_IRQ_EN | FSC_ERR_IRQ_EN | SSC_ERR_IRQ_EN | |||
| R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | FIFO_NOEMPTY_IRQ_EN | FIFO_FULL_IRQ_EN | FIFO_THR_IRQ_EN | FIFO_OF_IRQ_EN | FIFO_UF_IRQ_EN | ||
| R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | ||
| LEGEND: R/W = Read/Write; R = Read only; W1toCl = Write 1 to clear bit; -n = value after reset |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-20 | RESERVED | R/W | 0h | |
| 19 | FS_IRQ_EN | R/W | 0h |
Frame Start Interrupt Enable 0h = Event is masked 1h = Event generates an interrupt when it occurs |
| 18 | LE_IRQ_EN | R/W | 0h |
Line End Interrupt Enable 0h = Event is masked 1h = Event generates an interrupt when it occurs |
| 17 | LS_IRQ_EN | R/W | 0h |
Line Start Interrupt Enable 0h = Event is masked 1h = Event generates an interrupt when it occurs |
| 16 | FE_IRQ_EN | R/W | 0h |
Frame End Interrupt Enable 0h = Event is masked 1h = Event generates an interrupt when it occurs |
| 15-12 | RESERVED | R/W | 0h | |
| 11 | FSP_ERR_IRQ_EN | R/W | 0h |
FSP code Interrupt Enable 0h = Event is masked 1h = Event generates an interrupt when it occurs |
| 10 | FW_ERR_IRQ_EN | R/W | 0h |
Frame Height Error Interrupt Enable 0h = Event is masked 1h = Event generates an interrupt when it occurs |
| 9 | FSC_ERR_IRQ_EN | R/W | 0h |
False Synchronization Code Interrupt Enable 0h = Event is masked 1h = Event generates an interrupt when it occurs |
| 8 | SSC_ERR_IRQ_EN | R/W | 0h |
False Synchronization Code Interrupt Enable 0h = Event is masked 1h = Event generates an interrupt when it occurs |
| 7-5 | RESERVED | R/W | 0h | |
| 4 | FIFO_NOEMPTY_IRQ_EN | R/W | 0h |
FIFO Not Empty Interrupt Enable 0h = Event is masked 1h = Event generates an interrupt when it occurs |
| 3 | FIFO_FULL_IRQ_EN | R/W | 0h |
FIFO Full Interrupt Enable 0h = Event is masked 1h = Event generates an interrupt when it occurs |
| 2 | FIFO_THR_IRQ_EN | R/W | 0h |
FIFO Threshold Interrupt Enable 0h = Event is masked 1h = Event generates an interrupt when it occurs |
| 1 | FIFO_OF_IRQ_EN | R/W | 0h |
FIFO Overflow Interrupt Enable 0h = Event is masked 1h = Event generates an interrupt when it occurs |
| 0 | FIFO_UF_IRQ_EN | R/W | 0h |
FIFO Underflow Interrupt Enable 0h = Event is masked 1h = Event generates an interrupt when it occurs |
CC_CTRL is shown in Figure 14-13 and described in Table 14-8.
Return to Summary Table.
This register controls the various parameters of the camera core block (CCP and parallel mode). In CCP_MODE, configure PAR_MODE to 0x0.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R/W-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | CC_ONE_SHOT | CC_IF_SYNCHRO | CC_RST | CC_FRAME_TRIG | CC_EN | ||
| R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | ||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | NOBT_SYNCHRO | BT_CORRECT | PAR_ORDERCAM | PAR_CLK_POL | NOBT_HS_POL | NOBT_VS_POL | |
| R/W-0h | R/W-0h | R/W-1h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | PORT_SELECT | PAR_MODE | |||||
| R/W-0h | R/W-0h | R/W-1h | |||||
| LEGEND: R/W = Read/Write; R = Read only; W1toCl = Write 1 to clear bit; -n = value after reset |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-21 | RESERVED | R/W | 0h | |
| 20 | CC_ONE_SHOT | R/W | 0h |
One-shot capability (one frame captured) This must be set in the same time as CC_EN is set to 1. One frame acquisition starts and stops automatically. Reads returns 0 0h = No synchro (most of applications) 1h = Synchro enabled (should never be required) |
| 19 | CC_IF_SYNCHRO | R/W | 0h |
Synchronize all camera sensor inputs This must be set during the configuration phase before CC_EN set to 1. Used in very high frequency to avoid dependancy to the I/O timings. 0h = No synchro (most of applications) 1h = Synchro enabled (should never be required) |
| 18 | CC_RST | R/W | 0h |
Reset all the internal finite state machines of the camera core module by writing a 1 to this bit. Must be applied when CC_EN = 0. Reads returns 0 |
| 17 | CC_FRAME_TRIG | R/W | 0h |
Sets the modality in which CC_EN works when disabling the sensor camera core. If CC_FRAME_TRIG = 1, by writing 0 to CC_EN the module is disabled at the end of the frame If CC_FRAME_TRIG = 0, by writing 0 to CC_EN the module is disabled immediately |
| 16 | CC_EN | R/W | 0h |
Enables the sensor interface of the camera core module. By writing 1 to this field, the module is enabled By writing 0 to this field, the module is disabled at the end of the frame if CC_FRAME_TRIG = 1, and is disabled immediately if CC_FRAME_TRIG = 0. |
| 15-14 | RESERVED | R/W | 0h | |
| 13 | NOBT_SYNCHRO | R/W | 0h |
Enables start at the beginning of the frame or not in NoBT 0h = Acquisition starts when vertical synchro is high 1h = Acquisition starts when vertical synchro goes from low to high (beginning of the frame) (recommended) |
| 12 | BT_CORRECT | R/W | 1h |
Enables the correct sync codes in BT mode. 0h = Correction is not enabled 1h = Correction is enabled |
| 11 | PAR_ORDERCAM | R/W | 0h |
Enables swap between image-data in parallel mode. 0h = Swap is not enabled 1h = Swap is enabled |
| 10 | PAR_CLK_POL | R/W | 0h |
Inverts the clock coming from the sensor in parallel mode. 0h = Clock not inverted - data sampled on rising edge 1h = Clock inverted - data sampled on falling edge |
| 9 | NOBT_HS_POL | R/W | 0h |
Sets the polarity of the synchronization signals in NOBT parallel mode. 0h = CAM_P_HS is active high 1h = CAM_P_HS is active low |
| 8 | NOBT_VS_POL | R/W | 0h |
Sets the polarity of the synchronization signals in NOBT parallel mode. 0h = CAM_P_VS is active high 1h = CAM_P_VS is active low |
| 7-5 | RESERVED | R/W | 0h | |
| 4 | PORT_SELECT | R/W | 0h |
Determines which OCP port can perform read access from internal FIFO when DMA_EN bit is set to 1. 0h = OCP 2 1h = OCP 1 |
| 3-0 | PAR_MODE | R/W | 1h |
Sets the protocol mode of the camera core module in parallel mode (when CCP_MODE = 0). 000h = Parallel NOBT 8-bit 001h = Parallel NOBT 10-bit 010h = Parallel NOBT 12-bit 011h = Reserved 100h = Parallel BT 8-bit 101h = Parallel BT 10-bit 110h = Reserved 111h = FIFO test mode. |
CC_CTRL_DMA is shown in Figure 14-14 and described in Table 14-9.
Return to Summary Table.
This register controls the DMA interface of the camera core block (CCP and parallel mode).
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R/W-1h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | |||||||
| R/W-1h | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | DMA_EN | ||||||
| R/W-1h | R/W-0h | ||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | FIFO_THRESHOLD | ||||||
| R/W-0h | R/W-7h | ||||||
| LEGEND: R/W = Read/Write; R = Read only; W1toCl = Write 1 to clear bit; -n = value after reset |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-9 | RESERVED | R/W | 1h | |
| 8 | DMA1_DISABLE | R/W | 0h |
DMA1 disable capability. Only use DMA0 (threshold-based). 0h = DMA1 line can be activated 1h = DMA1 line can not be activated |
| 8 | DMA_EN | R/W | 0h |
Sets the number of DMA request lines. 0h = DMA interface disabled. The DMA request line stays inactive. 1h = DMA interface enabled. The DMA request line is operational. |
| 7 | RESERVED | R/W | 0h | |
| 6-0 | FIFO_THRESHOLD | R/W | 7h |
Sets the threshold of the FIFO. The assertion of the DMA request line takes place when the threshold is reached. 00000000h = Threshold set to 1 00000001h = Threshold set to 2 ... 01111111h = Threshold set to 128 |
CC_CTRL_XCLK is shown in Figure 14-15 and described in Table 14-10.
Return to Summary Table.
This register controls the value of the clock divisor used to generate the external clock (parallel mode). Refer to Table 14-2 for details about the ratio of XCLK frequency.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | |||||||||||||||
| R/W-0h | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | XCLK_DIV | ||||||||||||||
| R/W-0h | R/W-0h | ||||||||||||||
| LEGEND: R/W = Read/Write; R = Read only; W1toCl = Write 1 to clear bit; -n = value after reset |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-5 | RESERVED | R/W | 0h | |
| 4-0 | XCLK_DIV | R/W | 0h |
Sets the clock divisor value for CAM_XCLK generation. Based on CAM_MCLK (value of CAM_MCLK IS 96 MHz). Divider not enabled 00000000h = CAM_XCLK Stable low level 00000001h = CAM_XCLK Stable high level from 2 to 30 = CAM_XCLK = CAM_MCLK / XCLK DIV 00011111h = Bypass - CAM_XCLK = CAM_MCLK |
CC_FIFODATA is shown in Figure 14-16 and described in Table 14-11.
Return to Summary Table.
This register allows the user to write and read from the FIFO (CCP and parallel mode). Refer to Section 14.3.2 for details about FIFO write and read accesses into this register bank.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| FIFO_DATA | |||||||||||||||||||||||||||||||
| R/W-X | |||||||||||||||||||||||||||||||
| LEGEND: R/W = Read/Write; R = Read only; W1toCl = Write 1 to clear bit; -n = value after reset |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | FIFO_DATA | R/W | X |
Reads or writes the 32-bit word from or into the FIFO. |