dsitxss
Vitis Drivers API Documentation
|
Data Structures | |
struct | DsiTxSsSubCore |
Sub-Core Configuration Table. More... | |
struct | XDsiTxSs_Config |
MIPI DSI Tx Subsystem configuration structure. More... | |
struct | XDsiTxSs |
The XDsiTxSs driver instance data. More... | |
Macros | |
#define | XDSITXSS_HW_H_ |
Prevent circular inclusions by using protection macros. More... | |
#define | XDSITXSS_HANDLER_UNSUPPORT_DATATYPE XDSI_HANDLER_UNSUPPORT_DATATYPE |
MIPI DSI Tx Subsystem core DSI system interrupt handlers User will register specific interrupts handler and enable interrupts by below defining macros. More... | |
Typedefs | |
typedef void(* | XDsiTxSs_Callback )(void *CallbackRef, u32 Mask) |
Callback type for all interrupts defined. More... | |
Enumerations | |
enum | XDsiSS_Selection |
Subsystem Enable/Disable. More... | |
enum | XDsiSS_Subcore |
Sub-Core Enable/Disable. More... | |
Functions | |
s32 | XDsiTxSs_CfgInitialize (XDsiTxSs *InstancePtr, XDsiTxSs_Config *CfgPtr, UINTPTR EffectiveAddr) |
This function initializes the MIPI DSI TX subsystem and included sub-cores. More... | |
u32 | XDsiTxSs_DefaultConfigure (XDsiTxSs *InstancePtr) |
This function is used to configure the DSI default parameters that are to be handled by the application. More... | |
int | XDsiTxSs_Activate (XDsiTxSs *InstancePtr, XDsiSS_Subcore core, u8 Flag) |
This function is used to activate the DSI Subsystem. More... | |
void | XDsiTxSs_Reset (XDsiTxSs *InstancePtr) |
This function is used to reset the DSI Subsystem. More... | |
void | XDsiTxSs_ReportCoreInfo (XDsiTxSs *InstancePtr) |
This function reports list of cores included in DSI TX Subsystem. More... | |
int | XDsiTxSs_SetDSIMode (XDsiTxSs *InstancePtr, XDsi_DsiModeType mode) |
int | XDsiTxSs_SendCmdModePacket (XDsiTxSs *InstancePtr) |
void | XDsiTxSs_SendShortPacket (XDsiTxSs *InstancePtr) |
This function will send the short packet to controller Generic Short Packet Register and fill up the structure passed from caller. More... | |
void | XDsiTxSs_GetConfigParams (XDsiTxSs *InstancePtr) |
This function will get the information from the GUI settings. More... | |
u32 | XDsiTxSs_IsControllerReady (XDsiTxSs *InstancePtr) |
This function will get the information from the GUI settings. More... | |
u32 | XDsiTxSs_GetPixelFormat (XDsiTxSs *InstancePtr) |
This function is used to get pixel format. More... | |
u32 | XDsiTxSs_GetCmdQVacancy (XDsiTxSs *InstancePtr) |
This function is used to get Command queue Vacancy. More... | |
s32 | XDsiTxSs_SetVideoInterfaceTiming (XDsiTxSs *InstancePtr, XDsi_VideoMode VideoMode, XVidC_VideoMode Resolution, u16 BurstPacketSize) |
This function Set Timing mode and Resolution. More... | |
s32 | XDsiTxSs_SetCustomVideoInterfaceTiming (XDsiTxSs *InstancePtr, XDsi_VideoMode VideoMode, XDsi_VideoTiming *Timing) |
This function Set Timning mode and Resolution as per user inputs. More... | |
XDsiTxSs_Config * | XDsiTxSs_LookupConfig (u32 DeviceId) |
This function looks for the device configuration based on the unique device ID. More... | |
u32 | XDsiTxSs_SelfTest (XDsiTxSs *InstancePtr) |
This function performs self test on MIPI DSI Tx Subsystem sub-cores. More... | |
u32 | XDsiTxSs_SetCallback (XDsiTxSs *InstancePtr, u32 HandlerType, void *CallbackFunc, void *CallbackRef) |
This routine installs an asynchronous callback function for the given HandlerType: More... | |
void | XDsiTxSs_IntrHandler (void *InstancePtr) |
This function is the interrupt handler for the MIPI DSI Tx Subsystem. More... | |
void | XDsiTxSs_SetGlobalInterrupt (void *InstancePtr) |
This function will enable the interrupts present in the interrupt mask passed onto the function. More... | |
void | XDsiTxSs_InterruptEnable (void *InstancePtr, u32 Mask) |
This function will enable the interrupts present in the interrupt mask passed onto the function. More... | |
Variables | |
XDsiTxSs_SubCores | DsiTxSsSubCores [XPAR_XDSITXSS_NUM_INSTANCES] |
Define Driver instance of all sub-core included in the design. More... | |
#define XDSITXSS_HANDLER_UNSUPPORT_DATATYPE XDSI_HANDLER_UNSUPPORT_DATATYPE |
MIPI DSI Tx Subsystem core DSI system interrupt handlers User will register specific interrupts handler and enable interrupts by below defining macros.
Referenced by SetupInterruptSystem().
#define XDSITXSS_HW_H_ |
Prevent circular inclusions by using protection macros.
typedef void(* XDsiTxSs_Callback)(void *CallbackRef, u32 Mask) |
Callback type for all interrupts defined.
CallbackRef | is a callback reference passed in by the upper layer when setting the callback functions, and passed back to the upper layer when the callback is invoked. |
Mask | is a bit mask indicating the cause of the event. For current core version, this parameter is "OR" of 0 or more XDSITXSS_ISR_*_MASK constants defined in xdsitxss_hw.h. |
enum XDsiSS_Selection |
Subsystem Enable/Disable.
enum XDsiSS_Subcore |
Sub-Core Enable/Disable.
int XDsiTxSs_Activate | ( | XDsiTxSs * | InstancePtr, |
XDsiSS_Subcore | core, | ||
u8 | Flag | ||
) |
This function is used to activate the DSI Subsystem.
Internally it activates the DPHY and DSI. Enable/Disable IP core to start processing
InstancePtr | is a pointer to the Subsystem instance to be worked on. |
core | is used to denote the subcore of subsystem |
Flag | is used to denote whether to enable or disable the subsystem |
References XDsiTxSs::DsiPtr.
Referenced by DsiTxSs_VideoTestExample().
s32 XDsiTxSs_CfgInitialize | ( | XDsiTxSs * | InstancePtr, |
XDsiTxSs_Config * | CfgPtr, | ||
UINTPTR | EffectiveAddr | ||
) |
This function initializes the MIPI DSI TX subsystem and included sub-cores.
This function must be called prior to using the subsystem. Initialization includes setting up the instance data for top level as well as all included sub-core therein, and ensuring the hardware is in a known stable state
InstancePtr | is a pointer to the Subsystem instance to be worked on. |
CfgPtr | points to the configuration structure associated with the subsystem instance. |
EffectiveAddr | is the base address of the device. If address translation is being used, then this parameter must reflect the virtual base address. Otherwise, the physical address should be used. |
References XDsiTxSs_Config::BaseAddr, XDsiTxSs::Config, XDsiTxSs::DsiPtr, and XDsiTxSs::IsReady.
Referenced by DsiTxSs_IntrExample(), DsiTxSs_SelfTestExample(), and DsiTxSs_VideoTestExample().
u32 XDsiTxSs_DefaultConfigure | ( | XDsiTxSs * | InstancePtr | ) |
This function is used to configure the DSI default parameters that are to be handled by the application.
It will configure protocol register with video mode, bllp mode,eotp
InstancePtr | is a pointer to the Subsystem instance to be worked on. |
References XDsiTxSs::DsiPtr.
u32 XDsiTxSs_GetCmdQVacancy | ( | XDsiTxSs * | InstancePtr | ) |
This function is used to get Command queue Vacancy.
InstancePtr | is a pointer to the DSITxSs Instance to be worked on. |
References XDsiTxSs::DsiPtr.
void XDsiTxSs_GetConfigParams | ( | XDsiTxSs * | InstancePtr | ) |
This function will get the information from the GUI settings.
InstancePtr | is the XDsi instance to operate on |
References XDsiTxSs::ConfigInfo, and XDsiTxSs::DsiPtr.
u32 XDsiTxSs_GetPixelFormat | ( | XDsiTxSs * | InstancePtr | ) |
This function is used to get pixel format.
InstancePtr | is a pointer to the DsiTxSs Instance to be worked on. |
References XDsiTxSs::DsiPtr.
void XDsiTxSs_InterruptEnable | ( | void * | InstancePtr, |
u32 | Mask | ||
) |
This function will enable the interrupts present in the interrupt mask passed onto the function.
InstancePtr | is the XDsiTxSs instance to operate on |
Mask | is the interrupt mask which need to be enabled in core |
References XDsiTxSs::DsiPtr.
Referenced by DsiTxSs_IntrExample().
void XDsiTxSs_IntrHandler | ( | void * | InstancePtr | ) |
This function is the interrupt handler for the MIPI DSI Tx Subsystem.
The application is responsible for connecting this function to the interrupt system. Application beyond this driver is also responsible for providing callbacks to handle interrupts and installing the callbacks using XDsiTxSs_SetCallback() during initialization phase.
InstancePtr | is a pointer to the XDsiTxSs core instance that just interrupted. |
References XDsiTxSs::DsiPtr.
Referenced by SetupInterruptSystem().
u32 XDsiTxSs_IsControllerReady | ( | XDsiTxSs * | InstancePtr | ) |
This function will get the information from the GUI settings.
InstancePtr | is the XDsiTxss instance to operate on |
References XDsiTxSs::DsiPtr.
XDsiTxSs_Config * XDsiTxSs_LookupConfig | ( | u32 | DeviceId | ) |
This function looks for the device configuration based on the unique device ID.
The table XDsiTxSs_ConfigTable[] contains the configuration information for each instance of the device in the system.
DeviceId | is the unique device ID of the device being looked up |
Referenced by DsiTxSs_IntrExample(), DsiTxSs_SelfTestExample(), and DsiTxSs_VideoTestExample().
void XDsiTxSs_ReportCoreInfo | ( | XDsiTxSs * | InstancePtr | ) |
This function reports list of cores included in DSI TX Subsystem.
InstancePtr | is a pointer to the DSI TX Subsystem instance. |
References XDsiTxSs::Config, XDsiTxSs_Config::DphyInfo, XDsiTxSs::DsiPtr, and DsiTxSsSubCore::IsPresent.
void XDsiTxSs_Reset | ( | XDsiTxSs * | InstancePtr | ) |
This function is used to reset the DSI Subsystem.
Internally it resets the DPHY and DSI
InstancePtr | is a pointer to the Subsystem instance to be worked on. |
References XDsiTxSs::Config, XDsiTxSs::DsiPtr, and XDsiTxSs_Config::IsDphyRegIntfcPresent.
Referenced by DsiTxSs_VideoTestExample().
u32 XDsiTxSs_SelfTest | ( | XDsiTxSs * | InstancePtr | ) |
This function performs self test on MIPI DSI Tx Subsystem sub-cores.
InstancePtr | is a pointer to the XDsiTxSs core instance. |
References XDsiTxSs::Config, XDsiTxSs_Config::DphyInfo, XDsiTxSs::DsiPtr, and DsiTxSsSubCore::IsPresent.
Referenced by DsiTxSs_IntrExample(), DsiTxSs_SelfTestExample(), and DsiTxSs_VideoTestExample().
int XDsiTxSs_SendCmdModePacket | ( | XDsiTxSs * | InstancePtr | ) |
InstancePtr | is the XDsiTxSs instance to operate on |
References XDsiTxSs::CmdPkt, and XDsiTxSs::DsiPtr.
void XDsiTxSs_SendShortPacket | ( | XDsiTxSs * | InstancePtr | ) |
This function will send the short packet to controller Generic Short Packet Register and fill up the structure passed from caller.
like to turn on/off peripheral, change color mode
InstancePtr | is the XDsiTxSs instance to operate on |
References XDsiTxSs::DsiPtr, and XDsiTxSs::SpktData.
u32 XDsiTxSs_SetCallback | ( | XDsiTxSs * | InstancePtr, |
u32 | HandlerType, | ||
void * | CallbackFunc, | ||
void * | CallbackRef | ||
) |
This routine installs an asynchronous callback function for the given HandlerType:
HandlerType Invoked by this driver when: ----------------------- -------------------------------------------------- XDSI_HANDLER_UNSUPPORT_DATATYPE Un support data type detected XDSI_HANDLER_PIXELDATA_UNDERRUN Byte Stream FIFO starves for Pixel during HACT transmission XDSI_HANDLER_OTHERERROR Any other type of interrupt has occured like Stream Line Buffer Full, Incorrect Lanes, etc XDSI_HANDLER_CMDQ_FIFOFULL Command queue FIFO Full
InstancePtr | is the XDsi instance to operate on |
HandlerType | is the type of call back to be registered. |
CallbackFunc | is the pointer to a call back funtion which is called when a particular event occurs. |
CallbackRef | is a void pointer to data to be referenced to by the CallbackFunc |
References XDsiTxSs::DsiPtr, and XDsiTxSs::IsReady.
Referenced by SetupInterruptSystem().
s32 XDsiTxSs_SetCustomVideoInterfaceTiming | ( | XDsiTxSs * | InstancePtr, |
XDsi_VideoMode | VideoMode, | ||
XDsi_VideoTiming * | Timing | ||
) |
This function Set Timning mode and Resolution as per user inputs.
InstancePtr | is the XDsi instance to operate on |
VideoMode | Specifies mode of Interfacing |
Timing | Video Timing parameters |
References XDsiTxSs::DsiPtr.
Referenced by DsiTxSs_VideoTestExample().
int XDsiTxSs_SetDSIMode | ( | XDsiTxSs * | InstancePtr, |
XDsi_DsiModeType | mode | ||
) |
InstancePtr | is the XDsiTxSs instance to operate on |
mode | is the DSI mode (video or command) to operate on |
References XDsiTxSs::DsiPtr.
void XDsiTxSs_SetGlobalInterrupt | ( | void * | InstancePtr | ) |
This function will enable the interrupts present in the interrupt mask passed onto the function.
InstancePtr | is the XDsiTxSs instance to operate on |
References XDsiTxSs::DsiPtr.
Referenced by SetupInterruptSystem().
s32 XDsiTxSs_SetVideoInterfaceTiming | ( | XDsiTxSs * | InstancePtr, |
XDsi_VideoMode | VideoMode, | ||
XVidC_VideoMode | Resolution, | ||
u16 | BurstPacketSize | ||
) |
This function Set Timing mode and Resolution.
As per user resolution selection it will get populate Periperal Timing Parameters from video common Library
InstancePtr | is the XDsi instance to operate on |
VideoMode | Specifies mode of Interfacing |
Resolution | sets the resolution |
BurstPacketSize | sets the packet size |
References XDsiTxSs::DsiPtr.
XDsiTxSs_SubCores DsiTxSsSubCores[XPAR_XDSITXSS_NUM_INSTANCES] |
Define Driver instance of all sub-core included in the design.