csl_dma_lcd.h
来自「dsp在音频处理中的运用」· C头文件 代码 · 共 545 行 · 第 1/2 页
H
545 行
/** @brief Enumerations for End of Programming Status bit of the channel * */typedef enum { CSL_DMA_LCD_OMAP31_COMPATABILITY = 0, /**< Channel is in OMAP3.0/3.1 compatible mode */ CSL_DMA_LCD_OMAP32_COMPATABILITY = 1 /**< Channel is in OMAP3.2 Compatible mode */} CSL_DmaLcdCompatability;/** @brief Enumerations for End of Programming Status bit of the channel * */typedef enum { CSL_DMA_LCD_ENDPROG_DISABLE = 0, /**< When auto-init is set and repeat not set auto-init delayed till ENDPROG is ENABLED. */ CSL_DMA_LCD_ENDPROG_ENABLE = 1 /**< In auto-init mode channel reinitialized after current transfer */} CSL_DmaLcdEndProg;/** @brief Enumerations for Repetitive operation of the channel * */typedef enum { CSL_DMA_LCD_REPEAT_DISABLE = 0, /**< When DMA is in auto-init mode and end_prog=0 channel automatically reinitializes itself once the current transfer is complete */ CSL_DMA_LCD_REPEAT_ENABLE = 1 /**< When DMA is in auto-init mode and end_prog=0 channel automatically reinitializes itself once the current transfer is complete */} CSL_DmaLcdRepeat;/** @brief Enumerations for Auto-Initialization Mode of the channel * */typedef enum { CSL_DMA_LCD_AUTOINIT_DISABLE = 0, /**< Channel stops at the end of current transfer */ CSL_DMA_LCD_AUTOINIT_ENABLE = 1 /**< After current transfer is complete, channel automatically reinitializes itself if REPEAT or ENDPROG is ENABLE. */} CSL_DmaLcdAutoInit;/** @brief Enumerations for Priority of channel * */typedef enum { CSL_DMA_LCD_PRIORITY_LOW = 0, /**< Channel has the lowest priority level */ CSL_DMA_LCD_PRIORITY_HIGH = 1 /**< Channel has the highest priority level */} CSL_DmaLcdPriority;/** @brief Enumerations for Frame Synchronization * */typedef enum { CSL_DMA_LCD_BS_DISABLE = 0, /**< If LCD channel is enabled it is software triggered */ CSL_DMA_LCD_BS_ENABLE = 1 /**< A block transfer is started when LCD channel is enabled and a hardware sync signal is received from external LCD Controller */} CSL_DmaLcdBS;/** @brief Enumerations for the LCD Channel Control Setup * */typedef struct CSL_DmaLcdSetupChaCtrl { CSL_DmaLcdBS bs; /**< Block Synchronization Setting */ CSL_DmaLcdPriority priority; /**< Channel Priority Setting */ CSL_DmaLcdAutoInit autoinit; /**< Channel Auto-Initialization feature */ CSL_DmaLcdEndProg endprog; /**< Channel End Programmation feature */ CSL_DmaLcdRepeat repeat; /**< Channel Repeat feature */ CSL_DmaLcdCompatability compatability; /**< Channel Compatability feature */}CSL_DmaLcdSetupChaCtrl;/** @brief LCD Channel Setup Structure * */typedef struct CSL_DmaLcdSetupChannel { Uint16 interruptMask; /**< Bit-wise OR of the @a #CSL_DmaLcdIntEvents data type */ CSL_DmaLcdLchType lchType; /**< Logical Channel assignment relationship to physical channels */ CSL_DmaLcdBlockMode blockMode; /**< Type of block Mode used for LCD Transfer */ CSL_DmaLcdSetupChaCtrl *chaCtrlSetup; /**< Pointer to @a #CSL_DmaLcdSetupChaCtrl structure */ CSL_DmaLcdSetupChaBlock1 *chaBlock1Setup; /**< Pointer to @a #CSL_DmaLcdSetupChaBlock1 structure */ CSL_DmaLcdSetupChaBlock2 *chaBlock2Setup; /**< Pointer to @a #CSL_DmaLcdSetupChaBlock2 structure */} CSL_DmaLcdSetupChannel;/** @brief Enumerations for Type of port which is the destination of lcd channel * for the next LCD transfer * */typedef enum { CSL_DMA_LCD_OMAP_LCD_CONTROLLER = 0, /**< OMAP LCD Controller is connected to the LCD Channel */ CSL_DMA_LCD_EXT_LCD_CONTROLLER = 1 /**< External LCD Controller is connected to the LCD Channel */} CSL_DmaLcdDstPort;/** @brief Enumerations for Type of port which is the source of lcd channel * */typedef enum { CSL_DMA_LCD_PORT_SDRAM = 0, /**< SDRAM Port : also aliased as EMIFF Port */ CSL_DMA_LCD_PORT_EMIFF = 0, /**< EMIFF Port : also aliased as SDRAM Port */ CSL_DMA_LCD_PORT_L3_OCP_T1 = 1, /**< L3 OCP T1 Port : also aliased as IMIF Port */ CSL_DMA_LCD_PORT_IMIF = 1, /**< EMIFS Port */ CSL_DMA_LCD_PORT_L3_OCP_T2 = 2, /**< L3 OCP T2 Port : also aliased as Local Access Bus Port */ CSL_DMA_LCD_PORT_LOCAL_ACCESS_BUS = 2 /**< Local Access Bus Port : also aliased as L3 OCP T2 Port */} CSL_DmaLcdPort;/** @brief Enumerations for Addressing mode * */typedef enum { CSL_DMA_LCD_AMODE_POST_INCREMENT = 1, /**< Post Increment Addressing Mode */ CSL_DMA_LCD_AMODE_SINGLE_INDEX = 2, /**< Single Index Addressing Mode */ CSL_DMA_LCD_AMODE_DOUBLE_INDEX = 3 /**< Double Index Addressing Mode */} CSL_DmaLcdAmode;/** @brief Enumerations for Packing enable/disable * */typedef enum { CSL_DMA_LCD_PACKED_ACCESS_DISABLE = 0, /**< Disable packed accesses */ CSL_DMA_LCD_PACKED_ACCESS_ENABLE = 1 /**< Enable packed accesses */} CSL_DmaLcdPack;/** @brief Enumerations for Burst enable/disable * */typedef enum { CSL_DMA_LCD_SINGLE_ACCESS = 0, /**< Bursting Disabled : Single access */ CSL_DMA_LCD_BURST4_ACCESS = 2 /**< Burst of 4*port_width */} CSL_DmaLcdBurst;/** @brief Block Port related Setup * */typedef struct CSL_DmaLcdSetupSrcPortBlock { CSL_DmaLcdBurst burst; /**< Port's burst capability for the block */ CSL_DmaLcdPack pack; /**< Port's packing capability for the block */ CSL_DmaLcdAmode amode; /**< Port's Addressing Mode for the block */ Uint32 topAddr; /**< Byte Address for Buffer's Top Address */ Uint32 bottomAddr; /**< Byte Address for Buffer's Top Address */ Int16 elementIndex; /**< Element Index */ Int32 frameIndex; /**< Frame Index */} CSL_DmaLcdSetupSrcPortBlock;/** @brief Setup Source Port Block1 * */typedef struct CSL_DmaLcdSetupSrcPortBlock CSL_DmaLcdSetupSrcPortBlock1;/** @brief Setup Source Port Block2 * */typedef struct CSL_DmaLcdSetupSrcPortBlock CSL_DmaLcdSetupSrcPortBlock2;typedef struct CSL_DmaLcdSetupSrcPort { CSL_DmaLcdPort port; /**< Pointer to Port Name for next LCD transfer */ CSL_DmaLcdSetupSrcPortBlock1 *srcPortBlock1Setup; /**< Pointer to @a #CSL_DmaLcdSetupSrcPortBlock1 structure */ CSL_DmaLcdSetupSrcPortBlock2 *srcPortBlock2Setup; /**< Pointer to @a #CSL_DmaLcdSetupSrcPortBlock2 structure */} CSL_DmaLcdSetupSrcPort;/** @brief Dma LCD Channel Setup Structure * * An object of this type is allocated by the user and * its address is passed as a parameter to CSL_dmaLcdHwSetup(). */typedef struct CSL_DmaLcdHwSetup { CSL_DmaLcdDstPort *lcdDstPort; /**< Pointer to @a #CSL_DmaLcdDstPort data type */ CSL_DmaLcdSetupSrcPort *lcdSrcPortSetup; /**< Pointer to @a #CSL_DmaLcdSetupSrcPort structure */ CSL_DmaLcdSetupChannel *lcdChannelSetup; /**< Pointer to @a #CSL_DmaLcdSetupChannel structure */ CSL_DmaSetupGlobal *globalSetup; /**< Pointer to @a #CSL_DmaSetupGlobal structure */} CSL_DmaLcdHwSetup;/* * ====================================================== * @func CSL_dmaLcdHwSetup * ====================================================== *//** @brief * Configures the DMA LCD channel using the different config structures. * Sets up the DMA LCD channel (passed as handle) using the * configurations specified in the different structures (CSL_dmaLcdSetupSrcPort), * CSL_DmaLcdSetupChannel and CSL_DmaSetupGlobal). This function * calls the respective functions. * The function will return an error if cannot complete the request * *//* ====================================================== * @arg hDma * Handle to the DMA Channel * @arg setup * DMA setup structure for the DMA LCD Channel * @ret CSL_Status * * * ======================================================*/ CSL_Status CSL_dmaLcdHwSetup( CSL_DmaHandle hDma, CSL_DmaLcdHwSetup *setup);/* * ====================================================== * @func CSL_dmaLcdHwControl * ====================================================== *//** @brief Controls the parameters of DMA LCD channel (passed as handle) * *//* ====================================================== * The function will return an error if cannot complete the request * * @arg hDma * Handle to the LCD channel * @arg cmd * The operation to be performed. * @arg voidPtr * This is a void pointer, and will be cast to the required type. * @ret CSL_Status * CSL_SOK : Successful, desired operation is done. * CSL_ESYS_INVCNTLCMD : Control Command is not supported. * * ======================================================*/ CSL_Status CSL_dmaLcdHwControl( CSL_DmaHandle hDma, CSL_DmaLcdControlCmd cmd, void *voidPtr);/* * ====================================================== * @func CSL_dmaLcdGetHwStatus * ====================================================== *//** @brief * Traces the various parameters of the LCD DMA channel (passed as handle) * *//* ====================================================== * * Usage Constraints: * Channel should have been opened before with a valid handle * We should know that the registers can be read back. * * The are various Operations that can be done here are: * 1) Trace the channel setup configuration * 2) Get the Status of the channel * * The function will return an error if cannot complete the request * * @arg hDma * Handle to the channel * @arg cmd * The Values to be traced back * @arg voidPtr * This is a void pointer, and will be cast to the required type. * @ret CSL_Status * * * ======================================================*/ CSL_Status CSL_dmaLcdGetHwStatus( CSL_DmaHandle hDma, CSL_DmaLcdHwStatusQuery query, void *voidPtr);#ifdef __cplusplus}#endif#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?