cslr_cam.h
来自「dsp在音频处理中的运用」· C头文件 代码 · 共 381 行
H
381 行
/** ============================================================================
* @file cslr_cam.h
*
* @path $(CSLPATH)\arm\cam\src
*
* @desc Register layer header file for the camera parallel interface CSL
* =============================================================================
*/
/* ============================================================================
* Copyright (c) Texas Instruments Inc 2002, 2003, 2004
*
* Use of this software is controlled by the terms and conditions found in the
* license agreement under which this software has been supplied.
* ===========================================================================
*/
/* =============================================================================
* Revision History
* ================
* 10-Aug-2004 ka File Created.
*
* =============================================================================
*/
#ifndef _CSLR_CAM_H_
#define _CSLR_CAM_H_
#include <cslr.h>
#include <tistdtypes.h>
/**
* Register overlay structure
*/
typedef struct {
/** Clock control register */
volatile Uint32 CTRLCLOCK;
/** Interrupt source status register */
volatile Uint32 IT_STATUS;
/** Camera interface mode configuration register */
volatile Uint32 MODE;
/** Status register */
volatile Uint32 STATUS;
/** Image data register */
volatile Uint32 CAMDATA;
/** Camera interface GPIO register */
volatile Uint32 GPIO;
/** FIFO peak counter register */
volatile Uint32 PEAK_COUNTER;
} CSL_CamRegs;
/**
* Overlay structure typedef definition
*/
typedef volatile CSL_CamRegs * CSL_CamRegsOvly;
/**************************************************************************\
* Field Definition Macros
\**************************************************************************/
/* CTRLCLOCK */
/** CTRLCLOCK LCLK_EN field mask */
#define CSL_CAM_CTRLCLOCK_LCLK_EN_MASK (0x00000080u)
/** CTRLCLOCK LCLK_EN field shift */
#define CSL_CAM_CTRLCLOCK_LCLK_EN_SHIFT (0x00000007u)
/** CTRLCLOCK LCLK_EN field reset value */
#define CSL_CAM_CTRLCLOCK_LCLK_EN_RESETVAL (0x00000000u)
/*----LCLK_EN Tokens----*/
/** CTRLCLOCK LCLK_EN - Disable CAM.LCLK */
#define CSL_CAM_CTRLCLOCK_LCLK_EN_DISABLE (0x00000000u)
/** CTRLCLOCK LCLK_EN - Enable CAM.LCLK */
#define CSL_CAM_CTRLCLOCK_LCLK_EN_ENABLE (0x00000001u)
/** CTRLCLOCK MCLK_EN field mask */
#define CSL_CAM_CTRLCLOCK_MCLK_EN_MASK (0x00000020u)
/** CTRLCLOCK MCLK_EN field shift value */
#define CSL_CAM_CTRLCLOCK_MCLK_EN_SHIFT (0x00000005u)
/** CTRLCLOCK MCLK_EN field reset value */
#define CSL_CAM_CTRLCLOCK_MCLK_EN_RESETVAL (0x00000000u)
/*----MCLK_EN Tokens----*/
/** CTRLCLOCK MCLK_EN - Disable internal clock of interface */
#define CSL_CAM_CTRLCLOCK_MCLK_EN_DISABLE (0x00000000u)
/** CTRLCLOCK MCLK_EN - Enable internal clock of interface */
#define CSL_CAM_CTRLCLOCK_MCLK_EN_ENABLE (0x00000001u)
/** CTRLCLOCK CAMEX_EN field mask */
#define CSL_CAM_CTRLCLOCK_CAMEXCLK_EN_MASK (0x00000010u)
/** CTRLCLOCK CAMEX_EN field shift value */
#define CSL_CAM_CTRLCLOCK_CAMEXCLK_EN_SHIFT (0x00000004u)
/** CTRLCLOCK CAMEX_EN field reset value */
#define CSL_CAM_CTRLCLOCK_CAMEXCLK_EN_RESETVAL (0x00000000u)
/*----CAMEXCLK_EN Tokens----*/
/** CTRLCLOCK MCLK_EN - Disable CAM.EXCLK */
#define CSL_CAM_CTRLCLOCK_CAMEXCLK_EN_DISABLE (0x00000000u)
/** CTRLCLOCK MCLK_EN - Enable CAM.EXCLK */
#define CSL_CAM_CTRLCLOCK_CAMEXCLK_EN_ENABLE (0x00000001u)
/** CTRLCLOCK POLCLK field mask value */
#define CSL_CAM_CTRLCLOCK_POLCLK_MASK (0x00000008u)
/** CTRLCLOCK POLCLK field shift value */
#define CSL_CAM_CTRLCLOCK_POLCLK_SHIFT (0x00000003u)
/** CTRLCLOCK POLCLK field reset value */
#define CSL_CAM_CTRLCLOCK_POLCLK_RESETVAL (0x00000000u)
/*----POLCLK Tokens----*/
/** CTRLCLOCK POLCLK - Configure rising edge as the active edge */
#define CSL_CAM_CTRLCLOCK_POLCLK_RISING_EDGE (0x00000000u)
/** CTRLCLOCK POLCLK - Configure falling edge as the active edge */
#define CSL_CAM_CTRLCLOCK_POLCLK_FALLING_EDGE (0x00000001u)
/** CTRLCLOCK FOSCMOD field mask value */
#define CSL_CAM_CTRLCLOCK_FOSCMOD_MASK (0x00000007u)
/** CTRLCLOCK FOSCMOD field shift value */
#define CSL_CAM_CTRLCLOCK_FOSCMOD_SHIFT (0x00000000u)
/** CTRLCLOCK FOSCMOD field reset value */
#define CSL_CAM_CTRLCLOCK_FOSCMOD_RESETVAL (0x00000000u)
/*----ORDERCAMD Tokens----*/
/** Do not swap the recieved bytes */
#define CSL_CAM_MODE_ORDERCAMD_NOT_SWAPPED (0x00000000u)
/** Swap the recieved bytes */
#define CSL_CAM_MODE_ORDERCAMD_SWAPPED (0x00000001u)
/*----FOSCMOD Tokens----*/
/** CTRLCLOCK FOSCMOD - Divide ARM_PER_CK by 8 */
#define CSL_CAM_CTRLCLOCK_FOSCMOD_ARM_PER_CK_8 (0x00000000u)
/** CTRLCLOCK FOSCMOD - Divide ARM_PER_CK by 3 */
#define CSL_CAM_CTRLCLOCK_FOSCMOD_ARM_PER_CK_3 (0x00000001u)
/** CTRLCLOCK FOSCMOD - Divide ARM_PER_CK by 16 */
#define CSL_CAM_CTRLCLOCK_FOSCMOD_ARM_PER_CK_16 (0x00000002u)
/** CTRLCLOCK FOSCMOD - Divide ARM_PER_CK by 2 */
#define CSL_CAM_CTRLCLOCK_FOSCMOD_ARM_PER_CK_2 (0x00000003u)
/** CTRLCLOCK FOSCMOD - Divide ARM_PER_CK by 10 */
#define CSL_CAM_CTRLCLOCK_FOSCMOD_ARM_PER_CK_10 (0x00000004u)
/** CTRLCLOCK FOSCMOD - Divide ARM_PER_CK by 4 */
#define CSL_CAM_CTRLCLOCK_FOSCMOD_ARM_PER_CK_4 (0x00000005u)
/** CTRLCLOCK FOSCMOD - Divide ARM_PER_CK by 12 */
#define CSL_CAM_CTRLCLOCK_FOSCMOD_ARM_PER_CK_12 (0x00000006u)
/** CTRLCLOCK FOSCMOD - Disables the CAM.EXCLK */
#define CSL_CAM_CTRLCLOCK_FOSCMOD_INACTIVE (0x00000007u)
/** CTRLCLOCK register reset value */
#define CSL_CAM_CTRLCLOCK_RESETVAL (0x00000000u)
/* IT_STATUS */
/** IT_STATUS DATA_TRANSFER mask value */
#define CSL_CAM_IT_STATUS_DATA_TRANSFER_MASK (0x00000020u)
/** IT_STATUS DATA_TRANSFER field shift value */
#define CSL_CAM_IT_STATUS_DATA_TRANSFER_SHIFT (0x00000005u)
/** IT_STATUS DATA_TRANSFER field reset value */
#define CSL_CAM_IT_STATUS_DATA_TRANSFER_RESETVAL (0x00000000u)
/** IT_STATUS FIFO FULL mask value */
#define CSL_CAM_IT_STATUS_FIFO_FULL_MASK (0x00000010u)
/** IT_STATUS FIFO FULL field shift value */
#define CSL_CAM_IT_STATUS_FIFO_FULL_SHIFT (0x00000004u)
/** IT_STATUS FIFO FULL field reset value */
#define CSL_CAM_IT_STATUS_FIFO_FULL_RESETVAL (0x00000000u)
/** IT_STATUS H_DOWN field mask value */
#define CSL_CAM_IT_STATUS_H_DOWN_MASK (0x00000008u)
/** IT_STATUS H_DOWN field shift value */
#define CSL_CAM_IT_STATUS_H_DOWN_SHIFT (0x00000003u)
/** IT_STATUS H_DOWN field reset value */
#define CSL_CAM_IT_STATUS_H_DOWN_RESETVAL (0x00000000u)
/** IT_STATUS H_UP field mask value */
#define CSL_CAM_IT_STATUS_H_UP_MASK (0x00000004u)
/** IT_STATUS H_UP field shift value */
#define CSL_CAM_IT_STATUS_H_UP_SHIFT (0x00000002u)
/** IT_STATUS H_UP field reset value */
#define CSL_CAM_IT_STATUS_H_UP_RESETVAL (0x00000000u)
/** IT_STATUS V_DOWN field mask value */
#define CSL_CAM_IT_STATUS_V_DOWN_MASK (0x00000002u)
/** IT_STATUS V_DOWN field shift value */
#define CSL_CAM_IT_STATUS_V_DOWN_SHIFT (0x00000001u)
/** IT_STATUS V_DOWN field reset value */
#define CSL_CAM_IT_STATUS_V_DOWN_RESETVAL (0x00000000u)
/** IT_STATUS V_UP field mask value */
#define CSL_CAM_IT_STATUS_V_UP_MASK (0x00000001u)
/** IT_STATUS V_UP field shift value */
#define CSL_CAM_IT_STATUS_V_UP_SHIFT (0x00000000u)
/** IT_STATUS V_UP field reset value */
#define CSL_CAM_IT_STATUS_V_UP_RESETVAL (0x00000000u)
/** IT_STATUS V_UP reset value */
#define CSL_CAM_IT_STATUS_RESETVAL (0x00000000u)
/* MODE */
/** MODE RAS_FIFO field mask value */
#define CSL_CAM_MODE_RAZ_FIFO_MASK (0x00040000u)
/** MODE RAS_FIFO field shift value */
#define CSL_CAM_MODE_RAZ_FIFO_SHIFT (0x00000012u)
/** MODE RAS_FIFO field reset value */
#define CSL_CAM_MODE_RAZ_FIFO_RESETVAL (0x00000000u)
/** MODE EN_FIFO field mask value */
#define CSL_CAM_MODE_EN_FIFO_FULL_MASK (0x00020000u)
/** MODE EN_FIFO field shift value */
#define CSL_CAM_MODE_EN_FIFO_FULL_SHIFT (0x00000011u)
/** MODE EN_FIFO field reset value */
#define CSL_CAM_MODE_EN_FIFO_FULL_RESETVAL (0x00000000u)
/*----EN_FIFO_FULL Tokens----*/
/** MODE EN_FIFO_FULL - Disable interrupt on FIFO_FULL */
#define CSL_CAM_MODE_EN_FIFO_FULL_DISABLE (0x00000000u)
/** MODE EN_FIFO_FULL - Enable interrupt on FIFO_FULL */
#define CSL_CAM_MODE_EN_FIFO_FULL_ENABLE (0x00000001u)
/** MODE EN_NIRQ field mask value */
#define CSL_CAM_MODE_EN_NIRQ_MASK (0x00010000u)
/** MODE EN_NIRQ field shift value */
#define CSL_CAM_MODE_EN_NIRQ_SHIFT (0x00000010u)
/** MODE EN_NIRQ field reset value */
#define CSL_CAM_MODE_EN_NIRQ_RESETVAL (0x00000000u)
/*----EN_NIRQ Tokens----*/
/** MODE EN_NIRQ - Disable data transfer interrupt */
#define CSL_CAM_MODE_EN_NIRQ_DISABLE (0x00000000u)
/** MODE EN_NIRQ - Enable data transfer interrupt */
#define CSL_CAM_MODE_EN_NIRQ_ENABLE (0x00000001u)
/** MODE THRESHOLD field mask value */
#define CSL_CAM_MODE_THRESHOLD_MASK (0x0000FE00u)
/** MODE THRESHOLD field shift value */
#define CSL_CAM_MODE_THRESHOLD_SHIFT (0x00000009u)
/** MODE THRESHOLD field reset value */
#define CSL_CAM_MODE_THRESHOLD_RESETVAL (0x00000000u)
/** MODE DMA field mask value */
#define CSL_CAM_MODE_DMA_MASK (0x00000100u)
/** MODE DMA field shift value */
#define CSL_CAM_MODE_DMA_SHIFT (0x00000008u)
/** MODE DMA field reset value */
#define CSL_CAM_MODE_DMA_RESETVAL (0x00000000u)
/** MODE EN_H_DOWN field mask value */
#define CSL_CAM_MODE_EN_H_DOWN_MASK (0x00000080u)
/** MODE EN_H_DOWN field shift value */
#define CSL_CAM_MODE_EN_H_DOWN_SHIFT (0x00000007u)
/** MODE EN_H_DOWN field reset value */
#define CSL_CAM_MODE_EN_H_DOWN_RESETVAL (0x00000000u)
/** MODE EN_H_UP field mask value */
#define CSL_CAM_MODE_EN_H_UP_MASK (0x00000040u)
/** MODE EN_H_UP field shift value */
#define CSL_CAM_MODE_EN_H_UP_SHIFT (0x00000006u)
/** MODE EN_H_UP field reset value */
#define CSL_CAM_MODE_EN_H_UP_RESETVAL (0x00000000u)
/** MODE EN_V_DOWN field mask value */
#define CSL_CAM_MODE_EN_V_DOWN_MASK (0x00000020u)
/** MODE EN_V_DOWN field shift value */
#define CSL_CAM_MODE_EN_V_DOWN_SHIFT (0x00000005u)
/** MODE EN_V_DOWN field reset value */
#define CSL_CAM_MODE_EN_V_DOWN_RESETVAL (0x00000000u)
/** MODE EN_V_UP field mask value */
#define CSL_CAM_MODE_EN_V_UP_MASK (0x00000010u)
/** MODE EN_V_UP field shift value */
#define CSL_CAM_MODE_EN_V_UP_SHIFT (0x00000004u)
/** MODE EN_V_UP field reset value */
#define CSL_CAM_MODE_EN_V_UP_RESETVAL (0x00000000u)
/** MODE ORDERCAMD field mask value */
#define CSL_CAM_MODE_ORDERCAMD_MASK (0x00000008u)
/** MODE ORDERCAMD field shift value */
#define CSL_CAM_MODE_ORDERCAMD_SHIFT (0x00000003u)
/** MODE ORDERCAMD field reset value */
#define CSL_CAM_MODE_ORDERCAMD_RESETVAL (0x00000000u)
/** MODE IMGSIZE field mask value */
#define CSL_CAM_MODE_IMGSIZE_MASK (0x00000006u)
/** MODE IMGSIZE field shift value */
#define CSL_CAM_MODE_IMGSIZE_SHIFT (0x00000001u)
/** MODE IMGSIZE field reset value */
#define CSL_CAM_MODE_IMGSIZE_RESETVAL (0x00000000u)
/*----IMGSIZE Tokens----*/
/** MODE IMGSIZE - CIF image */
#define CSL_CAM_MODE_IMGSIZE_CIF (0x00000000u)
/** MODE IMGSIZE - QCIF image */
#define CSL_CAM_MODE_IMGSIZE_QCIF (0x00000001u)
/** MODE IMGSIZE - VGA image */
#define CSL_CAM_MODE_IMGSIZE_VGA (0x00000002u)
/** MODE IMGSIZE - QVGA image */
#define CSL_CAM_MODE_IMGSIZE_QVGA (0x00000003u)
/** MODE CAMOSC field mask value */
#define CSL_CAM_MODE_CAMOSC_MASK (0x00000001u)
/** MODE CAMOSC field shift value */
#define CSL_CAM_MODE_CAMOSC_SHIFT (0x00000000u)
/** MODE CAMOSC field reset value */
#define CSL_CAM_MODE_CAMOSC_RESETVAL (0x00000000u)
/*----CAMOSC Tokens----*/
/** MODE CAMOSC - Synchronous mode */
#define CSL_CAM_MODE_CAMOSC_SYNC_MODE (0x00000000u)
/** MODE CAMOSC - Asynchronous mode */
#define CSL_CAM_MODE_CAMOSC_ASYNC_MODE (0x00000001u)
/** MODE register reset value */
#define CSL_CAM_MODE_RESETVAL (0x00000000u)
/* STATUS */
/** STATUS HSTATUS field mask value */
#define CSL_CAM_STATUS_HSTATUS_MASK (0x00000002u)
/** STATUS HSTATUS field shift value */
#define CSL_CAM_STATUS_HSTATUS_SHIFT (0x00000001u)
/** STATUS HSTATUS field reset value */
#define CSL_CAM_STATUS_HSTATUS_RESETVAL (0x00000000u)
/** STATUS VSTATUS field mask value */
#define CSL_CAM_STATUS_VSTATUS_MASK (0x00000001u)
/** STATUS VSTATUS field shift value */
#define CSL_CAM_STATUS_VSTATUS_SHIFT (0x00000000u)
/** STATUS VSTATUS field shift value */
#define CSL_CAM_STATUS_VSTATUS_RESETVAL (0x00000000u)
/** STATUS STATUS reset value */
#define CSL_CAM_STATUS_RESETVAL (0x00000000u)
/* GPIO */
/** STATUS GPIO field mask value */
#define CSL_CAM_GPIO_CAM_RST_MASK (0x00000001u)
/** STATUS GPIO field shift value */
#define CSL_CAM_GPIO_CAM_RST_SHIFT (0x00000000u)
/** STATUS GPIO field reset value */
#define CSL_CAM_GPIO_CAM_RST_RESETVAL (0x00000000u)
/** STATUS GPIO regsiter reset value */
#define CSL_CAM_GPIO_RESETVAL (0x00000000u)
/* CAMDATA */
/** STATUS CAMDATA CAMDATA field mask value */
#define CSL_CAM_CAMDATA_CAMDATA_MASK (0xFFFFFFFFu)
/** STATUS CAMDATA CAMDATA field shift value */
#define CSL_CAM_CAMDATA_CAMDATA_SHIFT (0x00000000u)
/** STATUS CAMDATA CAMDATA field reset value */
#define CSL_CAM_CAMDATA_CAMDATA_RESETVAL (0x00000000u)
/** STATUS CAMDATA register reset value */
#define CSL_CAM_CAMDATA_RESETVAL (0x00000000u)
/* PEAK_COUNTER */
/** PEAK_COUNTER PEAK_COUNTER field mask */
#define CSL_CAM_PEAK_COUNTER_PEAK_COUNTER_MASK (0x0000007Fu)
/** PEAK_COUNTER PEAK_COUNTER field shift value*/
#define CSL_CAM_PEAK_COUNTER_PEAK_COUNTER_SHIFT (0x00000000u)
/** PEAK_COUNTER PEAK_COUNTER field reset value*/
#define CSL_CAM_PEAK_COUNTER_PEAK_COUNTER_RESETVAL (0x00000000u)
/** PEAK_COUNTER register field reset value */
#define CSL_CAM_PEAK_COUNTER_RESETVAL (0x00000000u)
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?