![]() |
dsitxss
Vitis Drivers API Documentation
|
Data Structures | |
| struct | DsiTxSsSubCore |
| Sub-core configuration information structure. 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... | |
Typedefs | |
| typedef void(* | XDsiTxSs_Callback )(void *CallbackRef, u32 Mask) |
| Callback type for all interrupts defined. More... | |
Enumerations | |
| enum | XDsiSS_Selection { XDSITXSS_DISABLE = 0, XDSITXSS_ENABLE = 1 } |
| DSI TX Subsystem enable/disable selection enumeration. More... | |
| enum | XDsiSS_Subcore { XDSITXSS_DSI = 0, XDSITXSS_PHY = 1 } |
| DSI TX Subsystem sub-core selection enumeration. 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 (UINTPTR BaseAddress) |
| This function looks for the device configuration based on the unique device ID. More... | |
| u32 | XDsiTxSs_GetDrvIndex (XDsiTxSs *InstancePtr, UINTPTR BaseAddress) |
| This function returns the Index number of config table using BaseAddress. 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 | |
| XDsi | XDsiTxSs_SubCores::DsiInst |
| DSI controller driver instance. More... | |
| XDsiTxSs_SubCores | DsiTxSsSubCores [XPAR_XDSITXSS_NUM_INSTANCES] |
| Global array of DSI TX Subsystem sub-core instances. More... | |
| XDsiTxSs_Config | XDsiTxSs_ConfigTable [] |
| Configuration table containing hardware configuration information for each XDsiTxSs instance in the system. More... | |
Interrupt handler identifiers | |
Map DSITxSS handler IDs to the underlying DSI core handler IDs. | |
| #define | XDSITXSS_HANDLER_UNSUPPORT_DATATYPE XDSI_HANDLER_UNSUPPORT_DATATYPE |
| Unsupported data type handler ID. More... | |
| #define | XDSITXSS_HANDLER_PIXELDATA_UNDERRUN XDSI_HANDLER_PIXELDATA_UNDERRUN |
| Pixel data underrun handler ID. More... | |
| #define | XDSITXSS_HANDLER_CMDQ_FIFOFULL XDSI_HANDLER_CMDQ_FIFOFULL |
| Command queue FIFO full handler ID. More... | |
| #define | XDSITXSS_HANDLER_OTHERERROR XDSI_HANDLER_OTHERERROR |
| Other error handler ID. More... | |
Interrupt status masks | |
| #define | XDSITXSS_ISR_DATAIDERR_MASK XDSI_ISR_DATA_ID_ERR_MASK |
| Data ID error interrupt status mask. More... | |
| #define | XDSITXSS_ISR_PIXELUNDERRUN_MASK XDSI_ISR_PXL_UNDR_RUN_MASK |
| Pixel underrun interrupt status mask. More... | |
| #define | XDSITXSS_ISR_CMDQ_FIFO_FULL_MASK XDSI_ISR_CMDQ_FIFO_FULL_MASK |
| Command queue FIFO full interrupt status mask. More... | |
Interrupt enable masks | |
| #define | XDSITXSS_IER_DATAIDERR_MASK XDSI_IER_DATA_ID_ERR_MASK |
| Data ID error interrupt enable mask. More... | |
| #define | XDSITXSS_IER_PIXELUNDERRUN_MASK XDSI_IER_PXL_UNDR_RUN_MASK |
| Pixel underrun interrupt enable mask. More... | |
| #define | XDSITXSS_IER_CMDQ_FIFO_FULL_MASK XDSI_IER_CMDQ_FIFO_FULL_MASK |
| Command queue FIFO full interrupt enable mask. More... | |
| #define | XDSITXSS_IER_ALLINTR_MASK XDSI_IER_ALLINTR_MASK |
| Enable all supported interrupts mask. More... | |
| #define XDSITXSS_HANDLER_CMDQ_FIFOFULL XDSI_HANDLER_CMDQ_FIFOFULL |
Command queue FIFO full handler ID.
Referenced by DsiTxSs_IntrExample().
| #define XDSITXSS_HANDLER_OTHERERROR XDSI_HANDLER_OTHERERROR |
Other error handler ID.
| #define XDSITXSS_HANDLER_PIXELDATA_UNDERRUN XDSI_HANDLER_PIXELDATA_UNDERRUN |
Pixel data underrun handler ID.
Referenced by DsiTxSs_IntrExample().
| #define XDSITXSS_HANDLER_UNSUPPORT_DATATYPE XDSI_HANDLER_UNSUPPORT_DATATYPE |
Unsupported data type handler ID.
Referenced by DsiTxSs_IntrExample().
| #define XDSITXSS_HW_H_ |
Prevent circular inclusions by using protection macros.
| #define XDSITXSS_IER_ALLINTR_MASK XDSI_IER_ALLINTR_MASK |
Enable all supported interrupts mask.
Referenced by DsiTxSs_IntrExample().
| #define XDSITXSS_IER_CMDQ_FIFO_FULL_MASK XDSI_IER_CMDQ_FIFO_FULL_MASK |
Command queue FIFO full interrupt enable mask.
| #define XDSITXSS_IER_DATAIDERR_MASK XDSI_IER_DATA_ID_ERR_MASK |
Data ID error interrupt enable mask.
| #define XDSITXSS_IER_PIXELUNDERRUN_MASK XDSI_IER_PXL_UNDR_RUN_MASK |
Pixel underrun interrupt enable mask.
| #define XDSITXSS_ISR_CMDQ_FIFO_FULL_MASK XDSI_ISR_CMDQ_FIFO_FULL_MASK |
Command queue FIFO full interrupt status mask.
Referenced by DsiTxSs_CmdQFIFOFullEventHandler().
| #define XDSITXSS_ISR_DATAIDERR_MASK XDSI_ISR_DATA_ID_ERR_MASK |
Data ID error interrupt status mask.
Referenced by DsiTxSs_UnSupportDataEventHandler().
| #define XDSITXSS_ISR_PIXELUNDERRUN_MASK XDSI_ISR_PXL_UNDR_RUN_MASK |
Pixel underrun interrupt status mask.
Referenced by DsiTxSs_PixelUnderrunEventHandler().
| 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 |
| enum XDsiSS_Subcore |
| 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::Config, XDsiTxSs::DsiPtr, XDSITXSS_DSI, XDSITXSS_ENABLE, and XDSITXSS_PHY.
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_GetDrvIndex | ( | XDsiTxSs * | InstancePtr, |
| UINTPTR | BaseAddress | ||
| ) |
This function returns the Index number of config table using BaseAddress.
| InstancePtr | pointer to the instance structure |
| BaseAddress | address of the instance |
| 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.
| 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 | ( | UINTPTR | BaseAddress | ) |
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 occurred 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 function 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 DsiTxSs_IntrExample().
| 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.
| 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.
| XDsi XDsiTxSs_SubCores::DsiInst |
DSI controller driver instance.
| XDsiTxSs_SubCores DsiTxSsSubCores[XPAR_XDSITXSS_NUM_INSTANCES] |
Global array of DSI TX Subsystem sub-core instances.
Each array element contains the driver instances for all sub-cores (DSI, MIPI TX PHY, DPHY) associated with an instance of the DSI TX Subsystem.
| XDsiTxSs_Config XDsiTxSs_ConfigTable[] |
Configuration table containing hardware configuration information for each XDsiTxSs instance in the system.
This table is populated by the platform configuration tool and is referenced by XDsiTxSs_LookupConfig during device initialization.