![]() |
dfemix
Vitis Drivers API Documentation
|
Data Structures | |
| struct | XDfeMix_Version |
| Logicore version. More... | |
| struct | XDfeMix_Trigger |
| Trigger configuration. More... | |
| struct | XDfeMix_TriggerCfg |
| All IP triggers. More... | |
| struct | XDfeMix_CCSequence |
| Defines a CCID sequence. More... | |
| struct | XDfeMix_ModelParameters |
| Mixer model parameters structure. More... | |
| struct | XDfeMix_Cfg |
| Configuration. More... | |
| struct | XDfeMix_Init |
| Initialization, "one-time" configuration parameters. More... | |
| struct | XDfeMix_PhaseOffset |
| Phase Offset. More... | |
| struct | XDfeMix_Frequency |
| Defines frequency for single CC's NCO. More... | |
| struct | XDfeMix_Phase |
| Defined phase for single CC's NCO. More... | |
| struct | XDfeMix_NCO |
| Defines settings for single CC's NCO. More... | |
| struct | XDfeMix_InternalDUCDDCCfg |
| Defines settings for internal single CC's DUC/DDC. More... | |
| struct | XDfeMix_DUCDDCCfg |
| Defines settings for single CC's DUC/DDC. More... | |
| struct | XDfeMix_AuxiliaryCfg |
| Defines settings for single auxiliary NCO. More... | |
| struct | XDfeMix_CarrierCfg |
| Configuration for a single CC (implementation note: notice that there are two parts, one part (DUCDDCCfg) mapping to the CCCfg state, and another that is written directly to NCO registers (XDfeMix_NCO). More... | |
| struct | XDfeMix_AntennaCfg |
| Configuration to all antennas. More... | |
| struct | XDfeMix_CCCfg |
| Full CC configuration. More... | |
| struct | XDfeMix_DUCDDCStatus |
| DUC/DDC status. More... | |
| struct | XDfeMix_MixerStatus |
| Mixer status. More... | |
| struct | XDfeMix_Status |
| Event status and interrupt mask. More... | |
| struct | XDfeMix_Config |
| Mixer Config Structure. More... | |
| struct | XDfeMix |
| Mixer Structure. More... | |
Macros | |
| #define | XDFEMIX_DRIVER_VERSION_MINOR (7U) |
| Driver's minor version number. More... | |
| #define | XDFEMIX_DRIVER_VERSION_MAJOR (1U) |
| Driver's major version number. More... | |
| #define | XDFEMIX_MAX_NUM_INSTANCES (10U) |
| Maximum number of driver instances running at the same time. More... | |
| #define | XST_SUCCESS (0U) |
| Success flag. More... | |
| #define | XST_FAILURE (1U) |
| Failure flag. More... | |
| #define | XDFEMIX_NODE_NAME_MAX_LENGTH (50U) |
| Node name maximum length. More... | |
| #define | XDFEMIX_CC_NUM (16) |
| Maximum CC number. More... | |
| #define | XDFEMIX_ANT_NUM_MAX (8U) |
| Maximum anntena number. More... | |
| #define | XDFEMIX_SEQ_LENGTH_MAX (16U) |
| Maximum sequence length. More... | |
| #define | XDFEMIX_AUX_NCO_MAX (4) |
| Maximum Fabric NCO number. More... | |
| #define | XDFEMIX_NCO_MAX (20) |
| Maximum NCO number, 16 CC NCO + 4 aux NCO. More... | |
| #define | XDFEMIX_CC_GAIN_MAX (3U) |
| Maximum CC gain. More... | |
| #define | XDFEMIX_COMPATIBLE_STRING "xlnx,xdfe-cc-mixer-2.0" |
| Device name property. More... | |
| #define | XDFEMIX_PLATFORM_DEVICE_DIR "/sys/bus/platform/devices/" |
| Device location in a file system. More... | |
| #define | XDFEMIX_COMPATIBLE_PROPERTY "compatible" |
| Device tree property. More... | |
| #define | XDFEMIX_BUS_NAME "platform" |
| System bus name. More... | |
| #define | XDFEMIX_BASEADDR_PROPERTY "reg" |
| Base address property. More... | |
| #define | XDFEMIX_BASEADDR_SIZE 8U |
| Base address bit-size. More... | |
| #define | XDFEMIX_MODE_CFG "xlnx,mode" |
| Mode: 0 = DOWNLINK, 1 = UPLINK. More... | |
| #define | XDFEMIX_NUM_ANTENNA_CFG "xlnx,num-antenna" |
| Number of antenna property. More... | |
| #define | XDFEMIX_MAX_USABLE_CCIDS_CFG "xlnx,max-useable-ccids" |
| Maximum number of CC's per antenna. More... | |
| #define | XDFEMIX_LANES_CFG "xlnx,lanes" |
| Number of parallel data channels required. More... | |
| #define | XDFEMIX_ANTENNA_INTERLEAVE_CFG "xlnx,antenna-interleave" |
| Number of TDM antenna. More... | |
| #define | XDFEMIX_MIXER_CPS_CFG "xlnx,mixer-cps" |
| Mixer clock per sample property. More... | |
| #define | XDFEMIX_NUM_AUXILIARY "xlnx,num-auxiliary" |
| Number of auxiliary NCO. More... | |
| #define | XDFEMIX_DATA_IWIDTH_CFG "xlnx,data-iwidth" |
| Input stream data bit width. More... | |
| #define | XDFEMIX_DATA_OWIDTH_CFG "xlnx,data-owidth" |
| Output stream data bit width. More... | |
| #define | XDFEMIX_TUSER_WIDTH_CFG "xlnx,tuser-width" |
| Width of the tuser input. More... | |
Enumerations | |
| enum | XDfeMix_StateId { XDFEMIX_STATE_NOT_READY = 0, XDFEMIX_STATE_READY, XDFEMIX_STATE_RESET, XDFEMIX_STATE_CONFIGURED, XDFEMIX_STATE_INITIALISED, XDFEMIX_STATE_OPERATIONAL } |
Functions | |
| XDfeMix * | XDfeMix_InstanceInit (const char *DeviceNodeName) |
| API initialises one instance of a Mixer driver. More... | |
| void | XDfeMix_InstanceClose (XDfeMix *InstancePtr) |
| API closes the instance of a Mixer driver and moves the state machine to a Not Ready state. More... | |
| void | XDfeMix_Reset (XDfeMix *InstancePtr) |
| Resets Mixer and puts block into a reset state. More... | |
| void | XDfeMix_Configure (XDfeMix *InstancePtr, XDfeMix_Cfg *Cfg) |
| Reads configuration from device tree/xparameters.h and IP registers. More... | |
| void | XDfeMix_Initialize (XDfeMix *InstancePtr, XDfeMix_Init *Init) |
| DFE Mixer driver one time initialisation which sets registers to initialisation values, moves the state machine to Initialised state and in switchable mode sets Uplink registers to initialisation value. More... | |
| void | XDfeMix_Activate (XDfeMix *InstancePtr, bool EnableLowPower) |
| Enables triggers and moves the state machine to an Activated state. More... | |
| void | XDfeMix_Deactivate (XDfeMix *InstancePtr) |
| Deactivates triggers and moves the state machine to Initialised state. More... | |
| XDfeMix_StateId | XDfeMix_GetStateID (XDfeMix *InstancePtr) |
| Gets a state machine state id. More... | |
| void | XDfeMix_GetCurrentCCCfg (const XDfeMix *InstancePtr, XDfeMix_CCCfg *CurrCCCfg) |
| Returns the current CC and NCO configurations. More... | |
| void | XDfeMix_GetCurrentCCCfgSwitchable (const XDfeMix *InstancePtr, XDfeMix_CCCfg *CCCfgDownlink, XDfeMix_CCCfg *CCCfgUplink) |
| Returns the current CC and NCO configuration for Downlink and Uplink in switchable mode. More... | |
| void | XDfeMix_GetEmptyCCCfg (const XDfeMix *InstancePtr, XDfeMix_CCCfg *CCCfg) |
| Returns configuration structure CCCfg with CCCfg->Sequence.Length value set in XDfeMix_Configure(), array CCCfg->Sequence.CCID[] members are set to not used value (-1) and the other CCCfg members are set to 0. More... | |
| void | XDfeMix_GetCarrierCfgAndNCO (const XDfeMix *InstancePtr, XDfeMix_CCCfg *CCCfg, s32 CCID, u32 *CCSeqBitmap, XDfeMix_CarrierCfg *CarrierCfg, XDfeMix_NCO *NCO) |
| Returns the current CC sequence bitmap, CCID carrier configuration and NCO configuration. More... | |
| void | XDfeMix_SetAntennaCfgInCCCfg (const XDfeMix *InstancePtr, XDfeMix_CCCfg *CCCfg, XDfeMix_AntennaCfg *AntennaCfg) |
| Set antenna configuration in CC configuration container. More... | |
| u32 | XDfeMix_AddCCtoCCCfg (XDfeMix *InstancePtr, XDfeMix_CCCfg *CCCfg, s32 CCID, u32 CCSeqBitmap, const XDfeMix_CarrierCfg *CarrierCfg, const XDfeMix_NCO *NCO) |
| Adds specified CCID, with specified configuration, to a local CC configuration structure. More... | |
| void | XDfeMix_RemoveCCfromCCCfg (XDfeMix *InstancePtr, XDfeMix_CCCfg *CCCfg, s32 CCID) |
| Removes specified CCID from a local CC configuration structure and the slots in the sequence for that CCID are set to -1. More... | |
| void | XDfeMix_AddAuxNCOtoCCCfg (XDfeMix *InstancePtr, XDfeMix_CCCfg *CCCfg, const s32 AuxId, const XDfeMix_NCO *NCO, const XDfeMix_AuxiliaryCfg *AuxCfg) |
| Adds specified auxiliary NCO, with specified configuration, to a local CCCfg. More... | |
| void | XDfeMix_RemoveAuxNCOfromCCCfg (XDfeMix *InstancePtr, XDfeMix_CCCfg *CCCfg, const s32 AuxId) |
| Disables specified auxiliary NCO configuration structure. More... | |
| u32 | XDfeMix_UpdateCCinCCCfg (XDfeMix *InstancePtr, XDfeMix_CCCfg *CCCfg, s32 CCID, const XDfeMix_CarrierCfg *CarrierCfg) |
| Updates specified CCID, with specified configuration to a local CC configuration structure. More... | |
| u32 | XDfeMix_SetNextCCCfgAndTrigger (XDfeMix *InstancePtr, const XDfeMix_CCCfg *CCCfg) |
| Writes local CC configuration to the shadow (NEXT) registers and triggers copying from shadow to operational registers. More... | |
| u32 | XDfeMix_SetNextCCCfgAndTriggerSwitchable (XDfeMix *InstancePtr, XDfeMix_CCCfg *CCCfgDownlink, XDfeMix_CCCfg *CCCfgUplink) |
| Writes local CC configuration to the shadow (NEXT) registers and triggers copying from shadow to operational (CURRENT) registers for both Downlink and Upling in switchable mode. More... | |
| u32 | XDfeMix_AddCC (XDfeMix *InstancePtr, s32 CCID, u32 CCSeqBitmap, const XDfeMix_CarrierCfg *CarrierCfg, const XDfeMix_NCO *NCO) |
| Adds specified CCID, with specified configuration. More... | |
| u32 | XDfeMix_RemoveCC (XDfeMix *InstancePtr, s32 CCID) |
| Removes specified CCID. More... | |
| u32 | XDfeMix_MoveCC (XDfeMix *InstancePtr, s32 CCID, u32 Rate, u32 FromNCO, u32 ToNCO) |
| Moves specified CCID from one NCO to another aligning phase to make it transparent. More... | |
| u32 | XDfeMix_UpdateCC (XDfeMix *InstancePtr, s32 CCID, const XDfeMix_CarrierCfg *CarrierCfg) |
| Updates specified CCID, with a configuration defined in CarrierCfg structure. More... | |
| u32 | XDfeMix_SetAntennaGain (XDfeMix *InstancePtr, u32 AntennaId, u32 AntennaGain) |
| Sets antenna gain. More... | |
| u32 | XDfeMix_UpdateAntennaCfg (XDfeMix *InstancePtr, XDfeMix_AntennaCfg *AntennaCfg) |
| Updates antenna configuration of all antennas. More... | |
| void | XDfeMix_GetTriggersCfg (const XDfeMix *InstancePtr, XDfeMix_TriggerCfg *TriggerCfg) |
| Returns current trigger configuration. More... | |
| void | XDfeMix_SetTriggersCfg (const XDfeMix *InstancePtr, XDfeMix_TriggerCfg *TriggerCfg) |
| Sets trigger configuration. More... | |
| void | XDfeMix_GetDUCDDCStatus (const XDfeMix *InstancePtr, XDfeMix_DUCDDCStatus *DUCDDCStatus) |
| Gets DUC/DDC overflow status. More... | |
| void | XDfeMix_GetMixerStatus (const XDfeMix *InstancePtr, XDfeMix_MixerStatus *MixerStatus) |
| Gets Mixer overflow status. More... | |
| void | XDfeMix_SetTUserDelay (const XDfeMix *InstancePtr, u32 Delay) |
| Sets the delay, which will be added to TUSER and TLAST (delay matched through the IP). More... | |
| u32 | XDfeMix_GetTUserDelay (const XDfeMix *InstancePtr) |
| Reads the delay, which will be added to TUSER and TLAST (delay matched through the IP). More... | |
| u32 | XDfeMix_GetTDataDelay (const XDfeMix *InstancePtr, u32 Tap, u32 *TDataDelay) |
| Returns sum of data latency and number of taps. More... | |
| u32 | XDfeMix_GetCenterTap (const XDfeMix *InstancePtr, u32 Rate, u32 *CenterTap) |
| Returns predefined Central Tap value for chosen RATE. More... | |
| void | XDfeMix_SetRegBank (const XDfeMix *InstancePtr, u32 RegBank) |
| Enables uplink or downlink register bank. More... | |
| void | XDfeMix_GetVersions (const XDfeMix *InstancePtr, XDfeMix_Version *SwVersion, XDfeMix_Version *HwVersion) |
| This API gets the driver and HW design version. More... | |
| void | XDfeMix_GetInterruptMask (const XDfeMix *InstancePtr, XDfeMix_InterruptMask *Mask) |
| Gets interrupt mask status. More... | |
| void | XDfeMix_SetInterruptMask (const XDfeMix *InstancePtr, const XDfeMix_InterruptMask *Mask) |
| Sets interrupt mask. More... | |
| void | XDfeMix_GetEventStatus (const XDfeMix *InstancePtr, XDfeMix_Status *Status) |
| Gets event status. More... | |
| void | XDfeMix_ClearEventStatus (const XDfeMix *InstancePtr, const XDfeMix_Status *Status) |
| Clears event status. More... | |
| int | XDfeMix_MultiAddCCExample () |
| This example configures Mixer driver for one CC with multiAddCC APIs. More... | |
| int | XDfeMix_AddCCExample () |
| This function runs the DFE Mixer device using the driver APIs. More... | |
| #define XDFEMIX_ANT_NUM_MAX (8U) |
Maximum anntena number.
Referenced by XDfeMix_SetAntennaGain().
| #define XDFEMIX_ANTENNA_INTERLEAVE_CFG "xlnx,antenna-interleave" |
Number of TDM antenna.
| #define XDFEMIX_AUX_NCO_MAX (4) |
Maximum Fabric NCO number.
| #define XDFEMIX_BASEADDR_PROPERTY "reg" |
Base address property.
| #define XDFEMIX_BASEADDR_SIZE 8U |
Base address bit-size.
| #define XDFEMIX_BUS_NAME "platform" |
System bus name.
| #define XDFEMIX_CC_GAIN_MAX (3U) |
Maximum CC gain.
Referenced by XDfeMix_AddCC().
| #define XDFEMIX_CC_NUM (16) |
Maximum CC number.
Referenced by XDfeMix_GetEmptyCCCfg().
| #define XDFEMIX_COMPATIBLE_PROPERTY "compatible" |
Device tree property.
| #define XDFEMIX_COMPATIBLE_STRING "xlnx,xdfe-cc-mixer-2.0" |
Device name property.
| #define XDFEMIX_DATA_IWIDTH_CFG "xlnx,data-iwidth" |
Input stream data bit width.
| #define XDFEMIX_DATA_OWIDTH_CFG "xlnx,data-owidth" |
Output stream data bit width.
| #define XDFEMIX_DRIVER_VERSION_MAJOR (1U) |
Driver's major version number.
Referenced by XDfeMix_GetVersions().
| #define XDFEMIX_DRIVER_VERSION_MINOR (7U) |
Driver's minor version number.
Referenced by XDfeMix_GetVersions().
| #define XDFEMIX_LANES_CFG "xlnx,lanes" |
Number of parallel data channels required.
| #define XDFEMIX_MAX_NUM_INSTANCES (10U) |
Maximum number of driver instances running at the same time.
| #define XDFEMIX_MAX_USABLE_CCIDS_CFG "xlnx,max-useable-ccids" |
Maximum number of CC's per antenna.
| #define XDFEMIX_MIXER_CPS_CFG "xlnx,mixer-cps" |
Mixer clock per sample property.
| #define XDFEMIX_MODE_CFG "xlnx,mode" |
Mode: 0 = DOWNLINK, 1 = UPLINK.
| #define XDFEMIX_NCO_MAX (20) |
Maximum NCO number, 16 CC NCO + 4 aux NCO.
| #define XDFEMIX_NODE_NAME_MAX_LENGTH (50U) |
Node name maximum length.
Referenced by XDfeMix_InstanceInit().
| #define XDFEMIX_NUM_ANTENNA_CFG "xlnx,num-antenna" |
Number of antenna property.
| #define XDFEMIX_NUM_AUXILIARY "xlnx,num-auxiliary" |
Number of auxiliary NCO.
| #define XDFEMIX_PLATFORM_DEVICE_DIR "/sys/bus/platform/devices/" |
Device location in a file system.
| #define XDFEMIX_SEQ_LENGTH_MAX (16U) |
Maximum sequence length.
| #define XDFEMIX_TUSER_WIDTH_CFG "xlnx,tuser-width" |
Width of the tuser input.
| #define XST_FAILURE (1U) |
Failure flag.
Referenced by main(), XDfeMix_AddCC(), XDfeMix_AddCCExample(), XDfeMix_AddCCtoCCCfg(), XDfeMix_InstanceInit(), XDfeMix_MoveCC(), XDfeMix_MultiAddCCExample(), XDfeMix_RemoveCC(), XDfeMix_SelfTestExample(), XDfeMix_SetNextCCCfgAndTrigger(), XDfeMix_SetNextCCCfgAndTriggerSwitchable(), XDfeMix_UpdateCC(), XDfeMix_UpdateCCinCCCfg(), and XDfeSi570_SetMgtOscillator().
| #define XST_SUCCESS (0U) |
Success flag.
Referenced by main(), XDfeMix_AddCC(), XDfeMix_AddCCExample(), XDfeMix_AddCCtoCCCfg(), XDfeMix_GetCenterTap(), XDfeMix_GetTDataDelay(), XDfeMix_InstanceInit(), XDfeMix_MoveCC(), XDfeMix_MultiAddCCExample(), XDfeMix_RemoveCC(), XDfeMix_SelfTestExample(), XDfeMix_SetNextCCCfgAndTrigger(), XDfeMix_SetNextCCCfgAndTriggerSwitchable(), XDfeMix_UpdateCC(), XDfeMix_UpdateCCinCCCfg(), and XDfeSi570_SetMgtOscillator().
| enum XDfeMix_StateId |
| void XDfeMix_Activate | ( | XDfeMix * | InstancePtr, |
| bool | EnableLowPower | ||
| ) |
Enables triggers and moves the state machine to an Activated state.
| InstancePtr | Pointer to the Mixer instance. |
| EnableLowPower | Flag indicating low power. |
References XDfeMix::Config, XDfeMix_Config::Mode, XDfeMix::StateId, XDFEMIX_STATE_INITIALISED, and XDFEMIX_STATE_OPERATIONAL.
Referenced by XDfeMix_AddCCExample(), XDfeMix_MultiAddCCExample(), and XDfeMix_SelfTestExample().
| void XDfeMix_AddAuxNCOtoCCCfg | ( | XDfeMix * | InstancePtr, |
| XDfeMix_CCCfg * | CCCfg, | ||
| const s32 | AuxId, | ||
| const XDfeMix_NCO * | NCO, | ||
| const XDfeMix_AuxiliaryCfg * | AuxCfg | ||
| ) |
Adds specified auxiliary NCO, with specified configuration, to a local CCCfg.
| InstancePtr | Pointer to the Mixer instance. |
| CCCfg | CC and Auxiliry NCO configuration container. |
| AuxId | Auxiliary NCO ID to be disabled, range [0-3]. |
| NCO | NCO configuration container. |
| AuxCfg | Auxiliary NCO configuration container. |
References XDfeMix_CCCfg::AuxiliaryCfg, and XDfeMix_CCCfg::NCO.
| u32 XDfeMix_AddCC | ( | XDfeMix * | InstancePtr, |
| s32 | CCID, | ||
| u32 | CCSeqBitmap, | ||
| const XDfeMix_CarrierCfg * | CarrierCfg, | ||
| const XDfeMix_NCO * | NCO | ||
| ) |
Adds specified CCID, with specified configuration.
If there is insufficient capacity for the new CC the function will return an error. Initiates CC update (enable CCUpdate trigger TUSER Single Shot).
| InstancePtr | Pointer to the Mixer instance. |
| CCID | Channel ID, range [0-15]. |
| CCSeqBitmap | - up to 16 defined slots into which a CC can be allocated. The number of slots can be from 1 to 16 depending on system initialization. The number of slots is defined by the "sequence length" parameter which is provided during initialization. The Bit offset within the CCSeqBitmap indicates the equivalent Slot number to allocate. e.g. 0x0003 means the caller wants the passed component carrier (CC) to be allocated to slots 0 and 1. |
| CarrierCfg | CC configuration container. |
| NCO | NCO configuration container. |
References XDfeMix_DUCDDCCfg::CCGain, XDfeMix_CarrierCfg::DUCDDCCfg, XDfeMix_NCO::FrequencyCfg, XDfeMix_NCO::NCOGain, XDfeMix_DUCDDCCfg::NCOIdx, XDfeMix_CCSequence::NotUsedCCID, XDfeMix::NotUsedCCID, XDfeMix_NCO::PhaseCfg, XDfeMix_CCCfg::Sequence, XDfeMix::StateId, XDFEMIX_CC_GAIN_MAX, XDfeMix_GetCurrentCCCfg(), XDFEMIX_STATE_OPERATIONAL, XST_FAILURE, and XST_SUCCESS.
Referenced by XDfeMix_AddCCExample().
| int XDfeMix_AddCCExample | ( | ) |
This function runs the DFE Mixer device using the driver APIs.
This function does the following tasks:
References XDfeMix_TriggerCfg::Activate, XDfeMix_DUCDDCCfg::CCGain, XDfeMix_Status::CCSequenceError, XDfeMix_TriggerCfg::CCUpdate, XDfeMix_Status::CCUpdate, XDfeMix::Config, XDfeMix_CarrierCfg::DUCDDCCfg, XDfeMix_Status::DUCDDCOverflow, XDfeMix_NCO::FrequencyCfg, XDfeMix_Frequency::FrequencyControlWord, XDfeMix_CCSequence::Length, XDfeMix_Version::Major, XDfeMix_Config::MaxUseableCcids, XDfeMix_Version::Minor, XDfeMix_Status::MixerOverflow, XDfeMix_Trigger::Mode, XDfeMix_NCO::NCOGain, XDfeMix_DUCDDCCfg::NCOIdx, XDfeMix_Version::Patch, XDfeMix_Version::Revision, XDfeMix_Init::Sequence, XDfeMix_Frequency::TriggerUpdateFlag, XDfeMix_Trigger::TUSERBit, XDfeMix_Trigger::TuserEdgeLevel, XDfeMix_Init::TuserSelect, XDfeMix_Activate(), XDfeMix_AddCC(), XDfeMix_ClearEventStatus(), XDfeMix_Configure(), XDfeMix_Deactivate(), XDfeMix_GetVersions(), XDfeMix_Initialize(), XDfeMix_InstanceClose(), XDfeMix_InstanceInit(), XDfeMix_Reset(), XDfeMix_SetAntennaGain(), XDfeMix_SetTriggersCfg(), XST_FAILURE, and XST_SUCCESS.
Referenced by main().
| u32 XDfeMix_AddCCtoCCCfg | ( | XDfeMix * | InstancePtr, |
| XDfeMix_CCCfg * | CCCfg, | ||
| s32 | CCID, | ||
| u32 | CCSeqBitmap, | ||
| const XDfeMix_CarrierCfg * | CarrierCfg, | ||
| const XDfeMix_NCO * | NCO | ||
| ) |
Adds specified CCID, with specified configuration, to a local CC configuration structure.
If there is insufficient capacity for the new CC the function will return an error. Initiates CC update (enable CCUpdate trigger TUSER Single Shot).
The CCID sequence register value 0 can define the slot as either used or not used. That's why the register values are translated into CCCfg.Sequence The translation is:
The hardware is implemented in ARCH4 if MAX_USEABLE_CCIDS == 8 and LANES > 1 also, the hardware is implemented in ARCH5 if MAX_USEABLE_CCIDS == 16. When ARCH4 or ARCH5 is implemented NCO to channel allocation will be verified. Each sub-block (4 NCOs in width) can only be allocated a certain percentage of the chosen sequence length, 50% for ARCH4 or 25% for ARCH5.
| InstancePtr | Pointer to the Mixer instance. |
| CCCfg | Component carrier (CC) configuration container. |
| CCID | Channel ID to be added to configuration, range [0-15]. |
| CCSeqBitmap | CC slot position container. |
| CarrierCfg | CC configuration container. |
| NCO | NCO configuration container. |
References XDfeMix_CarrierCfg::DUCDDCCfg, XDfeMix_CCCfg::DUCDDCCfg, XDfeMix_CCCfg::NCO, XDfeMix_InternalDUCDDCCfg::NCOIdx, XDfeMix_DUCDDCCfg::NCOIdx, XDfeMix_CCCfg::Sequence, XST_FAILURE, and XST_SUCCESS.
Referenced by XDfeMix_MultiAddCCExample().
| void XDfeMix_ClearEventStatus | ( | const XDfeMix * | InstancePtr, |
| const XDfeMix_Status * | Status | ||
| ) |
Clears event status.
| InstancePtr | Pointer to the Mixer instance. |
| Status | Clear event status container.
|
References XDfeMix_Status::CCSequenceError, XDfeMix_Status::CCUpdate, XDfeMix_Status::CCUpdateError, XDfeMix_Status::DUCDDCOverflow, XDfeMix_Status::LowPower, XDfeMix_Status::LowPowerError, XDfeMix_Status::MixerOverflow, XDfeMix_Status::Switchable, and XDfeMix_Status::SwitchableError.
Referenced by XDfeMix_AddCCExample(), and XDfeMix_MultiAddCCExample().
| void XDfeMix_Configure | ( | XDfeMix * | InstancePtr, |
| XDfeMix_Cfg * | Cfg | ||
| ) |
Reads configuration from device tree/xparameters.h and IP registers.
Removes S/W reset and moves the state machine to a Configured state.
| InstancePtr | Pointer to the Mixer instance. |
| Cfg | Configuration data container. |
References XDfeMix_ModelParameters::AntennaInterleave, XDfeMix_Config::AntennaInterleave, XDfeMix::Config, XDfeMix_ModelParameters::DataIWidth, XDfeMix_Config::DataIWidth, XDfeMix_ModelParameters::DataOWidth, XDfeMix_Config::DataOWidth, XDfeMix_ModelParameters::Lanes, XDfeMix_Config::Lanes, XDfeMix_Version::Major, XDfeMix_ModelParameters::MaxUseableCcids, XDfeMix_Config::MaxUseableCcids, XDfeMix_Version::Minor, XDfeMix_ModelParameters::MixerCps, XDfeMix_Config::MixerCps, XDfeMix_ModelParameters::Mode, XDfeMix_Config::Mode, XDfeMix_Cfg::ModelParams, XDfeMix_ModelParameters::NumAntenna, XDfeMix_Config::NumAntenna, XDfeMix_ModelParameters::NumAuxiliary, XDfeMix_Config::NumAuxiliary, XDfeMix_Version::Patch, XDfeMix_Version::Revision, XDfeMix::StateId, XDfeMix_ModelParameters::TUserWidth, XDfeMix_Config::TUserWidth, XDfeMix_Cfg::Version, XDFEMIX_STATE_CONFIGURED, and XDFEMIX_STATE_RESET.
Referenced by XDfeMix_AddCCExample(), XDfeMix_MultiAddCCExample(), and XDfeMix_SelfTestExample().
| void XDfeMix_Deactivate | ( | XDfeMix * | InstancePtr | ) |
Deactivates triggers and moves the state machine to Initialised state.
| InstancePtr | Pointer to the Mixer instance. |
References XDfeMix::Config, XDfeMix_Config::Mode, XDfeMix::StateId, XDFEMIX_STATE_INITIALISED, and XDFEMIX_STATE_OPERATIONAL.
Referenced by XDfeMix_AddCCExample(), XDfeMix_MultiAddCCExample(), and XDfeMix_SelfTestExample().
| void XDfeMix_GetCarrierCfgAndNCO | ( | const XDfeMix * | InstancePtr, |
| XDfeMix_CCCfg * | CCCfg, | ||
| s32 | CCID, | ||
| u32 * | CCSeqBitmap, | ||
| XDfeMix_CarrierCfg * | CarrierCfg, | ||
| XDfeMix_NCO * | NCO | ||
| ) |
Returns the current CC sequence bitmap, CCID carrier configuration and NCO configuration.
| InstancePtr | Pointer to the Mixer instance. |
| CCCfg | Component carrier (CC) configuration container. |
| CCID | Channel ID for which configuration parameters are returned, range [0-15]. |
| CCSeqBitmap | CC slot position container. |
| CarrierCfg | CC configuration container. |
| NCO | NCO configuration container. |
References XDfeMix_InternalDUCDDCCfg::CCGain, XDfeMix_DUCDDCCfg::CCGain, XDfeMix_CCSequence::CCID, XDfeMix_CarrierCfg::DUCDDCCfg, XDfeMix_CCCfg::DUCDDCCfg, XDfeMix_CCSequence::Length, XDfeMix_CCCfg::NCO, XDfeMix_InternalDUCDDCCfg::NCOIdx, XDfeMix_DUCDDCCfg::NCOIdx, and XDfeMix_CCCfg::Sequence.
| u32 XDfeMix_GetCenterTap | ( | const XDfeMix * | InstancePtr, |
| u32 | Rate, | ||
| u32 * | CenterTap | ||
| ) |
Returns predefined Central Tap value for chosen RATE.
This will determine group delay.
| InstancePtr | Pointer to the Mixer instance. |
| Rate | Interpolation/decimation rate index value [1-5]. |
| CenterTap | Returned Central Tap value. |
References XST_SUCCESS.
| void XDfeMix_GetCurrentCCCfg | ( | const XDfeMix * | InstancePtr, |
| XDfeMix_CCCfg * | CurrCCCfg | ||
| ) |
Returns the current CC and NCO configurations.
Not used slot ID in a sequence (Sequence.CCID[Index]) are represented as (-1), not the value in registers.
| InstancePtr | Pointer to the Mixer instance. |
| CurrCCCfg | CC configuration container. |
References XDfeMix_CCSequence::NotUsedCCID, XDfeMix::NotUsedCCID, and XDfeMix_CCCfg::Sequence.
Referenced by XDfeMix_AddCC(), XDfeMix_MoveCC(), XDfeMix_MultiAddCCExample(), XDfeMix_RemoveCC(), XDfeMix_SetAntennaGain(), XDfeMix_UpdateAntennaCfg(), and XDfeMix_UpdateCC().
| void XDfeMix_GetCurrentCCCfgSwitchable | ( | const XDfeMix * | InstancePtr, |
| XDfeMix_CCCfg * | CCCfgDownlink, | ||
| XDfeMix_CCCfg * | CCCfgUplink | ||
| ) |
Returns the current CC and NCO configuration for Downlink and Uplink in switchable mode.
Not used slot ID in a sequence (Sequence.CCID[Index]) are represented as (-1), not the value in registers.
| InstancePtr | Pointer to the Mixer instance. |
| CCCfgDownlink | Downlink CC configuration container. |
| CCCfgUplink | Uplink CC configuration container. |
References XDfeMix::Config, XDfeMix_Config::Mode, XDfeMix_CCSequence::NotUsedCCID, XDfeMix::NotUsedCCID, XDfeMix::NotUsedCCID_UL, XDfeMix_CCCfg::Sequence, and XDfeMix_SetRegBank().
Referenced by XDfeMix_SetAntennaGain(), and XDfeMix_UpdateAntennaCfg().
| void XDfeMix_GetDUCDDCStatus | ( | const XDfeMix * | InstancePtr, |
| XDfeMix_DUCDDCStatus * | DUCDDCStatus | ||
| ) |
Gets DUC/DDC overflow status.
| InstancePtr | Pointer to the Mixer instance. |
| DUCDDCStatus | DUC/DDC status container. |
References XDfeMix_DUCDDCStatus::Antenna, XDfeMix_DUCDDCStatus::NcoId, XDfeMix_DUCDDCStatus::Stage, XDfeMix::StateId, and XDFEMIX_STATE_OPERATIONAL.
| void XDfeMix_GetEmptyCCCfg | ( | const XDfeMix * | InstancePtr, |
| XDfeMix_CCCfg * | CCCfg | ||
| ) |
Returns configuration structure CCCfg with CCCfg->Sequence.Length value set in XDfeMix_Configure(), array CCCfg->Sequence.CCID[] members are set to not used value (-1) and the other CCCfg members are set to 0.
| InstancePtr | Pointer to the Mixer instance. |
| CCCfg | CC configuration container. |
References XDfeMix_CCSequence::CCID, XDfeMix_CCSequence::Length, XDfeMix_CCCfg::Sequence, XDfeMix::SequenceLength, and XDFEMIX_CC_NUM.
| void XDfeMix_GetEventStatus | ( | const XDfeMix * | InstancePtr, |
| XDfeMix_Status * | Status | ||
| ) |
Gets event status.
| InstancePtr | Pointer to the Mixer instance. |
| Status | Event status container. |
References XDfeMix_Status::CCSequenceError, XDfeMix_Status::CCUpdate, XDfeMix_Status::CCUpdateError, XDfeMix_Status::DUCDDCOverflow, XDfeMix_Status::LowPower, XDfeMix_Status::LowPowerError, XDfeMix_Status::MixerOverflow, XDfeMix_Status::Switchable, and XDfeMix_Status::SwitchableError.
| void XDfeMix_GetInterruptMask | ( | const XDfeMix * | InstancePtr, |
| XDfeMix_InterruptMask * | Mask | ||
| ) |
Gets interrupt mask status.
| InstancePtr | Pointer to the Mixer instance. |
| Mask | Interrupt masks container. |
References XDfeMix_Status::CCSequenceError, XDfeMix_Status::CCUpdate, XDfeMix_Status::CCUpdateError, XDfeMix_Status::DUCDDCOverflow, XDfeMix_Status::LowPower, XDfeMix_Status::LowPowerError, XDfeMix_Status::MixerOverflow, XDfeMix_Status::Switchable, and XDfeMix_Status::SwitchableError.
| void XDfeMix_GetMixerStatus | ( | const XDfeMix * | InstancePtr, |
| XDfeMix_MixerStatus * | MixerStatus | ||
| ) |
Gets Mixer overflow status.
| InstancePtr | Pointer to the Mixer instance. |
| MixerStatus | Mixer status container. |
References XDfeMix_MixerStatus::Antenna, XDfeMix_MixerStatus::NcoId, XDfeMix_MixerStatus::Stage, XDfeMix::StateId, and XDFEMIX_STATE_OPERATIONAL.
| XDfeMix_StateId XDfeMix_GetStateID | ( | XDfeMix * | InstancePtr | ) |
Gets a state machine state id.
| InstancePtr | Pointer to the Mixer instance. |
References XDfeMix::StateId.
| u32 XDfeMix_GetTDataDelay | ( | const XDfeMix * | InstancePtr, |
| u32 | Tap, | ||
| u32 * | TDataDelay | ||
| ) |
Returns sum of data latency and number of taps.
| InstancePtr | Pointer to the Mixer instance. |
| Tap | Tap value. |
| TDataDelay | Returned Data latency value. |
References XST_SUCCESS.
| void XDfeMix_GetTriggersCfg | ( | const XDfeMix * | InstancePtr, |
| XDfeMix_TriggerCfg * | TriggerCfg | ||
| ) |
Returns current trigger configuration.
In switchable mode ignors LOW_POWER triggers as they are not used, instead reads SWITCH trigger configurations.
| InstancePtr | Pointer to the Mixer instance. |
| TriggerCfg | Trigger configuration container. |
References XDfeMix_TriggerCfg::Activate, XDfeMix_TriggerCfg::CCUpdate, XDfeMix::Config, XDfeMix_TriggerCfg::LowPower, XDfeMix_Trigger::Mode, XDfeMix_Config::Mode, XDfeMix::StateId, XDfeMix_Trigger::StateOutput, XDfeMix_TriggerCfg::Switch, XDfeMix_Trigger::TriggerEnable, XDfeMix_Trigger::TUSERBit, XDfeMix_Trigger::TuserEdgeLevel, and XDFEMIX_STATE_NOT_READY.
| u32 XDfeMix_GetTUserDelay | ( | const XDfeMix * | InstancePtr | ) |
Reads the delay, which will be added to TUSER and TLAST (delay matched through the IP).
| InstancePtr | Pointer to the Mixer instance. |
| void XDfeMix_GetVersions | ( | const XDfeMix * | InstancePtr, |
| XDfeMix_Version * | SwVersion, | ||
| XDfeMix_Version * | HwVersion | ||
| ) |
This API gets the driver and HW design version.
| SwVersion | Driver version number. |
| HwVersion | HW version number. |
References XDfeMix_Version::Major, XDfeMix_Version::Minor, XDfeMix_Version::Patch, XDfeMix_Version::Revision, XDfeMix::StateId, XDFEMIX_DRIVER_VERSION_MAJOR, XDFEMIX_DRIVER_VERSION_MINOR, and XDFEMIX_STATE_NOT_READY.
Referenced by XDfeMix_AddCCExample(), XDfeMix_MultiAddCCExample(), and XDfeMix_SelfTestExample().
| void XDfeMix_Initialize | ( | XDfeMix * | InstancePtr, |
| XDfeMix_Init * | Init | ||
| ) |
DFE Mixer driver one time initialisation which sets registers to initialisation values, moves the state machine to Initialised state and in switchable mode sets Uplink registers to initialisation value.
| InstancePtr | Pointer to the Mixer instance. |
| Init | Initialisation data container. |
References XDfeMix::Config, XDfeMix_CCSequence::Length, XDfeMix_Config::Mode, XDfeMix::NotUsedCCID, XDfeMix::NotUsedCCID_UL, XDfeMix_Init::Sequence, XDfeMix::SequenceLength, XDfeMix::StateId, XDfeMix_Init::TuserSelect, XDfeMix_SetRegBank(), XDFEMIX_STATE_CONFIGURED, and XDFEMIX_STATE_INITIALISED.
Referenced by XDfeMix_AddCCExample(), XDfeMix_MultiAddCCExample(), and XDfeMix_SelfTestExample().
| void XDfeMix_InstanceClose | ( | XDfeMix * | InstancePtr | ) |
API closes the instance of a Mixer driver and moves the state machine to a Not Ready state.
| InstancePtr | Pointer to the Mixer instance. |
References XDfeMix::Device, XDfeMix::NodeName, XDfeMix::StateId, and XDFEMIX_STATE_NOT_READY.
Referenced by XDfeMix_AddCCExample(), XDfeMix_MultiAddCCExample(), and XDfeMix_SelfTestExample().
| XDfeMix * XDfeMix_InstanceInit | ( | const char * | DeviceNodeName | ) |
API initialises one instance of a Mixer driver.
Traverses "/sys/bus/platform/device" directory (in Linux), to find registered XDfeMix device with the name DeviceNodeName. The first available slot in the instances array XDfeMix_Mixer[] will be taken as a DeviceNodeName object. On success it moves the state machine to a Ready state, while on failure stays in a Not Ready state.
| DeviceNodeName | Device node name. |
References XDfeMix::Device, XDfeMix::NodeName, XDfeMix::StateId, XDFEMIX_NODE_NAME_MAX_LENGTH, XDFEMIX_STATE_NOT_READY, XDFEMIX_STATE_READY, XST_FAILURE, and XST_SUCCESS.
Referenced by XDfeMix_AddCCExample(), XDfeMix_MultiAddCCExample(), and XDfeMix_SelfTestExample().
| u32 XDfeMix_MoveCC | ( | XDfeMix * | InstancePtr, |
| s32 | CCID, | ||
| u32 | Rate, | ||
| u32 | FromNCO, | ||
| u32 | ToNCO | ||
| ) |
Moves specified CCID from one NCO to another aligning phase to make it transparent.
Initiates CC update (enable CCUpdate trigger TUSER Single Shot).
| InstancePtr | Pointer to the Mixer instance. |
| CCID | Channel ID, range [0-15]. |
| Rate | NCO rate value [1,2,4]. |
| FromNCO | NCO value moving from, range [0-7]. |
| ToNCO | NCO value moving to, range [0-7]. |
References XDfeMix::Config, XDfeMix_Config::MaxUseableCcids, XDfeMix_CCSequence::NotUsedCCID, XDfeMix::NotUsedCCID, XDfeMix_CCCfg::Sequence, XDfeMix::StateId, XDfeMix_GetCurrentCCCfg(), XDFEMIX_STATE_OPERATIONAL, XST_FAILURE, and XST_SUCCESS.
| int XDfeMix_MultiAddCCExample | ( | ) |
This example configures Mixer driver for one CC with multiAddCC APIs.
This function does the following tasks:
References XDfeMix_TriggerCfg::Activate, XDfeMix_DUCDDCCfg::CCGain, XDfeMix_Status::CCSequenceError, XDfeMix_TriggerCfg::CCUpdate, XDfeMix_Status::CCUpdate, XDfeMix::Config, XDfeMix_CarrierCfg::DUCDDCCfg, XDfeMix_Status::DUCDDCOverflow, XDfeMix_NCO::FrequencyCfg, XDfeMix_Frequency::FrequencyControlWord, XDfeMix_CCSequence::Length, XDfeMix_Version::Major, XDfeMix_Config::MaxUseableCcids, XDfeMix_Version::Minor, XDfeMix_Status::MixerOverflow, XDfeMix_Trigger::Mode, XDfeMix_NCO::NCOGain, XDfeMix_DUCDDCCfg::NCOIdx, XDfeMix_Version::Patch, XDfeMix_Version::Revision, XDfeMix_Init::Sequence, XDfeMix_Frequency::TriggerUpdateFlag, XDfeMix_Trigger::TUSERBit, XDfeMix_Trigger::TuserEdgeLevel, XDfeMix_Init::TuserSelect, XDfeMix_Activate(), XDfeMix_AddCCtoCCCfg(), XDfeMix_ClearEventStatus(), XDfeMix_Configure(), XDfeMix_Deactivate(), XDfeMix_GetCurrentCCCfg(), XDfeMix_GetVersions(), XDfeMix_Initialize(), XDfeMix_InstanceClose(), XDfeMix_InstanceInit(), XDfeMix_Reset(), XDfeMix_SetAntennaGain(), XDfeMix_SetNextCCCfgAndTrigger(), XDfeMix_SetTriggersCfg(), XST_FAILURE, and XST_SUCCESS.
Referenced by main().
| void XDfeMix_RemoveAuxNCOfromCCCfg | ( | XDfeMix * | InstancePtr, |
| XDfeMix_CCCfg * | CCCfg, | ||
| const s32 | AuxId | ||
| ) |
Disables specified auxiliary NCO configuration structure.
| InstancePtr | Pointer to the Mixer instance. |
| CCCfg | Component carrier (CC) configuration container. |
| AuxId | Auxiliary NCO ID to be disabled, range [0-3]. |
References XDfeMix_CCCfg::AuxiliaryCfg, and XDfeMix_AuxiliaryCfg::Enable.
| u32 XDfeMix_RemoveCC | ( | XDfeMix * | InstancePtr, |
| s32 | CCID | ||
| ) |
Removes specified CCID.
Initiates CC update (enable CCUpdate trigger TUSER Single Shot).
| InstancePtr | Pointer to the Mixer instance. |
| CCID | Channel ID, range [0-15]. |
References XDfeMix_CCCfg::DUCDDCCfg, XDfeMix_CCSequence::NotUsedCCID, XDfeMix::NotUsedCCID, XDfeMix_InternalDUCDDCCfg::Rate, XDfeMix_CCCfg::Sequence, XDfeMix::StateId, XDfeMix_GetCurrentCCCfg(), XDFEMIX_STATE_OPERATIONAL, XST_FAILURE, and XST_SUCCESS.
| void XDfeMix_RemoveCCfromCCCfg | ( | XDfeMix * | InstancePtr, |
| XDfeMix_CCCfg * | CCCfg, | ||
| s32 | CCID | ||
| ) |
Removes specified CCID from a local CC configuration structure and the slots in the sequence for that CCID are set to -1.
| InstancePtr | Pointer to the Mixer instance. |
| CCCfg | Component carrier (CC) configuration container. |
| CCID | Channel ID to be removed, range [0-15]. |
References XDfeMix_CCCfg::DUCDDCCfg, XDfeMix_InternalDUCDDCCfg::Rate, and XDfeMix_CCCfg::Sequence.
| void XDfeMix_Reset | ( | XDfeMix * | InstancePtr | ) |
Resets Mixer and puts block into a reset state.
| InstancePtr | Pointer to the Mixer instance. |
References XDfeMix::StateId, XDFEMIX_STATE_NOT_READY, and XDFEMIX_STATE_RESET.
Referenced by XDfeMix_AddCCExample(), XDfeMix_MultiAddCCExample(), and XDfeMix_SelfTestExample().
| void XDfeMix_SetAntennaCfgInCCCfg | ( | const XDfeMix * | InstancePtr, |
| XDfeMix_CCCfg * | CCCfg, | ||
| XDfeMix_AntennaCfg * | AntennaCfg | ||
| ) |
Set antenna configuration in CC configuration container.
| InstancePtr | Pointer to the Mixer instance. |
| CCCfg | CC configuration container. |
| AntennaCfg | Array of all antenna configurations. |
References XDfeMix_CCCfg::AntennaCfg.
| u32 XDfeMix_SetAntennaGain | ( | XDfeMix * | InstancePtr, |
| u32 | AntennaId, | ||
| u32 | AntennaGain | ||
| ) |
Sets antenna gain.
Initiates CC update (enable CCUpdate trigger TUSER Single Shot). Applies gain to downlink only in switchable mode.
| InstancePtr | Pointer to the Mixer instance. |
| AntennaId | Antenna ID, range [0-7]. |
| AntennaGain | Antenna gain, 0 for -6dB and 1 for 0dB. |
References XDfeMix_CCCfg::AntennaCfg, XDfeMix::Config, XDfeMix_AntennaCfg::Gain, XDfeMix_Config::Mode, XDFEMIX_ANT_NUM_MAX, XDfeMix_GetCurrentCCCfg(), XDfeMix_GetCurrentCCCfgSwitchable(), and XDfeMix_SetNextCCCfgAndTriggerSwitchable().
Referenced by XDfeMix_AddCCExample(), and XDfeMix_MultiAddCCExample().
| void XDfeMix_SetInterruptMask | ( | const XDfeMix * | InstancePtr, |
| const XDfeMix_InterruptMask * | Mask | ||
| ) |
Sets interrupt mask.
| InstancePtr | Pointer to the Mixer instance. |
| Mask | Interrupt mask flags container.
|
References XDfeMix_Status::CCSequenceError, XDfeMix_Status::CCUpdate, XDfeMix_Status::CCUpdateError, XDfeMix_Status::DUCDDCOverflow, XDfeMix_Status::LowPower, XDfeMix_Status::LowPowerError, XDfeMix_Status::MixerOverflow, XDfeMix_Status::Switchable, and XDfeMix_Status::SwitchableError.
| u32 XDfeMix_SetNextCCCfgAndTrigger | ( | XDfeMix * | InstancePtr, |
| const XDfeMix_CCCfg * | CCCfg | ||
| ) |
Writes local CC configuration to the shadow (NEXT) registers and triggers copying from shadow to operational registers.
| InstancePtr | Pointer to the Mixer instance. |
| CCCfg | CC configuration container. |
References XDfeMix_CCSequence::NotUsedCCID, XDfeMix::NotUsedCCID, XDfeMix_CCCfg::Sequence, XST_FAILURE, and XST_SUCCESS.
Referenced by XDfeMix_MultiAddCCExample().
| u32 XDfeMix_SetNextCCCfgAndTriggerSwitchable | ( | XDfeMix * | InstancePtr, |
| XDfeMix_CCCfg * | CCCfgDownlink, | ||
| XDfeMix_CCCfg * | CCCfgUplink | ||
| ) |
Writes local CC configuration to the shadow (NEXT) registers and triggers copying from shadow to operational (CURRENT) registers for both Downlink and Upling in switchable mode.
| InstancePtr | Pointer to the Ccf instance. |
| CCCfgDownlink | Downlink CC configuration container. |
| CCCfgUplink | Uplink CC configuration container. |
References XDfeMix::Config, XDfeMix_Config::Mode, XDfeMix_CCSequence::NotUsedCCID, XDfeMix::NotUsedCCID, XDfeMix::NotUsedCCID_UL, XDfeMix_CCCfg::Sequence, XDfeMix_SetRegBank(), XST_FAILURE, and XST_SUCCESS.
Referenced by XDfeMix_SetAntennaGain(), and XDfeMix_UpdateAntennaCfg().
| void XDfeMix_SetRegBank | ( | const XDfeMix * | InstancePtr, |
| u32 | RegBank | ||
| ) |
Enables uplink or downlink register bank.
| InstancePtr | Pointer to the Channel Filter instance. |
| RegBank | Register bank value to be set. |
Referenced by XDfeMix_GetCurrentCCCfgSwitchable(), XDfeMix_Initialize(), and XDfeMix_SetNextCCCfgAndTriggerSwitchable().
| void XDfeMix_SetTriggersCfg | ( | const XDfeMix * | InstancePtr, |
| XDfeMix_TriggerCfg * | TriggerCfg | ||
| ) |
Sets trigger configuration.
In switchable mode ignors LOW_POWER triggers as they are not used, instead sets SWITCH trigger configurations.
| InstancePtr | Pointer to the Mixer instance. |
| TriggerCfg | Trigger configuration container. |
References XDfeMix_TriggerCfg::Activate, XDfeMix_TriggerCfg::CCUpdate, XDfeMix::Config, XDfeMix_TriggerCfg::LowPower, XDfeMix_Trigger::Mode, XDfeMix_Config::Mode, XDfeMix::StateId, XDfeMix_Trigger::StateOutput, XDfeMix_TriggerCfg::Switch, XDfeMix_Trigger::TriggerEnable, XDfeMix_Trigger::TUSERBit, XDfeMix_Trigger::TuserEdgeLevel, and XDFEMIX_STATE_INITIALISED.
Referenced by XDfeMix_AddCCExample(), and XDfeMix_MultiAddCCExample().
| void XDfeMix_SetTUserDelay | ( | const XDfeMix * | InstancePtr, |
| u32 | Delay | ||
| ) |
Sets the delay, which will be added to TUSER and TLAST (delay matched through the IP).
| InstancePtr | Pointer to the Mixer instance. |
| Delay | Requested delay variable. |
References XDfeMix::StateId, and XDFEMIX_STATE_INITIALISED.
| u32 XDfeMix_UpdateAntennaCfg | ( | XDfeMix * | InstancePtr, |
| XDfeMix_AntennaCfg * | AntennaCfg | ||
| ) |
Updates antenna configuration of all antennas.
Applies gain to downlink only in switchable mode.
| InstancePtr | Pointer to the Mixer instance. |
| AntennaCfg | Array of all antenna configurations. |
References XDfeMix_CCCfg::AntennaCfg, XDfeMix::Config, XDfeMix_Config::Mode, XDfeMix_GetCurrentCCCfg(), XDfeMix_GetCurrentCCCfgSwitchable(), and XDfeMix_SetNextCCCfgAndTriggerSwitchable().
| u32 XDfeMix_UpdateCC | ( | XDfeMix * | InstancePtr, |
| s32 | CCID, | ||
| const XDfeMix_CarrierCfg * | CarrierCfg | ||
| ) |
Updates specified CCID, with a configuration defined in CarrierCfg structure.
If there is insufficient capacity for the new CC the function will return an error.
| InstancePtr | Pointer to the Mixer instance. |
| CCID | Channel ID, range [0-15]. |
| CarrierCfg | CC configuration container. |
References XDfeMix_InternalDUCDDCCfg::CCGain, XDfeMix_DUCDDCCfg::CCGain, XDfeMix_CarrierCfg::DUCDDCCfg, XDfeMix_CCCfg::DUCDDCCfg, XDfeMix_InternalDUCDDCCfg::NCOIdx, XDfeMix_DUCDDCCfg::NCOIdx, XDfeMix_CCSequence::NotUsedCCID, XDfeMix::NotUsedCCID, XDfeMix_CCCfg::Sequence, XDfeMix::StateId, XDfeMix_GetCurrentCCCfg(), XDFEMIX_STATE_OPERATIONAL, XST_FAILURE, and XST_SUCCESS.
| u32 XDfeMix_UpdateCCinCCCfg | ( | XDfeMix * | InstancePtr, |
| XDfeMix_CCCfg * | CCCfg, | ||
| s32 | CCID, | ||
| const XDfeMix_CarrierCfg * | CarrierCfg | ||
| ) |
Updates specified CCID, with specified configuration to a local CC configuration structure.
If there is insufficient capacity for the new CC the function will return an error.
| InstancePtr | Pointer to the Mixer instance. |
| CCCfg | Component carrier (CC) configuration container. |
| CCID | Channel ID to be updated, range [0-15]. |
| CarrierCfg | CC configuration container. |
References XDfeMix_CarrierCfg::DUCDDCCfg, XDfeMix_DUCDDCCfg::NCOIdx, XST_FAILURE, and XST_SUCCESS.