![]() |
mmidp
Vitis Drivers API Documentation
|
MODIFICATION HISTORY:
Ver Who Date Changes
1.0 ck 03/14/25 Initial Release.
Data Structures | |
| struct | XMmiDp_MainStreamAttributes |
| This typedef contains the main stream attributes which determine how the video will be displayed. More... | |
| struct | XMmiDp_VideoConfig |
| typedef contains VideoConfig values More... | |
| struct | XMmiDp |
| The XMmiDp driver instance data. More... | |
Enumerations | |
| enum | XMmiDp_PhyLanes |
| This typedef describes PHY LANES. More... | |
| enum | XMmiDp_PhyRate |
| This typedef describes PHY RATE. More... | |
| enum | XMmiDp_PhyTrainingPattern |
| This typedef describes PHY TrainingPattern. More... | |
| enum | XMmiDp_PhyVSwing |
| This typedef describes PHY VSWING Level. More... | |
| enum | XMmiDp_PhyPreEmp |
| This typedef describes PHY PREEMP Level. More... | |
| enum | XMmiDp_PhyXmitEn |
| This typedef describes PHY XMIT ENABLE. More... | |
| enum | XMmiDp_PhyBusy |
| This typedef describes PHY BUSY. More... | |
| enum | XMmiDp_PhyPwrDown |
| This typedef describes PHY POWERDOWN CTRL. More... | |
| enum | XMmiDp_PhyWidth |
| This typedef describes PHY POWERDOWN CTRL. More... | |
| enum | XMmiDp_TrainingState |
| This typedef enumerates the list of training states used in the state machine during the link training process. More... | |
| enum | XMmiDp_PPC |
| This typedef describes Pixels per Clk. More... | |
| enum | XMmiDp_VidMap |
| This typedef gets Video Input mapping. More... | |
Functions | |
| void | XMmiDp_CfgInitialize (XMmiDp *InstancePtr, u32 BaseAddr) |
| This function intializes the configuration for the XMmiDp Instance. More... | |
| void | XMmiDp_Initialize (XMmiDp *InstancePtr) |
| This function Initializes the XMmiDp Instance structure. More... | |
| u32 | XMmiDp_AuxWrite (XMmiDp *InstancePtr, u32 DpcdAddr, u32 Bytes, void *Data) |
| This function issues a write request over the AUX channel that will write to the RX device's DisplayPort Configuration Data (DPCD) address space. More... | |
| u32 | XMmiDp_AuxRead (XMmiDp *InstancePtr, u32 DpcdAddr, u32 Bytes, void *Data) |
| This function issues a read request over the AUX channel that will read from the RX device's DisplayPort Configuration Data (DPCD) address space. More... | |
| u32 | XMmiDp_I2cWrite (XMmiDp *InstancePtr, u32 I2cAddr, u32 Bytes, void *Data) |
| This function performs an I2C write over the AUX channel. More... | |
| u32 | XMmiDp_I2cRead (XMmiDp *InstancePtr, u32 I2cAddr, u16 Offset, u32 Bytes, void *Data) |
| This function performs an I2C read over the AUX channel. More... | |
| void | XMmiDp_RegReadModifyWrite (XMmiDp *InstancePtr, u32 RegOffset, u32 Mask, u32 Shift, u32 Val) |
| This helper api reads value from register, computes the new value and writes to the register. More... | |
| void | XMmiDp_DpcdReadModifyWrite (XMmiDp *InstancePtr, u32 RegOffset, u32 Mask, u32 Shift, u32 Val) |
| This helper api reads value from DPCD, computes the new value and writes to the DPCD register. More... | |
| void | XMmiDp_SetPhyLaneCount (XMmiDp *InstancePtr, XMmiDp_PhyLanes) |
| This function sets the number of lanes to be used by the main link for both the DisplayPort TX core and the RX device. More... | |
| void | XMmiDp_SetPhyLinkRate (XMmiDp *InstancePtr, XMmiDp_PhyRate LinkRate) |
| This function sets the data rate to be used by the main link for both the DisplayPort TX core and the RX device. More... | |
| void | XMmiDp_SetPhyTrainingPattern (XMmiDp *InstancePtr, XMmiDp_PhyTrainingPattern TrainingPattern) |
| This function sets the training pattern to be used by the main link for both the DisplayPort TX core and the RX device. More... | |
| void | XMmiDp_SetPhyVoltageSwing (XMmiDp *InstancePtr, u8 *VsLevel) |
| This function sets the VoltageSwing levels in the DisplayPort TX core. More... | |
| void | XMmiDp_SetPhyPreEmphasis (XMmiDp *InstancePtr, u8 *PeLevel) |
| This function sets the VoltagePreEmphasis levels for the DisplayPort TX PHY. More... | |
| void | XMmiDp_SetPhyXmitEnable (XMmiDp *InstancePtr) |
| This function enables phy transfer for lanes. More... | |
| void | XMmiDp_SetPhyXmitDisable (XMmiDp *InstancePtr) |
| This function disables phy transfer for lanes. More... | |
| void | XMmiDp_PhyScrambleEnable (XMmiDp *InstancePtr) |
| This function enables phy scrambler over the main link through CCTL register. More... | |
| void | XMmiDp_PhyScrambleDisable (XMmiDp *InstancePtr) |
| This function disable phy scrambler. More... | |
| void | XMmiDp_PhySoftReset (XMmiDp *InstancePtr) |
| This function does a PHY Soft reset. More... | |
| void | XMmiDp_PhySSCEnable (XMmiDp *InstancePtr) |
| This function enables SSC on the PHY. More... | |
| void | XMmiDp_PhySSCDisable (XMmiDp *InstancePtr) |
| This function disables SSC on the PHY. More... | |
| u32 | XMmiDp_PhyWaitReady (XMmiDp *InstancePtr) |
| This function waits for the DisplayPort PHY to come out of reset. More... | |
| void | XMmiDp_SetPhyPowerdown (XMmiDp *InstancePtr, XMmiDp_PhyPwrDown Control) |
| This function sets the phy powerdown control val. More... | |
| void | XMmiDp_SetPhyWidth (XMmiDp *InstancePtr, XMmiDp_PhyWidth Width) |
| This function sets the phy width control val. More... | |
| void | XMmiDp_SetAux_250Us_Cnt_Limit (XMmiDp *InstancePtr, u16 Limit) |
| This function sets the AUX_250US_CNT_LIMIT. More... | |
| void | XMmiDp_SetAux_2000Us_Cnt_Limit (XMmiDp *InstancePtr, u16 Limit) |
| This function sets the AUX_2000US_CNT_LIMIT. More... | |
| void | XMmiDp_SetAux_100000Us_Cnt_Limit (XMmiDp *InstancePtr, u16 Limit) |
| This function sets the AUX_100000US_CNT_LIMIT. More... | |
| void | XMmiDp_SetPmConfig1 (XMmiDp *InstancePtr, u32 Val) |
| This function sets PM_COFIG1 register. More... | |
| void | XMmiDp_SetPmConfig2 (XMmiDp *InstancePtr, u32 Val) |
| This function sets PM_COFIG2 register. More... | |
| u32 | XMmiDp_IsConnected (XMmiDp *InstancePtr) |
| This function checks if there is a connected RX device. More... | |
| void | XMmiDp_SetHpdIrqHandler (XMmiDp *InstancePtr, XMmiDp_HpdIrqHandler CallbackFun, void *CallbackRef) |
| This function installs a callback function for when a hpd irq event interrupt occurs. More... | |
| void | XMmiDp_SetHpdHotPlugHandler (XMmiDp *InstancePtr, XMmiDp_HpdHotPlugHandler CallbackFun, void *CallbackRef) |
| This function installs a callback function for when a hpd hotplug interrupt occurs. More... | |
| void | XMmiDp_HpdInterruptHandler (XMmiDp *InstancePtr) |
| This function is the HPD Event interrupt handler for the XMmiDp driver. More... | |
| u32 | XMmiDp_GetEdidBlock (XMmiDp *InstancePtr, u8 *Data, u8 BlockNum) |
| This function retrieves connected RX devices Extended Display Identification given the block number. More... | |
| void | XMmiDp_GeneralInterruptEnable (XMmiDp *InstancePtr, u32 Mask) |
| This function enables XMMIDP_GENERAL_INTERRUPT_0 bits based on the mask. More... | |
| void | XMmiDp_HpdInterruptEnable (XMmiDp *InstancePtr, u32 Mask) |
| This function enables XMMIDP_HPD_INTERRUPT_ENABLE bits based on the mask. More... | |
| void | XMmiDp_SetDpcdLaneCount (XMmiDp *InstancePtr) |
| This function sets the number of lanes to be used by the main link for both the DisplayPort TX core and the RX device. More... | |
| void | XMmiDp_SetDpcdLinkRate (XMmiDp *InstancePtr) |
| This function sets the dpcd link bw to be used by the main link for both the DisplayPort TX core and the RX device. More... | |
| void | XMmiDp_SetDpcdLinkQualPattern (XMmiDp *InstancePtr, XMmiDp_PhyTrainingPattern Pattern) |
| This function sets the DPCD Link qual_0 training pattern to be used by the main link for both the DisplayPort TX core and the RX device. More... | |
| void | XMmiDp_SetDpcdTrainingPattern (XMmiDp *InstancePtr, XMmiDp_PhyTrainingPattern Pattern) |
| This function sets the DPCD training pattern to be used by the main link for both the DisplayPort TX core and the RX device. More... | |
| void | XMmiDp_SetDpcdVoltageSwing (XMmiDp *InstancePtr, XMmiDp_PhyVSwing *VsLevel) |
| This function sets the DPCD VoltageSwing levels int the DisplayPort TX core. More... | |
| void | XMmiDp_SetDpcdPreEmphasis (XMmiDp *InstancePtr, XMmiDp_PhyPreEmp *PeLevel) |
| This function sets the DPCD VoltagePreEmphasis levels for the DisplayPort TX PHY. More... | |
| u32 | XMmiDp_GetRxMaxLaneCount (XMmiDp *InstancePtr) |
| This function gets the max lane count supported from DPCD. More... | |
| u32 | XMmiDp_GetRxMaxLinkRate (XMmiDp *InstancePtr) |
| This function gets the max link rate supported from Rx DPCD register. More... | |
| u32 | XMmiDp_SetSinkDpcdLinkCfgField (XMmiDp *InstancePtr) |
| This function configures DPCD Rx Field. More... | |
| void | XMmiDp_GetDpcdTrainingAuxRdInterval (XMmiDp *InstancePtr) |
| This function reads Training Aux Read Interval register of sink DPCD. More... | |
| u32 | XMmiDp_GetDpcdLaneStatusAdjReqs (XMmiDp *InstancePtr) |
| This function will do a burst AUX read from the RX device over the AUX channel. More... | |
| void | XMmiDp_FastLinkTrainEnable (XMmiDp *InstancePtr) |
| This function enables fast link training in the core controller. More... | |
| void | XMmiDp_FastLinkTrainDisable (XMmiDp *InstancePtr) |
| This function disables fast link training in the core controller. More... | |
| u32 | XMmiDp_StartLinkXmit (XMmiDp *InstancePtr) |
| This function initates link training sequence with the Rx. More... | |
| void | XDpPSu14_EnableCctlEnhanceFraming (XMmiDp *InstancePtr) |
| This function configures CCTL enhance framing enable bit. More... | |
| void | XDpPSu14_DisableCctlEnhanceFraming (XMmiDp *InstancePtr) |
| This function configures CCTL enhance framing enable bit. More... | |
| u32 | XMmiDp_GetTrainingDelay (XMmiDp *InstancePtr) |
| This function returngs the training aux interval. More... | |
| u32 | XMmiDp_CheckClockRecovery (XMmiDp *InstancePtr, u8 LaneCount) |
| This function checks if the RX device's DisplayPort Configuration Data (DPCD) indicates that the clock recovery sequence during link training was successful - the RX device's link clock and data recovery unit has realized and maintained the frequency lock for all lanes currently in use. More... | |
| u32 | XMmiDp_AdjVswingPreemp (XMmiDp *InstancePtr) |
| This function reads the adjusted voltage swing and pre-emphasis level settings from the Rx DPCD register and modify the drive settings accordingly during link training. More... | |
| u32 | XMmiDp_SetTrainingPattern (XMmiDp *InstancePtr, XMmiDp_PhyTrainingPattern Pattern) |
| This function sets the training pattern to be used during link training for both the DisplayPort TX core and the RX device. More... | |
| void | XMmiDp_SetVswingPreemp (XMmiDp *InstancePtr, u8 *AuxData) |
| This function sets current voltage swing and pre-emphasis level settings from the LinkConfig structure to Phy and DPCD. More... | |
| u32 | XMmiDp_SetLinkRate (XMmiDp *InstancePtr, XMmiDp_PhyRate LinkRate) |
| This function sets the Rx Dpcd link rate as well as Phy link rate. More... | |
| void | XMmiDp_SetLaneCount (XMmiDp *InstancePtr, XMmiDp_PhyLanes LaneCount) |
| This function sets the Rx Dpcd lane count as well as Phy lane count. More... | |
| XMmiDp_TrainingState | XMmiDp_TrainingStateClockRecovery (XMmiDp *InstancePtr) |
| This function runs the clock recovery sequence as part of link training. More... | |
| XMmiDp_TrainingState | XMmiDp_TrainingStateAdjustLinkRate (XMmiDp *InstancePtr) |
| This function is reached if either the clock recovery or the channel equalization process failed during training. More... | |
| XMmiDp_TrainingState | XMmiDp_TrainingStateAdjustLaneCount (XMmiDp *InstancePtr) |
| This function is reached if either the clock recovery or the channel equalization process failed during training, and a minimal data rate of 1.62 Gbps was being used. More... | |
| void | XMmiDp_GetDpcdMaxDownspread (XMmiDp *InstancePtr) |
| This function reads Rx DPCD MaxDownspread register bits. More... | |
| void | XMmiDp_GetDpcdRev (XMmiDp *InstancePtr) |
| This function reads Rx DPCD revision number. More... | |
| u32 | XMmiDp_GetRxCapabilities (XMmiDp *InstancePtr) |
| This function reads Rx DPCD capability registers to initiate link training. More... | |
| u32 | XMmiDp_CheckChannelEqualization (XMmiDp *InstancePtr, u8 LaneCount) |
| This function checks if the RX device's DisplayPort Configuration Data (DPCD) indicates that the channel equalization sequence during link training was successful - the RX device has achieved channel equalization, symbol lock, and interlane alignment for all lanes currently in use. More... | |
| XMmiDp_TrainingState | XMmiDp_TrainingStateChannelEqualization (XMmiDp *InstancePtr) |
| This function runs the channel equalization sequence as part of link training. More... | |
| u32 | XMmiDp_CheckLinkStatus (XMmiDp *InstancePtr, u8 LaneCount) |
| This function checks if the Rx DisplayPort Configuration Data (DPCD) indicates the receiver has achieved and maintained clock recovery, channel equalization, symbol lock, and interlane alignment for all lanes currently in use. More... | |
| u32 | XMmiDp_RunTraining (XMmiDp *InstancePtr) |
| This function runs the link training process. More... | |
| void | XMmiDp_WaitUs (XMmiDp *InstancePtr, u32 MicroSeconds) |
| This function is the delay/sleep function for the XMmiDp driver. More... | |
| void | XMmiDp_DisableVideoStream (XMmiDp *InstancePtr, u8 Stream) |
| This function disables video stream. More... | |
| void | XMmiDp_EnableVideoStream (XMmiDp *InstancePtr, u8 Stream) |
| This function enabless video stream. More... | |
| void | XMmiDp_ClearMsaValues (XMmiDp *InstancePtr, u8 Stream) |
| This function clears MSA values. More... | |
| void | XMmiDp_ClearVideoConfigValues (XMmiDp *InstancePtr, u8 Stream) |
| This function clears out Video Config Register values. More... | |
| void | XMmiDp_SetVInputPolarityCtrl (XMmiDp *InstancePtr, u8 Stream) |
| This function sets the video input polarity control. More... | |
| void | XMmiDp_SetVideoConfig1 (XMmiDp *InstancePtr, u8 Stream) |
| This function sets the video config1 register. More... | |
| void | XMmiDp_SetVideoConfig2 (XMmiDp *InstancePtr, u8 Stream) |
| This function sets the video config2 register. More... | |
| void | XMmiDp_SetVideoConfig3 (XMmiDp *InstancePtr, u8 Stream) |
| This function sets the video config3 register. More... | |
| void | XMmiDp_SetVideoConfig4 (XMmiDp *InstancePtr, u8 Stream) |
| This function sets the video config4 register. More... | |
| void | XMmiDp_SetVideoConfig5 (XMmiDp *InstancePtr, u8 Stream) |
| This function sets the video config5 register. More... | |
| void | XMmiDp_SetVSampleCtrl (XMmiDp *InstancePtr, u8 Stream) |
| This function sets the vsample register. More... | |
| void | XMmiDp_SetVideoMsa1 (XMmiDp *InstancePtr, u8 Stream) |
| This function sets video msa1 register. More... | |
| void | XMmiDp_SetVideoMsa2 (XMmiDp *InstancePtr, u8 Stream) |
| This function sets video msa2 register. More... | |
| void | XMmiDp_SetVideoMsa3 (XMmiDp *InstancePtr, u8 Stream) |
| This function sets video msa3 register. More... | |
| void | XMmiDp_SetHBlankInterval (XMmiDp *InstancePtr, u8 Stream) |
| This function sets video HBlankInterval register. More... | |
| void | XMmiDp_ConfigureVideoController (XMmiDp *InstancePtr, u8 Stream) |
| This is helper api that programs the VideoController MSA, VideoConfig registers for a specific stream. More... | |
| void | XMmiDp_ClearVideoController (XMmiDp *InstancePtr) |
| This is helper api that clears the VideoController MSA, VideoConfig registers for a specific stream. More... | |
| void | XMmiDp_SetMsaBpc (XMmiDp *InstancePtr, u8 Stream, u8 BitsPerColor) |
| This function sets the bits per color value of the video stream. More... | |
| void | XMmiDp_SetPixModeSel (XMmiDp *InstancePtr, u8 Stream, XMmiDp_PPC PixModeSel) |
| This function sets the pixel mode of the video stream. More... | |
| void | XMmiDp_SetVideoMapping (XMmiDp *InstancePtr, u8 Stream, XMmiDp_VidMap VidMap) |
| This function sets the video format of the video stream. More... | |
| void | XMmiDp_SetVidStreamEnable (XMmiDp *InstancePtr, u8 Stream, u8 StreamEnable) |
| This function sets the video stream to enable or disable. More... | |
| enum XMmiDp_PhyBusy |
This typedef describes PHY BUSY.
| enum XMmiDp_PhyLanes |
This typedef describes PHY LANES.
| enum XMmiDp_PhyPreEmp |
This typedef describes PHY PREEMP Level.
| enum XMmiDp_PhyPwrDown |
This typedef describes PHY POWERDOWN CTRL.
| enum XMmiDp_PhyRate |
This typedef describes PHY RATE.
This typedef describes PHY TrainingPattern.
| enum XMmiDp_PhyVSwing |
This typedef describes PHY VSWING Level.
| enum XMmiDp_PhyWidth |
This typedef describes PHY POWERDOWN CTRL.
| enum XMmiDp_PhyXmitEn |
This typedef describes PHY XMIT ENABLE.
| enum XMmiDp_PPC |
This typedef describes Pixels per Clk.
| enum XMmiDp_TrainingState |
This typedef enumerates the list of training states used in the state machine during the link training process.
| enum XMmiDp_VidMap |
This typedef gets Video Input mapping.