ccm
Xilinx SDK Drivers API Documentation
xccm.h File Reference

Data Structures

struct  XCcm_Config
 This typedef contains configuration information for a CCM core. More...
 
struct  XCcm
 The XCcm driver instance data structure. More...
 
struct  XCcm_Coefs
 This typedef contains matrix coefficients of Color Correction Matrix(CCM) core which can be accessed for setting coefficients by using XCcm_SetCoefMatrix and for getting coefficient values by using XCcm_GetCoefMatrix. More...
 

Macros

#define XCCM_H_
 Prevent circular inclusions by using protection macros. More...
 
#define XCcm_Enable(InstancePtr)
 This macro enables the CCM core. More...
 
#define XCcm_Disable(InstancePtr)
 This macro disables the CCM core. More...
 
#define XCcm_Start   XCcm_Enable
 This macro enables/starts the CCM core. More...
 
#define XCcm_Stop   XCcm_Disable
 This macro disables/stops the CCM core. More...
 
#define XCcm_RegUpdateEnable(InstancePtr)
 This macro commits all the register value changes made so far by the software to the CCM core instance. More...
 
#define XCcm_RegUpdateDisable(InstancePtr)
 This macro prevents the CCM core instance from committing recent changes made so far by the software. More...
 
#define XCcm_SyncReset(InstancePtr)
 This macro resets a CCM core at the end of the frame being processed. More...
 
#define XCcm_Reset(InstancePtr)
 This macro resets a CCM core. More...
 
#define XCcm_IntrEnable(InstancePtr, IntrType)
 This macro enables individual interrupts of the CCM core by updating the IRQ_ENABLE register. More...
 
#define XCcm_IntrDisable(InstancePtr, IntrType)
 This macro disables individual interrupts of the CCM core by updating the IRQ_ENABLE register. More...
 
#define XCcm_StatusGetPending(InstancePtr)
 This macro returns the pending interrupt status of the CCM core by reading from Status register. More...
 
#define XCcm_IntrGetPending(InstancePtr)
 This macro returns the pending interrupts of the CCM core for the interrupts that have been enabled. More...
 
#define XCcm_IntrClear(InstancePtr, IntrType)
 This macro clears/acknowledges pending interrupts of the CCM core in the Status register. More...
 
Active Size Ranges
#define XCCM_ACT_SIZE_FIRST   32
 Active Size starting value. More...
 
#define XCCM_ACT_SIZE_LAST   7680
 Active Size ending value. More...
 
Coefficient ranges
#define XCCM_COEF_FIRST   -8.0
 Coefficient starting value. More...
 
#define XCCM_COEF_LAST   8.0
 Coefficient ending value. More...
 
Offset ranges
#define XCCM_OFFSET_FIRST   0xFFFFFF00
 Offset starting value. More...
 
#define XCCM_OFFSET_LAST   255
 Offset ending value. More...
 
Clamp ranges
#define XCCM_CLAMP_FIRST   0
 Clamp starting value. More...
 
#define XCCM_CLAMP_LAST   255
 Clamp ending value. More...
 
Clip ranges
#define XCCM_CLIP_FIRST   0
 Clip starting value. More...
 
#define XCCM_CLIP_LAST   255
 Clip ending value. More...
 

Typedefs

typedef void(* XCcm_CallBack) (void *CallBackRef)
 Callback type for all interrupts except error interrupt. More...
 
typedef void(* XCcm_ErrorCallBack) (void *CallBackRef, u32 ErrorMask)
 Callback type for Error interrupt. More...
 

Enumerations

Handler Types
enum  { XCCM_HANDLER_PROCSTART = 1, XCCM_HANDLER_FRAMEDONE, XCCM_HANDLER_ERROR }
 These constants specify different types of handler and used to differentiate interrupt requests from core. More...
 

Functions

XCcm_ConfigXCcm_LookupConfig (u16 DeviceId)
 XCcm_LookupConfig returns a reference to an XCcm_Config structure based on the unique device id, DeviceId. More...
 
int XCcm_CfgInitialize (XCcm *InstancePtr, XCcm_Config *CfgPtr, u32 EffectiveAddr)
 This function initializes an CCM core. More...
 
u32 XCcm_GetVersion (XCcm *InstancePtr)
 This function gets the Version of the CCM core. More...
 
void XCcm_Setup (XCcm *InstancePtr)
 This function sets the input/output frame size in Active Size register and enables the register update. More...
 
void XCcm_EnableDbgByPass (XCcm *InstancePtr)
 This function enables the bypass mode by setting bypass bit of the Control register to switch the core to bypass mode if debug feature is enabled in the core. More...
 
int XCcm_IsDbgByPassEnabled (XCcm *InstancePtr)
 This function returns the current bypass mode settings from Control register of the CCM core. More...
 
void XCcm_DisableDbgByPass (XCcm *InstancePtr)
 This function disables the Bypass mode of the CCM core. More...
 
void XCcm_EnableDbgTestPattern (XCcm *InstancePtr)
 This function enables the test-pattern mode if debug feature is enabled by setting test-pattern bit of the Control register of the CCM core. More...
 
int XCcm_IsDbgTestPatternEnabled (XCcm *InstancePtr)
 This function returns the test-pattern mode (enabled or not) from Control register of the CCM core, if debug feature was enabled. More...
 
void XCcm_DisableDbgTestPattern (XCcm *InstancePtr)
 This function disables debug test pattern mode in Control register of the CCM core, if Debug feature is enabled. More...
 
u32 XCcm_GetDbgFrameCount (XCcm *InstancePtr)
 This function gets number of frames processed since power-up or last time the core is reset. More...
 
u32 XCcm_GetDbgLineCount (XCcm *InstancePtr)
 This function gets the number of lines processed since power-up or last time the core is reset. More...
 
u32 XCcm_GetDbgPixelCount (XCcm *InstancePtr)
 This function gets the number of pixels processed since power-up or last time the core is reset. More...
 
void XCcm_SetActiveSize (XCcm *InstancePtr, u16 HSize, u16 VSize)
 This function sets the active H/V sizes in the Active Size register. More...
 
void XCcm_GetActiveSize (XCcm *InstancePtr, u16 *HSize, u16 *VSize)
 This function gets the number of Active Pixels per Scan line and number of Active Lines per Frame from the Active Frame Size register. More...
 
void XCcm_SetCoefMatrix (XCcm *InstancePtr, XCcm_Coefs *CoefValues)
 This function sets the coefficients of color correction matrix in K11 to K33 registers of the CCM core. More...
 
void XCcm_GetCoefMatrix (XCcm *InstancePtr, XCcm_Coefs *CoefValues)
 This function gets the coefficient values of color correction matrix from K11 to K33 registers of the CCM core. More...
 
void XCcm_SetRgbOffset (XCcm *InstancePtr, s32 ROffset, s32 GOffset, s32 BOffset)
 This function sets the offset compensation for red, blue and green colors in corresponding Roffset, Goffset and Boffset registers of the CCM core. More...
 
void XCcm_GetRgbOffset (XCcm *InstancePtr, s32 *ROffset, s32 *GOffset, s32 *BOffset)
 This function gets the offset compensation values of red, blue, green colors from Roffset, Goffset and Boffset registers. More...
 
void XCcm_SetClip (XCcm *InstancePtr, u32 Clip)
 This function sets the clip value in the Clip register of the CCM core. More...
 
u32 XCcm_GetClip (XCcm *InstancePtr)
 This function gets the clip value from Clip register of the CCM core. More...
 
void XCcm_SetClamp (XCcm *InstancePtr, u32 Clamp)
 This function sets the clamp value in the Clamp register. More...
 
u32 XCcm_GetClamp (XCcm *InstancePtr)
 This function returns the clamp value from the Clamp register. More...
 
int XCcm_SelfTest (XCcm *InstancePtr)
 This function reads Version register of CCM core and compares with zero as part of self test. More...
 
void XCcm_IntrHandler (void *InstancePtr)
 This function is the interrupt handler for the CCM core. More...
 
int XCcm_SetCallBack (XCcm *InstancePtr, u32 HandlerType, void *CallBackFunc, void *CallBackRef)
 This routine installs an asynchronous callback function for the given HandlerType. More...