AM263x MCU+ SDK  08.02.00

Introduction

This module contains APIs to program and use the SDFM module.

Data Structures

struct  SDFM_CompEventFilterConfig
 

Functions

static void SDFM_enableExternalReset (uint32_t base, uint32_t filterNumber)
 
static void SDFM_disableExternalReset (uint32_t base, uint32_t filterNumber)
 
static void SDFM_enableFilter (uint32_t base, uint32_t filterNumber)
 
static void SDFM_disableFilter (uint32_t base, uint32_t filterNumber)
 
static void SDFM_enableFIFOBuffer (uint32_t base, uint32_t filterNumber)
 
static void SDFM_disableFIFOBuffer (uint32_t base, uint32_t filterNumber)
 
static bool SDFM_getZeroCrossTripStatus (uint32_t base, uint32_t filterNumber)
 
static void SDFM_clearZeroCrossTripStatus (uint32_t base, uint32_t filterNumber)
 
static void SDFM_enableComparator (uint32_t base, uint32_t filterNumber)
 
static void SDFM_disableComparator (uint32_t base, uint32_t filterNumber)
 
static void SDFM_selectCompEventSource (uint32_t base, uint32_t filterNumber, uint32_t compEventNum, uint32_t compEventSource)
 
static void SDFM_setFilterType (uint32_t base, uint32_t filterNumber, uint32_t filterType)
 
static void SDFM_setFilterOverSamplingRatio (uint32_t base, uint32_t filterNumber, uint16_t overSamplingRatio)
 
static void SDFM_setupModulatorClock (uint32_t base, uint32_t filterNumber, uint32_t clockMode)
 
static void SDFM_setOutputDataFormat (uint32_t base, uint32_t filterNumber, uint32_t dataFormat)
 
static void SDFM_setDataShiftValue (uint32_t base, uint32_t filterNumber, uint16_t shiftValue)
 
static void SDFM_setCompFilterHighThreshold (uint32_t base, uint32_t filterNumber, uint32_t highThreshold)
 
static void SDFM_setCompFilterLowThreshold (uint32_t base, uint32_t filterNumber, uint32_t lowThreshold)
 
static void SDFM_setCompFilterZeroCrossThreshold (uint32_t base, uint32_t filterNumber, uint16_t zeroCrossThreshold)
 
static void SDFM_enableZeroCrossEdgeDetect (uint32_t base, uint32_t filterNumber)
 
static void SDFM_disableZeroCrossEdgeDetect (uint32_t base, uint32_t filterNumber)
 
static void SDFM_enableInterrupt (uint32_t base, uint32_t filterNumber, uint16_t intFlags)
 
static void SDFM_disableInterrupt (uint32_t base, uint32_t filterNumber, uint16_t intFlags)
 
static void SDFM_setComparatorFilterType (uint32_t base, uint32_t filterNumber, uint32_t filterType)
 
static void SDFM_setCompFilterOverSamplingRatio (uint32_t base, uint32_t filterNumber, uint16_t overSamplingRatio)
 
static uint32_t SDFM_getFilterData (uint32_t base, uint32_t filterNumber)
 
static uint32_t SDFM_getThresholdStatus (uint32_t base, uint32_t filterNumber)
 
static bool SDFM_getModulatorStatus (uint32_t base, uint32_t filterNumber)
 
static bool SDFM_getNewFilterDataStatus (uint32_t base, uint32_t filterNumber)
 
static bool SDFM_getFIFOOverflowStatus (uint32_t base, uint32_t filterNumber)
 
static bool SDFM_getFIFOISRStatus (uint32_t base, uint32_t filterNumber)
 
static bool SDFM_getIsrStatus (uint32_t base)
 
static void SDFM_clearInterruptFlag (uint32_t base, uint32_t flag)
 
static void SDFM_enableMasterInterrupt (uint32_t base)
 
static void SDFM_disableMasterInterrupt (uint32_t base)
 
static void SDFM_enableMasterFilter (uint32_t base)
 
static void SDFM_disableMasterFilter (uint32_t base)
 
static uint16_t SDFM_getFIFODataCount (uint32_t base, uint32_t filterNumber)
 
static uint16_t SDFM_getComparatorSincData (uint32_t base, uint32_t filterNumber)
 
static uint32_t SDFM_getFIFOData (uint32_t base, uint32_t filterNumber)
 
static void SDFM_setFIFOInterruptLevel (uint32_t base, uint32_t filterNumber, uint16_t fifoLevel)
 
static void SDFM_setDataReadyInterruptSource (uint32_t base, uint32_t filterNumber, uint32_t dataReadySource)
 
static bool SDFM_getWaitForSyncStatus (uint32_t base, uint32_t filterNumber)
 
static void SDFM_clearWaitForSyncFlag (uint32_t base, uint32_t filterNumber)
 
static void SDFM_enableWaitForSync (uint32_t base, uint32_t filterNumber)
 
static void SDFM_disableWaitForSync (uint32_t base, uint32_t filterNumber)
 
static void SDFM_setPWMSyncSource (uint32_t base, uint32_t filterNumber, uint32_t syncSource)
 
static void SDFM_setFIFOClearOnSyncMode (uint32_t base, uint32_t filterNumber, uint32_t fifoClearSyncMode)
 
static void SDFM_setWaitForSyncClearMode (uint32_t base, uint32_t filterNumber, uint32_t syncClearMode)
 
static void SDFM_selectClockSource (uint32_t base, uint32_t filterNumber, uint32_t clkSource)
 
static void SDFM_enableSynchronizer (uint32_t base, uint32_t filterNumber, uint16_t syncConfig)
 
static void SDFM_disableSynchronizer (uint32_t base, uint32_t filterNumber, uint16_t syncConfig)
 
static void SDFM_selectCompEventHighSource (uint32_t base, uint32_t filterNumber, uint32_t source)
 
static void SDFM_selectCompEventLowSource (uint32_t base, uint32_t filterNumber, uint32_t source)
 
static void SDFM_initCompEventLowFilter (uint32_t base, uint32_t filterNumber)
 
static void SDFM_initCompEventHighFilter (uint32_t base, uint32_t filterNumber)
 
static void SDFM_lockCompEventFilterConfig (uint32_t base, uint32_t filterNumber, uint16_t lockConfig)
 
void SDFM_configComparator (uint32_t base, uint16_t config1, uint32_t config2, uint16_t config3)
 
void SDFM_configEnhancedComparator (uint32_t base, uint16_t filterConfig, uint32_t highLowThreshold1, uint32_t highLowThreshold2, uint16_t zeroCrossThreshold)
 
void SDFM_configDataFilter (uint32_t base, uint16_t config1, uint16_t config2)
 
void SDFM_configZeroCrossComparator (uint32_t base, uint16_t config1, uint16_t config2)
 
void SDFM_configDataFilterFIFO (uint32_t base, uint16_t config1, uint16_t config2)
 
void SDFM_configCompEventLowFilter (uint32_t base, uint32_t filterNumber, const SDFM_CompEventFilterConfig *config)
 
void SDFM_configCompEventHighFilter (uint32_t base, uint32_t filterNumber, const SDFM_CompEventFilterConfig *config)
 

Macros

#define SDFM_GET_LOW_THRESHOLD(C)   ((uint16_t)(C))
 Header Files. More...
 
#define SDFM_GET_HIGH_THRESHOLD(C)   ((uint16_t)((uint32_t)(C) >> 16U))
 Macro to get the high threshold. More...
 
#define SDFM_GET_LOW_THRESHOLD_BOTH(C1, C2)
 
#define SDFM_GET_HIGH_THRESHOLD_BOTH(C1, C2)
 
#define SDFM_SET_OSR(X)   (((X) - 1) << 8U)
 Macro to convert comparator over sampling ratio to acceptable bit location. More...
 
#define SDFM_SHIFT_VALUE(X)   ((X) << 2U)
 Macro to convert the data shift bit values to acceptable bit location. More...
 
#define SDFM_THRESHOLD(H, L)   ((((uint32_t)(H)) << 16U) | (L))
 Macro to combine high threshold and low threshold values. More...
 
#define SDFM_SET_FIFO_LEVEL(X)   ((X) << 7U)
 Macro to set the FIFO level to acceptable bit location. More...
 
#define SDFM_SET_ZERO_CROSS_THRESH_VALUE(X)   (0x8000 | (X))
 Macro to set and enable the zero cross threshold value. More...
 
#define SDFM_FILTER_DISABLE   (0x0U)
 Macros to enable or disable filter. More...
 
#define SDFM_FILTER_ENABLE   (0x2U)
 
#define SDFM_SDFIL_OFFSET   (CSL_SDFM_SDCTLPARM2 - CSL_SDFM_SDCTLPARM1)
 < SD filter offset More...
 
#define SDFM_DIGFIL_OFFSET   (CSL_SDFM_SDCOMP2CTL - CSL_SDFM_SDCOMP1CTL)
 Offset between high threshold 1 & 2 registers. More...
 
#define SDFM_SDFLT1CMPHx_OFFSET   (CSL_SDFM_SDFLT1CMPH2 - CSL_SDFM_SDFLT1CMPH1)
 Offset between low threshold 1 & 2 registers. More...
 
#define SDFM_SDFLT1CMPLx_OFFSET   (CSL_SDFM_SDFLT1CMPL2 - CSL_SDFM_SDFLT1CMPL1)
 
#define SDFM_COMPEVT_FILTER_CONFIG_M
 
#define SDFM_COMPEVT_FILTER_LOCK_M
 
#define SDFM_CLOCK_SYNCHRONIZER   CSL_SDFM_SDCTLPARM1_SDCLKSYNC_MASK
 Define for Clock synchronizer Configuration. More...
 
#define SDFM_DATA_SYNCHRONIZER   CSL_SDFM_SDCTLPARM1_SDDATASYNC_MASK
 Define for Data Synchronizer Configuration. More...
 
#define SDFM_OUTPUT_WITHIN_THRESHOLD   (0)
 Values that can be returned from SDFM_getThresholdStatus() More...
 
#define SDFM_OUTPUT_ABOVE_THRESHOLD   (1)
 SDFM output is above threshold. More...
 
#define SDFM_OUTPUT_BELOW_THRESHOLD   (2)
 SDFM output is below threshold. More...
 
#define SDFM_FILTER_1   (0)
 Digital filter 1. More...
 
#define SDFM_FILTER_2   (1)
 Digital filter 2. More...
 
#define SDFM_FILTER_3   (2)
 Digital filter 3. More...
 
#define SDFM_FILTER_4   (3)
 Digital filter 4. More...
 
#define SDFM_FILTER_SINC_FAST   (0x00)
 Digital filter with SincFast structure. More...
 
#define SDFM_FILTER_SINC_1   (0x10)
 Digital filter with Sinc1 structure. More...
 
#define SDFM_FILTER_SINC_2   (0x20)
 Digital filter with Sinc3 structure. More...
 
#define SDFM_FILTER_SINC_3   (0x30)
 Digital filter with Sinc4 structure. More...
 
#define SDFM_MODULATOR_CLK_EQUAL_DATA_RATE   (0)
 Modulator clock is identical to the data rate. More...
 
#define SDFM_DATA_FORMAT_16_BIT   (0)
 Filter output is in 16 bits 2's complement format. More...
 
#define SDFM_DATA_FORMAT_32_BIT   (1)
 Filter output is in 32 bits 2's complement format. More...
 
#define SDFM_DATA_READY_SOURCE_DIRECT   (0)
 Data ready interrupt source is direct (non -FIFO). More...
 
#define SDFM_DATA_READY_SOURCE_FIFO   (1)
 Data ready interrupt source is FIFO. More...
 
#define SDFM_SYNC_PWM0_SOCA   (0)
 SDFM sync source is PWM1 SOCA. More...
 
#define SDFM_SYNC_PWM0_SOCB   (1)
 SDFM sync source is PWM1 SOCB. More...
 
#define SDFM_SYNC_PWM1_SOCA   (2)
 SDFM sync source is PWM2 SOCA. More...
 
#define SDFM_SYNC_PWM1_SOCB   (3)
 SDFM sync source is PWM2 SOCB. More...
 
#define SDFM_SYNC_PWM2_SOCA   (4)
 SDFM sync source is PWM3 SOCA. More...
 
#define SDFM_SYNC_PWM2_SOCB   (5)
 SDFM sync source is PWM3 SOCB. More...
 
#define SDFM_SYNC_PWM3_SOCA   (6)
 SDFM sync source is PWM4 SOCA. More...
 
#define SDFM_SYNC_PWM3_SOCB   (7)
 SDFM sync source is PWM4 SOCB. More...
 
#define SDFM_SYNC_PWM4_SOCA   (8)
 SDFM sync source is PWM5 SOCA. More...
 
#define SDFM_SYNC_PWM4_SOCB   (9)
 SDFM sync source is PWM5 SOCB. More...
 
#define SDFM_SYNC_PWM5_SOCA   (10)
 SDFM sync source is PWM6 SOCA. More...
 
#define SDFM_SYNC_PWM5_SOCB   (11)
 SDFM sync source is PWM6 SOCB. More...
 
#define SDFM_SYNC_PWM6_SOCA   (12)
 SDFM sync source is PWM7 SOCA. More...
 
#define SDFM_SYNC_PWM6_SOCB   (13)
 SDFM sync source is PWM7 SOCB. More...
 
#define SDFM_SYNC_PWM7_SOCA   (14)
 SDFM sync source is PWM8 SOCA. More...
 
#define SDFM_SYNC_PWM7_SOCB   (15)
 SDFM sync source is PWM8 SOCB. More...
 
#define SDFM_SYNC_PWM8_SOCA   (16)
 SDFM sync source is PWM9 SOCA. More...
 
#define SDFM_SYNC_PWM8_SOCB   (17)
 SDFM sync source is PWM9 SOCB. More...
 
#define SDFM_SYNC_PWM9_SOCA   (18)
 SDFM sync source is PWM10 SOCA. More...
 
#define SDFM_SYNC_PWM9_SOCB   (19)
 SDFM sync source is PWM10 SOCB. More...
 
#define SDFM_SYNC_PWM10_SOCA   (20)
 SDFM sync source is PWM11 SOCA. More...
 
#define SDFM_SYNC_PWM10_SOCB   (21)
 SDFM sync source is PWM11 SOCB. More...
 
#define SDFM_SYNC_PWM11_SOCA   (22)
 SDFM sync source is PWM12 SOCA. More...
 
#define SDFM_SYNC_PWM11_SOCB   (23)
 SDFM sync source is PWM12 SOCB. More...
 
#define SDFM_SYNC_PWM12_SOCA   (24)
 SDFM sync source is PWM13 SOCA. More...
 
#define SDFM_SYNC_PWM12_SOCB   (25)
 SDFM sync source is PWM13 SOCB. More...
 
#define SDFM_SYNC_PWM13_SOCA   (26)
 SDFM sync source is PWM14 SOCA. More...
 
#define SDFM_SYNC_PWM13_SOCB   (27)
 SDFM sync source is PWM14 SOCB. More...
 
#define SDFM_SYNC_PWM14_SOCA   (28)
 SDFM sync source is PWM15 SOCA. More...
 
#define SDFM_SYNC_PWM14_SOCB   (29)
 SDFM sync source is PWM15 SOCB. More...
 
#define SDFM_SYNC_PWM15_SOCA   (30)
 SDFM sync source is PWM16 SOCA. More...
 
#define SDFM_SYNC_PWM15_SOCB   (31)
 SDFM sync source is PWM16 SOCB. More...
 
#define SDFM_SYNC_PWM16_SOCA   (32)
 SDFM sync source is PWM17 SOCA. More...
 
#define SDFM_SYNC_PWM16_SOCB   (33)
 SDFM sync source is PWM17 SOCB. More...
 
#define SDFM_SYNC_PWM17_SOCA   (34)
 SDFM sync source is PWM18 SOCA. More...
 
#define SDFM_SYNC_PWM17_SOCB   (35)
 SDFM sync source is PWM18 SOCB. More...
 
#define SDFM_SYNC_PWM18_SOCA   (36)
 SDFM sync source is PWM19 SOCA. More...
 
#define SDFM_SYNC_PWM18_SOCB   (37)
 SDFM sync source is PWM19 SOCB. More...
 
#define SDFM_SYNC_PWM19_SOCA   (38)
 SDFM sync source is PWM20 SOCA. More...
 
#define SDFM_SYNC_PWM19_SOCB   (39)
 SDFM sync source is PWM20 SOCB. More...
 
#define SDFM_SYNC_PWM20_SOCA   (40)
 SDFM sync source is PWM21 SOCA. More...
 
#define SDFM_SYNC_PWM20_SOCB   (41)
 SDFM sync source is PWM21 SOCB. More...
 
#define SDFM_SYNC_PWM21_SOCA   (42)
 SDFM sync source is PWM22 SOCA. More...
 
#define SDFM_SYNC_PWM21_SOCB   (43)
 SDFM sync source is PWM22 SOCB. More...
 
#define SDFM_SYNC_PWM22_SOCA   (44)
 SDFM sync source is PWM23 SOCA. More...
 
#define SDFM_SYNC_PWM22_SOCB   (45)
 SDFM sync source is PWM23 SOCB. More...
 
#define SDFM_SYNC_PWM23_SOCA   (46)
 SDFM sync source is PWM24 SOCA. More...
 
#define SDFM_SYNC_PWM23_SOCB   (47)
 SDFM sync source is PWM24 SOCB. More...
 
#define SDFM_SYNC_PWM24_SOCA   (48)
 SDFM sync source is PWM25 SOCA. More...
 
#define SDFM_SYNC_PWM24_SOCB   (49)
 SDFM sync source is PWM25 SOCB. More...
 
#define SDFM_SYNC_PWM25_SOCA   (50)
 SDFM sync source is PWM26 SOCA. More...
 
#define SDFM_SYNC_PWM25_SOCB   (51)
 SDFM sync source is PWM26 SOCB. More...
 
#define SDFM_SYNC_PWM26_SOCA   (52)
 SDFM sync source is PWM27 SOCA. More...
 
#define SDFM_SYNC_PWM26_SOCB   (53)
 SDFM sync source is PWM27 SOCB. More...
 
#define SDFM_SYNC_PWM27_SOCA   (54)
 SDFM sync source is PWM28 SOCA. More...
 
#define SDFM_SYNC_PWM27_SOCB   (55)
 SDFM sync source is PWM28 SOCB. More...
 
#define SDFM_SYNC_PWM28_SOCA   (56)
 SDFM sync source is PWM29 SOCA. More...
 
#define SDFM_SYNC_PWM28_SOCB   (57)
 SDFM sync source is PWM29 SOCB. More...
 
#define SDFM_SYNC_PWM29_SOCA   (58)
 SDFM sync source is PWM30 SOCA. More...
 
#define SDFM_SYNC_PWM29_SOCB   (59)
 SDFM sync source is PWM30 SOCB. More...
 
#define SDFM_SYNC_PWM30_SOCA   (60)
 SDFM sync source is PWM31 SOCA. More...
 
#define SDFM_SYNC_PWM30_SOCB   (61)
 SDFM sync source is PWM31 SOCB. More...
 
#define SDFM_SYNC_PWM31_SOCA   (62)
 SDFM sync source is PWM32 SOCA. More...
 
#define SDFM_SYNC_PWM31_SOCB   (63)
 SDFM sync source is PWM32 SOCB. More...
 
#define SDFM_FIFO_NOT_CLEARED_ON_SYNC   (0)
 SDFM FIFO buffer is not cleared on Sync signal. More...
 
#define SDFM_FIFO_CLEARED_ON_SYNC   (1)
 SDFM FIFO buffer is cleared on Sync signal. More...
 
#define SDFM_MANUAL_CLEAR_WAIT_FOR_SYNC   (0)
 Wait for sync cleared using software. More...
 
#define SDFM_AUTO_CLEAR_WAIT_FOR_SYNC   (1)
 Wait for sync cleared automatically. More...
 
#define SDFM_COMP_EVENT_1   CSL_SDFM_SDCPARM1_CEVT1SEL_SHIFT
 Selects CEVT1. More...
 
#define SDFM_COMP_EVENT_2   CSL_SDFM_SDCPARM1_CEVT2SEL_SHIFT
 Selects CEVT2. More...
 
#define SDFM_COMP_EVENT_SRC_COMPH1   (0)
 < COMPH1 event is the source More...
 
#define SDFM_COMP_EVENT_SRC_COMPH1_L1   (1)
 COMPH2 event is the source. More...
 
#define SDFM_COMP_EVENT_SRC_COMPH2   (2)
 Either of COMPH2 or COMPL2 event can be the source. More...
 
#define SDFM_COMP_EVENT_SRC_COMPH2_L2   (3)
 COMPL1 event is the source. More...
 
#define SDFM_COMP_EVENT_SRC_COMPL1   (0)
 COMPL2 event is the source. More...
 
#define SDFM_COMP_EVENT_SRC_COMPL2   (2)
 
#define SDFM_CLK_SOURCE_CHANNEL_CLK   (0x0)
 Source is respective channel clock. More...
 
#define SDFM_CLK_SOURCE_SD1_CLK   CSL_SDFM_SDCTLPARM1_SDCLKSEL_MASK
 Source is SD1 channel clock is the source. More...
 
#define SDFM_COMPHOUT_SOURCE_COMPHIN   (0x0)
 Comparator event high source is unfiltered event. More...
 
#define SDFM_COMPHOUT_SOURCE_FILTER   (0x8)
 Comparator event high source is filtered event. More...
 
#define SDFM_COMPLOUT_SOURCE_COMPLIN   (0x000)
 Comparator event low source is unfiltered event. More...
 
#define SDFM_COMPLOUT_SOURCE_FILTER   (0x800)
 Comparator event low source is filtered event. More...
 
#define SDFM_MODULATOR_FAILURE_INTERRUPT   (0x200U)
 Interrupt is generated if Modulator fails. More...
 
#define SDFM_LOW_LEVEL_THRESHOLD_INTERRUPT   (0x40U)
 Interrupt on Comparator low-level threshold. More...
 
#define SDFM_HIGH_LEVEL_THRESHOLD_INTERRUPT   (0x20U)
 Interrupt on Comparator high-level threshold. More...
 
#define SDFM_DATA_FILTER_ACKNOWLEDGE_INTERRUPT   (0x1U)
 Interrupt on Acknowledge flag. More...
 
#define SDFM_FIFO_INTERRUPT   (0x1000U)
 Interrupt on FIFO level. More...
 
#define SDFM_FIFO_OVERFLOW_INTERRUPT   (0x8000U)
 Interrupt on FIFO overflow. More...
 
#define SDFM_MASTER_INTERRUPT_FLAG   (0x80000000U)
 Master interrupt flag. More...
 
#define SDFM_FILTER_1_HIGH_THRESHOLD_FLAG   (0x1U)
 Filter 1 high -level threshold flag. More...
 
#define SDFM_FILTER_1_LOW_THRESHOLD_FLAG   (0x2U)
 Filter 1 low -level threshold flag. More...
 
#define SDFM_FILTER_2_HIGH_THRESHOLD_FLAG   (0x4U)
 Filter 2 high -level threshold flag. More...
 
#define SDFM_FILTER_2_LOW_THRESHOLD_FLAG   (0x8U)
 Filter 2 low -level threshold flag. More...
 
#define SDFM_FILTER_3_HIGH_THRESHOLD_FLAG   (0x10U)
 Filter 3 high -level threshold flag. More...
 
#define SDFM_FILTER_3_LOW_THRESHOLD_FLAG   (0x20U)
 Filter 3 low -level threshold flag. More...
 
#define SDFM_FILTER_4_HIGH_THRESHOLD_FLAG   (0x40U)
 Filter 4 high -level threshold flag. More...
 
#define SDFM_FILTER_4_LOW_THRESHOLD_FLAG   (0x80U)
 Filter 4 low -level threshold flag. More...
 
#define SDFM_FILTER_1_MOD_FAILED_FLAG   (0x100U)
 Filter 1 modulator failed flag. More...
 
#define SDFM_FILTER_2_MOD_FAILED_FLAG   (0x200U)
 Filter 2 modulator failed flag. More...
 
#define SDFM_FILTER_3_MOD_FAILED_FLAG   (0x400U)
 Filter 3 modulator failed flag. More...
 
#define SDFM_FILTER_4_MOD_FAILED_FLAG   (0x800U)
 Filter 4 modulator failed flag. More...
 
#define SDFM_FILTER_1_NEW_DATA_FLAG   (0x1000U)
 Filter 1 new data flag. More...
 
#define SDFM_FILTER_2_NEW_DATA_FLAG   (0x2000U)
 Filter 2 new data flag. More...
 
#define SDFM_FILTER_3_NEW_DATA_FLAG   (0x4000U)
 Filter 3 new data flag. More...
 
#define SDFM_FILTER_4_NEW_DATA_FLAG   (0x8000U)
 Filter 4 new data flag. More...
 
#define SDFM_FILTER_1_FIFO_OVERFLOW_FLAG   (0x10000U)
 Filter 1 FIFO overflow flag. More...
 
#define SDFM_FILTER_2_FIFO_OVERFLOW_FLAG   (0x20000U)
 Filter 2 FIFO overflow flag. More...
 
#define SDFM_FILTER_3_FIFO_OVERFLOW_FLAG   (0x40000U)
 Filter 3 FIFO overflow flag. More...
 
#define SDFM_FILTER_4_FIFO_OVERFLOW_FLAG   (0x80000U)
 Filter 4 FIFO overflow flag. More...
 
#define SDFM_FILTER_1_FIFO_INTERRUPT_FLAG   (0x100000U)
 Filter 1 FIFO overflow flag. More...
 
#define SDFM_FILTER_2_FIFO_INTERRUPT_FLAG   (0x200000U)
 Filter 2 FIFO overflow flag. More...
 
#define SDFM_FILTER_3_FIFO_INTERRUPT_FLAG   (0x400000U)
 Filter 3 FIFO overflow flag. More...
 
#define SDFM_FILTER_4_FIFO_INTERRUPT_FLAG   (0x800000U)
 Filter 4 FIFO overflow flag. More...
 

Macro Definition Documentation

◆ SDFM_GET_LOW_THRESHOLD

#define SDFM_GET_LOW_THRESHOLD (   C)    ((uint16_t)(C))

Header Files.

Macro to get the low threshold

◆ SDFM_GET_HIGH_THRESHOLD

#define SDFM_GET_HIGH_THRESHOLD (   C)    ((uint16_t)((uint32_t)(C) >> 16U))

Macro to get the high threshold.

◆ SDFM_GET_LOW_THRESHOLD_BOTH

#define SDFM_GET_LOW_THRESHOLD_BOTH (   C1,
  C2 
)
Value:
((((uint32_t)(SDFM_GET_LOW_THRESHOLD(C2))) << 16U) | \
((uint32_t)(SDFM_GET_LOW_THRESHOLD(C1))))

Macro to get the high threshold 1 & 2 to be passed as lowThreshold parameter to SDFM_setCompFilterLowThreshold().

◆ SDFM_GET_HIGH_THRESHOLD_BOTH

#define SDFM_GET_HIGH_THRESHOLD_BOTH (   C1,
  C2 
)
Value:
((((uint32_t)(SDFM_GET_HIGH_THRESHOLD(C2))) << 16U) | \
((uint32_t)(SDFM_GET_HIGH_THRESHOLD(C1))))

Macro to get the high threshold 1 & 2 to be passed as highThreshold parameter to SDFM_setCompFilterHighThreshold().

◆ SDFM_SET_OSR

#define SDFM_SET_OSR (   X)    (((X) - 1) << 8U)

Macro to convert comparator over sampling ratio to acceptable bit location.

◆ SDFM_SHIFT_VALUE

#define SDFM_SHIFT_VALUE (   X)    ((X) << 2U)

Macro to convert the data shift bit values to acceptable bit location.

◆ SDFM_THRESHOLD

#define SDFM_THRESHOLD (   H,
 
)    ((((uint32_t)(H)) << 16U) | (L))

Macro to combine high threshold and low threshold values.

◆ SDFM_SET_FIFO_LEVEL

#define SDFM_SET_FIFO_LEVEL (   X)    ((X) << 7U)

Macro to set the FIFO level to acceptable bit location.

◆ SDFM_SET_ZERO_CROSS_THRESH_VALUE

#define SDFM_SET_ZERO_CROSS_THRESH_VALUE (   X)    (0x8000 | (X))

Macro to set and enable the zero cross threshold value.

◆ SDFM_FILTER_DISABLE

#define SDFM_FILTER_DISABLE   (0x0U)

Macros to enable or disable filter.

◆ SDFM_FILTER_ENABLE

#define SDFM_FILTER_ENABLE   (0x2U)

◆ SDFM_SDFIL_OFFSET

#define SDFM_SDFIL_OFFSET   (CSL_SDFM_SDCTLPARM2 - CSL_SDFM_SDCTLPARM1)

< SD filter offset

Event Digital filter offset

◆ SDFM_DIGFIL_OFFSET

#define SDFM_DIGFIL_OFFSET   (CSL_SDFM_SDCOMP2CTL - CSL_SDFM_SDCOMP1CTL)

Offset between high threshold 1 & 2 registers.

◆ SDFM_SDFLT1CMPHx_OFFSET

#define SDFM_SDFLT1CMPHx_OFFSET   (CSL_SDFM_SDFLT1CMPH2 - CSL_SDFM_SDFLT1CMPH1)

Offset between low threshold 1 & 2 registers.

◆ SDFM_SDFLT1CMPLx_OFFSET

#define SDFM_SDFLT1CMPLx_OFFSET   (CSL_SDFM_SDFLT1CMPL2 - CSL_SDFM_SDFLT1CMPL1)

◆ SDFM_COMPEVT_FILTER_CONFIG_M

#define SDFM_COMPEVT_FILTER_CONFIG_M
Value:
(CSL_SDFM_SDCOMP1EVT1FLTCTL_SAMPWIN_MASK | \
CSL_SDFM_SDCOMP1EVT1FLTCTL_THRESH_MASK)

◆ SDFM_COMPEVT_FILTER_LOCK_M

#define SDFM_COMPEVT_FILTER_LOCK_M
Value:
(SDFM_SDCOMPLOCK_SDCOMPCTL | \
SDFM_SDCOMPLOCK_COMP)

◆ SDFM_CLOCK_SYNCHRONIZER

#define SDFM_CLOCK_SYNCHRONIZER   CSL_SDFM_SDCTLPARM1_SDCLKSYNC_MASK

Define for Clock synchronizer Configuration.

◆ SDFM_DATA_SYNCHRONIZER

#define SDFM_DATA_SYNCHRONIZER   CSL_SDFM_SDCTLPARM1_SDDATASYNC_MASK

Define for Data Synchronizer Configuration.

◆ SDFM_OUTPUT_WITHIN_THRESHOLD

#define SDFM_OUTPUT_WITHIN_THRESHOLD   (0)

Values that can be returned from SDFM_getThresholdStatus()

SDFM output is within threshold

◆ SDFM_OUTPUT_ABOVE_THRESHOLD

#define SDFM_OUTPUT_ABOVE_THRESHOLD   (1)

SDFM output is above threshold.

◆ SDFM_OUTPUT_BELOW_THRESHOLD

#define SDFM_OUTPUT_BELOW_THRESHOLD   (2)

SDFM output is below threshold.

◆ SDFM_FILTER_1

#define SDFM_FILTER_1   (0)

Digital filter 1.

Values that can be passed to all functions as the filterNumber parameter.

◆ SDFM_FILTER_2

#define SDFM_FILTER_2   (1)

Digital filter 2.

◆ SDFM_FILTER_3

#define SDFM_FILTER_3   (2)

Digital filter 3.

◆ SDFM_FILTER_4

#define SDFM_FILTER_4   (3)

Digital filter 4.

◆ SDFM_FILTER_SINC_FAST

#define SDFM_FILTER_SINC_FAST   (0x00)

Digital filter with SincFast structure.

Values that can be passed to SDFM_setFilterType(), SDFM_setComparatorFilterType() as the filterType parameter.

◆ SDFM_FILTER_SINC_1

#define SDFM_FILTER_SINC_1   (0x10)

Digital filter with Sinc1 structure.

◆ SDFM_FILTER_SINC_2

#define SDFM_FILTER_SINC_2   (0x20)

Digital filter with Sinc3 structure.

◆ SDFM_FILTER_SINC_3

#define SDFM_FILTER_SINC_3   (0x30)

Digital filter with Sinc4 structure.

◆ SDFM_MODULATOR_CLK_EQUAL_DATA_RATE

#define SDFM_MODULATOR_CLK_EQUAL_DATA_RATE   (0)

Modulator clock is identical to the data rate.

Values that can be passed to SDFM_setupModulatorClock(),as the clockMode parameter.

◆ SDFM_DATA_FORMAT_16_BIT

#define SDFM_DATA_FORMAT_16_BIT   (0)

Filter output is in 16 bits 2's complement format.

Values that can be passed to SDFM_setOutputDataFormat(),as the dataFormat parameter.

◆ SDFM_DATA_FORMAT_32_BIT

#define SDFM_DATA_FORMAT_32_BIT   (1)

Filter output is in 32 bits 2's complement format.

◆ SDFM_DATA_READY_SOURCE_DIRECT

#define SDFM_DATA_READY_SOURCE_DIRECT   (0)

Data ready interrupt source is direct (non -FIFO).

Values that can be passed to SDFM_setDataReadyInterruptSource(),as the dataReadySource parameter.

◆ SDFM_DATA_READY_SOURCE_FIFO

#define SDFM_DATA_READY_SOURCE_FIFO   (1)

Data ready interrupt source is FIFO.

◆ SDFM_SYNC_PWM0_SOCA

#define SDFM_SYNC_PWM0_SOCA   (0)

SDFM sync source is PWM1 SOCA.

Values that can be passed to SDFM_setPWMSyncSource(),as the syncSource parameter.

◆ SDFM_SYNC_PWM0_SOCB

#define SDFM_SYNC_PWM0_SOCB   (1)

SDFM sync source is PWM1 SOCB.

◆ SDFM_SYNC_PWM1_SOCA

#define SDFM_SYNC_PWM1_SOCA   (2)

SDFM sync source is PWM2 SOCA.

◆ SDFM_SYNC_PWM1_SOCB

#define SDFM_SYNC_PWM1_SOCB   (3)

SDFM sync source is PWM2 SOCB.

◆ SDFM_SYNC_PWM2_SOCA

#define SDFM_SYNC_PWM2_SOCA   (4)

SDFM sync source is PWM3 SOCA.

◆ SDFM_SYNC_PWM2_SOCB

#define SDFM_SYNC_PWM2_SOCB   (5)

SDFM sync source is PWM3 SOCB.

◆ SDFM_SYNC_PWM3_SOCA

#define SDFM_SYNC_PWM3_SOCA   (6)

SDFM sync source is PWM4 SOCA.

◆ SDFM_SYNC_PWM3_SOCB

#define SDFM_SYNC_PWM3_SOCB   (7)

SDFM sync source is PWM4 SOCB.

◆ SDFM_SYNC_PWM4_SOCA

#define SDFM_SYNC_PWM4_SOCA   (8)

SDFM sync source is PWM5 SOCA.

◆ SDFM_SYNC_PWM4_SOCB

#define SDFM_SYNC_PWM4_SOCB   (9)

SDFM sync source is PWM5 SOCB.

◆ SDFM_SYNC_PWM5_SOCA

#define SDFM_SYNC_PWM5_SOCA   (10)

SDFM sync source is PWM6 SOCA.

◆ SDFM_SYNC_PWM5_SOCB

#define SDFM_SYNC_PWM5_SOCB   (11)

SDFM sync source is PWM6 SOCB.

◆ SDFM_SYNC_PWM6_SOCA

#define SDFM_SYNC_PWM6_SOCA   (12)

SDFM sync source is PWM7 SOCA.

◆ SDFM_SYNC_PWM6_SOCB

#define SDFM_SYNC_PWM6_SOCB   (13)

SDFM sync source is PWM7 SOCB.

◆ SDFM_SYNC_PWM7_SOCA

#define SDFM_SYNC_PWM7_SOCA   (14)

SDFM sync source is PWM8 SOCA.

◆ SDFM_SYNC_PWM7_SOCB

#define SDFM_SYNC_PWM7_SOCB   (15)

SDFM sync source is PWM8 SOCB.

◆ SDFM_SYNC_PWM8_SOCA

#define SDFM_SYNC_PWM8_SOCA   (16)

SDFM sync source is PWM9 SOCA.

◆ SDFM_SYNC_PWM8_SOCB

#define SDFM_SYNC_PWM8_SOCB   (17)

SDFM sync source is PWM9 SOCB.

◆ SDFM_SYNC_PWM9_SOCA

#define SDFM_SYNC_PWM9_SOCA   (18)

SDFM sync source is PWM10 SOCA.

◆ SDFM_SYNC_PWM9_SOCB

#define SDFM_SYNC_PWM9_SOCB   (19)

SDFM sync source is PWM10 SOCB.

◆ SDFM_SYNC_PWM10_SOCA

#define SDFM_SYNC_PWM10_SOCA   (20)

SDFM sync source is PWM11 SOCA.

◆ SDFM_SYNC_PWM10_SOCB

#define SDFM_SYNC_PWM10_SOCB   (21)

SDFM sync source is PWM11 SOCB.

◆ SDFM_SYNC_PWM11_SOCA

#define SDFM_SYNC_PWM11_SOCA   (22)

SDFM sync source is PWM12 SOCA.

◆ SDFM_SYNC_PWM11_SOCB

#define SDFM_SYNC_PWM11_SOCB   (23)

SDFM sync source is PWM12 SOCB.

◆ SDFM_SYNC_PWM12_SOCA

#define SDFM_SYNC_PWM12_SOCA   (24)

SDFM sync source is PWM13 SOCA.

◆ SDFM_SYNC_PWM12_SOCB

#define SDFM_SYNC_PWM12_SOCB   (25)

SDFM sync source is PWM13 SOCB.

◆ SDFM_SYNC_PWM13_SOCA

#define SDFM_SYNC_PWM13_SOCA   (26)

SDFM sync source is PWM14 SOCA.

◆ SDFM_SYNC_PWM13_SOCB

#define SDFM_SYNC_PWM13_SOCB   (27)

SDFM sync source is PWM14 SOCB.

◆ SDFM_SYNC_PWM14_SOCA

#define SDFM_SYNC_PWM14_SOCA   (28)

SDFM sync source is PWM15 SOCA.

◆ SDFM_SYNC_PWM14_SOCB

#define SDFM_SYNC_PWM14_SOCB   (29)

SDFM sync source is PWM15 SOCB.

◆ SDFM_SYNC_PWM15_SOCA

#define SDFM_SYNC_PWM15_SOCA   (30)

SDFM sync source is PWM16 SOCA.

◆ SDFM_SYNC_PWM15_SOCB

#define SDFM_SYNC_PWM15_SOCB   (31)

SDFM sync source is PWM16 SOCB.

◆ SDFM_SYNC_PWM16_SOCA

#define SDFM_SYNC_PWM16_SOCA   (32)

SDFM sync source is PWM17 SOCA.

◆ SDFM_SYNC_PWM16_SOCB

#define SDFM_SYNC_PWM16_SOCB   (33)

SDFM sync source is PWM17 SOCB.

◆ SDFM_SYNC_PWM17_SOCA

#define SDFM_SYNC_PWM17_SOCA   (34)

SDFM sync source is PWM18 SOCA.

◆ SDFM_SYNC_PWM17_SOCB

#define SDFM_SYNC_PWM17_SOCB   (35)

SDFM sync source is PWM18 SOCB.

◆ SDFM_SYNC_PWM18_SOCA

#define SDFM_SYNC_PWM18_SOCA   (36)

SDFM sync source is PWM19 SOCA.

◆ SDFM_SYNC_PWM18_SOCB

#define SDFM_SYNC_PWM18_SOCB   (37)

SDFM sync source is PWM19 SOCB.

◆ SDFM_SYNC_PWM19_SOCA

#define SDFM_SYNC_PWM19_SOCA   (38)

SDFM sync source is PWM20 SOCA.

◆ SDFM_SYNC_PWM19_SOCB

#define SDFM_SYNC_PWM19_SOCB   (39)

SDFM sync source is PWM20 SOCB.

◆ SDFM_SYNC_PWM20_SOCA

#define SDFM_SYNC_PWM20_SOCA   (40)

SDFM sync source is PWM21 SOCA.

◆ SDFM_SYNC_PWM20_SOCB

#define SDFM_SYNC_PWM20_SOCB   (41)

SDFM sync source is PWM21 SOCB.

◆ SDFM_SYNC_PWM21_SOCA

#define SDFM_SYNC_PWM21_SOCA   (42)

SDFM sync source is PWM22 SOCA.

◆ SDFM_SYNC_PWM21_SOCB

#define SDFM_SYNC_PWM21_SOCB   (43)

SDFM sync source is PWM22 SOCB.

◆ SDFM_SYNC_PWM22_SOCA

#define SDFM_SYNC_PWM22_SOCA   (44)

SDFM sync source is PWM23 SOCA.

◆ SDFM_SYNC_PWM22_SOCB

#define SDFM_SYNC_PWM22_SOCB   (45)

SDFM sync source is PWM23 SOCB.

◆ SDFM_SYNC_PWM23_SOCA

#define SDFM_SYNC_PWM23_SOCA   (46)

SDFM sync source is PWM24 SOCA.

◆ SDFM_SYNC_PWM23_SOCB

#define SDFM_SYNC_PWM23_SOCB   (47)

SDFM sync source is PWM24 SOCB.

◆ SDFM_SYNC_PWM24_SOCA

#define SDFM_SYNC_PWM24_SOCA   (48)

SDFM sync source is PWM25 SOCA.

◆ SDFM_SYNC_PWM24_SOCB

#define SDFM_SYNC_PWM24_SOCB   (49)

SDFM sync source is PWM25 SOCB.

◆ SDFM_SYNC_PWM25_SOCA

#define SDFM_SYNC_PWM25_SOCA   (50)

SDFM sync source is PWM26 SOCA.

◆ SDFM_SYNC_PWM25_SOCB

#define SDFM_SYNC_PWM25_SOCB   (51)

SDFM sync source is PWM26 SOCB.

◆ SDFM_SYNC_PWM26_SOCA

#define SDFM_SYNC_PWM26_SOCA   (52)

SDFM sync source is PWM27 SOCA.

◆ SDFM_SYNC_PWM26_SOCB

#define SDFM_SYNC_PWM26_SOCB   (53)

SDFM sync source is PWM27 SOCB.

◆ SDFM_SYNC_PWM27_SOCA

#define SDFM_SYNC_PWM27_SOCA   (54)

SDFM sync source is PWM28 SOCA.

◆ SDFM_SYNC_PWM27_SOCB

#define SDFM_SYNC_PWM27_SOCB   (55)

SDFM sync source is PWM28 SOCB.

◆ SDFM_SYNC_PWM28_SOCA

#define SDFM_SYNC_PWM28_SOCA   (56)

SDFM sync source is PWM29 SOCA.

◆ SDFM_SYNC_PWM28_SOCB

#define SDFM_SYNC_PWM28_SOCB   (57)

SDFM sync source is PWM29 SOCB.

◆ SDFM_SYNC_PWM29_SOCA

#define SDFM_SYNC_PWM29_SOCA   (58)

SDFM sync source is PWM30 SOCA.

◆ SDFM_SYNC_PWM29_SOCB

#define SDFM_SYNC_PWM29_SOCB   (59)

SDFM sync source is PWM30 SOCB.

◆ SDFM_SYNC_PWM30_SOCA

#define SDFM_SYNC_PWM30_SOCA   (60)

SDFM sync source is PWM31 SOCA.

◆ SDFM_SYNC_PWM30_SOCB

#define SDFM_SYNC_PWM30_SOCB   (61)

SDFM sync source is PWM31 SOCB.

◆ SDFM_SYNC_PWM31_SOCA

#define SDFM_SYNC_PWM31_SOCA   (62)

SDFM sync source is PWM32 SOCA.

◆ SDFM_SYNC_PWM31_SOCB

#define SDFM_SYNC_PWM31_SOCB   (63)

SDFM sync source is PWM32 SOCB.

◆ SDFM_FIFO_NOT_CLEARED_ON_SYNC

#define SDFM_FIFO_NOT_CLEARED_ON_SYNC   (0)

SDFM FIFO buffer is not cleared on Sync signal.

Values that can be passed to SDFM_setFIFOClearOnSyncMode(),as the fifoClearSyncMode parameter.

◆ SDFM_FIFO_CLEARED_ON_SYNC

#define SDFM_FIFO_CLEARED_ON_SYNC   (1)

SDFM FIFO buffer is cleared on Sync signal.

◆ SDFM_MANUAL_CLEAR_WAIT_FOR_SYNC

#define SDFM_MANUAL_CLEAR_WAIT_FOR_SYNC   (0)

Wait for sync cleared using software.

Values that can be passed to SDFM_setWaitForSyncClearMode(),as the syncClearMode parameter.

◆ SDFM_AUTO_CLEAR_WAIT_FOR_SYNC

#define SDFM_AUTO_CLEAR_WAIT_FOR_SYNC   (1)

Wait for sync cleared automatically.

◆ SDFM_COMP_EVENT_1

#define SDFM_COMP_EVENT_1   CSL_SDFM_SDCPARM1_CEVT1SEL_SHIFT

Selects CEVT1.

Values that can be passed to SDFM_selectCompEventSource() as the compEventNum parameter.

◆ SDFM_COMP_EVENT_2

#define SDFM_COMP_EVENT_2   CSL_SDFM_SDCPARM1_CEVT2SEL_SHIFT

Selects CEVT2.

◆ SDFM_COMP_EVENT_SRC_COMPH1

#define SDFM_COMP_EVENT_SRC_COMPH1   (0)

< COMPH1 event is the source

Values that can be passed to SDFM_selectCompEventSource() as the compEventSource parameter. Either of COMPH1 or COMPL1 event can be the source

◆ SDFM_COMP_EVENT_SRC_COMPH1_L1

#define SDFM_COMP_EVENT_SRC_COMPH1_L1   (1)

COMPH2 event is the source.

◆ SDFM_COMP_EVENT_SRC_COMPH2

#define SDFM_COMP_EVENT_SRC_COMPH2   (2)

Either of COMPH2 or COMPL2 event can be the source.

◆ SDFM_COMP_EVENT_SRC_COMPH2_L2

#define SDFM_COMP_EVENT_SRC_COMPH2_L2   (3)

COMPL1 event is the source.

◆ SDFM_COMP_EVENT_SRC_COMPL1

#define SDFM_COMP_EVENT_SRC_COMPL1   (0)

COMPL2 event is the source.

◆ SDFM_COMP_EVENT_SRC_COMPL2

#define SDFM_COMP_EVENT_SRC_COMPL2   (2)

◆ SDFM_CLK_SOURCE_CHANNEL_CLK

#define SDFM_CLK_SOURCE_CHANNEL_CLK   (0x0)

Source is respective channel clock.

Values that can be passed to SDFM_selectClockSource() as the clkSource parameter.

◆ SDFM_CLK_SOURCE_SD1_CLK

#define SDFM_CLK_SOURCE_SD1_CLK   CSL_SDFM_SDCTLPARM1_SDCLKSEL_MASK

Source is SD1 channel clock is the source.

◆ SDFM_COMPHOUT_SOURCE_COMPHIN

#define SDFM_COMPHOUT_SOURCE_COMPHIN   (0x0)

Comparator event high source is unfiltered event.

Values that can be passed to SDFM_selectCompEventHighSource() as the source parameter.

◆ SDFM_COMPHOUT_SOURCE_FILTER

#define SDFM_COMPHOUT_SOURCE_FILTER   (0x8)

Comparator event high source is filtered event.

◆ SDFM_COMPLOUT_SOURCE_COMPLIN

#define SDFM_COMPLOUT_SOURCE_COMPLIN   (0x000)

Comparator event low source is unfiltered event.

Values that can be passed to SDFM_selectCompEventLowSource() as the source parameter.

◆ SDFM_COMPLOUT_SOURCE_FILTER

#define SDFM_COMPLOUT_SOURCE_FILTER   (0x800)

Comparator event low source is filtered event.

◆ SDFM_MODULATOR_FAILURE_INTERRUPT

#define SDFM_MODULATOR_FAILURE_INTERRUPT   (0x200U)

Interrupt is generated if Modulator fails.

◆ SDFM_LOW_LEVEL_THRESHOLD_INTERRUPT

#define SDFM_LOW_LEVEL_THRESHOLD_INTERRUPT   (0x40U)

Interrupt on Comparator low-level threshold.

◆ SDFM_HIGH_LEVEL_THRESHOLD_INTERRUPT

#define SDFM_HIGH_LEVEL_THRESHOLD_INTERRUPT   (0x20U)

Interrupt on Comparator high-level threshold.

◆ SDFM_DATA_FILTER_ACKNOWLEDGE_INTERRUPT

#define SDFM_DATA_FILTER_ACKNOWLEDGE_INTERRUPT   (0x1U)

Interrupt on Acknowledge flag.

◆ SDFM_FIFO_INTERRUPT

#define SDFM_FIFO_INTERRUPT   (0x1000U)

Interrupt on FIFO level.

◆ SDFM_FIFO_OVERFLOW_INTERRUPT

#define SDFM_FIFO_OVERFLOW_INTERRUPT   (0x8000U)

Interrupt on FIFO overflow.

◆ SDFM_MASTER_INTERRUPT_FLAG

#define SDFM_MASTER_INTERRUPT_FLAG   (0x80000000U)

Master interrupt flag.

◆ SDFM_FILTER_1_HIGH_THRESHOLD_FLAG

#define SDFM_FILTER_1_HIGH_THRESHOLD_FLAG   (0x1U)

Filter 1 high -level threshold flag.

◆ SDFM_FILTER_1_LOW_THRESHOLD_FLAG

#define SDFM_FILTER_1_LOW_THRESHOLD_FLAG   (0x2U)

Filter 1 low -level threshold flag.

◆ SDFM_FILTER_2_HIGH_THRESHOLD_FLAG

#define SDFM_FILTER_2_HIGH_THRESHOLD_FLAG   (0x4U)

Filter 2 high -level threshold flag.

◆ SDFM_FILTER_2_LOW_THRESHOLD_FLAG

#define SDFM_FILTER_2_LOW_THRESHOLD_FLAG   (0x8U)

Filter 2 low -level threshold flag.

◆ SDFM_FILTER_3_HIGH_THRESHOLD_FLAG

#define SDFM_FILTER_3_HIGH_THRESHOLD_FLAG   (0x10U)

Filter 3 high -level threshold flag.

◆ SDFM_FILTER_3_LOW_THRESHOLD_FLAG

#define SDFM_FILTER_3_LOW_THRESHOLD_FLAG   (0x20U)

Filter 3 low -level threshold flag.

◆ SDFM_FILTER_4_HIGH_THRESHOLD_FLAG

#define SDFM_FILTER_4_HIGH_THRESHOLD_FLAG   (0x40U)

Filter 4 high -level threshold flag.

◆ SDFM_FILTER_4_LOW_THRESHOLD_FLAG

#define SDFM_FILTER_4_LOW_THRESHOLD_FLAG   (0x80U)

Filter 4 low -level threshold flag.

◆ SDFM_FILTER_1_MOD_FAILED_FLAG

#define SDFM_FILTER_1_MOD_FAILED_FLAG   (0x100U)

Filter 1 modulator failed flag.

◆ SDFM_FILTER_2_MOD_FAILED_FLAG

#define SDFM_FILTER_2_MOD_FAILED_FLAG   (0x200U)

Filter 2 modulator failed flag.

◆ SDFM_FILTER_3_MOD_FAILED_FLAG

#define SDFM_FILTER_3_MOD_FAILED_FLAG   (0x400U)

Filter 3 modulator failed flag.

◆ SDFM_FILTER_4_MOD_FAILED_FLAG

#define SDFM_FILTER_4_MOD_FAILED_FLAG   (0x800U)

Filter 4 modulator failed flag.

◆ SDFM_FILTER_1_NEW_DATA_FLAG

#define SDFM_FILTER_1_NEW_DATA_FLAG   (0x1000U)

Filter 1 new data flag.

◆ SDFM_FILTER_2_NEW_DATA_FLAG

#define SDFM_FILTER_2_NEW_DATA_FLAG   (0x2000U)

Filter 2 new data flag.

◆ SDFM_FILTER_3_NEW_DATA_FLAG

#define SDFM_FILTER_3_NEW_DATA_FLAG   (0x4000U)

Filter 3 new data flag.

◆ SDFM_FILTER_4_NEW_DATA_FLAG

#define SDFM_FILTER_4_NEW_DATA_FLAG   (0x8000U)

Filter 4 new data flag.

◆ SDFM_FILTER_1_FIFO_OVERFLOW_FLAG

#define SDFM_FILTER_1_FIFO_OVERFLOW_FLAG   (0x10000U)

Filter 1 FIFO overflow flag.

◆ SDFM_FILTER_2_FIFO_OVERFLOW_FLAG

#define SDFM_FILTER_2_FIFO_OVERFLOW_FLAG   (0x20000U)

Filter 2 FIFO overflow flag.

◆ SDFM_FILTER_3_FIFO_OVERFLOW_FLAG

#define SDFM_FILTER_3_FIFO_OVERFLOW_FLAG   (0x40000U)

Filter 3 FIFO overflow flag.

◆ SDFM_FILTER_4_FIFO_OVERFLOW_FLAG

#define SDFM_FILTER_4_FIFO_OVERFLOW_FLAG   (0x80000U)

Filter 4 FIFO overflow flag.

◆ SDFM_FILTER_1_FIFO_INTERRUPT_FLAG

#define SDFM_FILTER_1_FIFO_INTERRUPT_FLAG   (0x100000U)

Filter 1 FIFO overflow flag.

◆ SDFM_FILTER_2_FIFO_INTERRUPT_FLAG

#define SDFM_FILTER_2_FIFO_INTERRUPT_FLAG   (0x200000U)

Filter 2 FIFO overflow flag.

◆ SDFM_FILTER_3_FIFO_INTERRUPT_FLAG

#define SDFM_FILTER_3_FIFO_INTERRUPT_FLAG   (0x400000U)

Filter 3 FIFO overflow flag.

◆ SDFM_FILTER_4_FIFO_INTERRUPT_FLAG

#define SDFM_FILTER_4_FIFO_INTERRUPT_FLAG   (0x800000U)

Filter 4 FIFO overflow flag.

Function Documentation

◆ SDFM_enableExternalReset()

static void SDFM_enableExternalReset ( uint32_t  base,
uint32_t  filterNumber 
)
inlinestatic

Enable external reset

Parameters
baseis the base address of the SDFM module
filterNumberis the filter number.

This function enables data filter to be reset by an external source (PWM compare output).

Returns
None.

◆ SDFM_disableExternalReset()

static void SDFM_disableExternalReset ( uint32_t  base,
uint32_t  filterNumber 
)
inlinestatic

Disable external reset

Parameters
baseis the base address of the SDFM module
filterNumberis the filter number.

This function disables data filter from being reset by an external source (PWM compare output).

Returns
None.

◆ SDFM_enableFilter()

static void SDFM_enableFilter ( uint32_t  base,
uint32_t  filterNumber 
)
inlinestatic

Enable filter

Parameters
baseis the base address of the SDFM module
filterNumberis the filter number.

This function enables the filter specified by the filterNumber variable.

Returns
None.

◆ SDFM_disableFilter()

static void SDFM_disableFilter ( uint32_t  base,
uint32_t  filterNumber 
)
inlinestatic

Disable filter

Parameters
baseis the base address of the SDFM module
filterNumberis the filter number.

This function disables the filter specified by the filterNumber variable.

Returns
None.

◆ SDFM_enableFIFOBuffer()

static void SDFM_enableFIFOBuffer ( uint32_t  base,
uint32_t  filterNumber 
)
inlinestatic

Enable FIFO buffer

Parameters
baseis the base address of the SDFM module
filterNumberis the filter number.

This function enables the filter FIFO buffer specified by the filterNumber variable.

Returns
None.

◆ SDFM_disableFIFOBuffer()

static void SDFM_disableFIFOBuffer ( uint32_t  base,
uint32_t  filterNumber 
)
inlinestatic

Disable FIFO buffer

Parameters
baseis the base address of the SDFM module
filterNumberis the filter number.

This function disables the filter FIFO buffer specified by the filterNumber variable.

Returns
None.

◆ SDFM_getZeroCrossTripStatus()

static bool SDFM_getZeroCrossTripStatus ( uint32_t  base,
uint32_t  filterNumber 
)
inlinestatic

Return the Zero Cross Trip status

Parameters
baseis the base address of the SDFM module
filterNumberis the filter number.

This function returns the Zero Cross Trip status for the filter specified by filterNumber variable.

Returns
true if Comparator filter output >= High-level threshold (Z) false if Comparator filter output < High-level threshold (Z)

◆ SDFM_clearZeroCrossTripStatus()

static void SDFM_clearZeroCrossTripStatus ( uint32_t  base,
uint32_t  filterNumber 
)
inlinestatic

Clear the Zero Cross Trip status

Parameters
baseis the base address of the SDFM module
filterNumberis the filter number.

This function clears the Zero Cross Trip status for the filter specified by filterNumber variable.

Returns
None.

◆ SDFM_enableComparator()

static void SDFM_enableComparator ( uint32_t  base,
uint32_t  filterNumber 
)
inlinestatic

Enable Comparator.

Parameters
baseis the base address of the SDFM module
filterNumberis the filter number.

This function enables the Comparator for the selected filter.

Returns
None.

◆ SDFM_disableComparator()

static void SDFM_disableComparator ( uint32_t  base,
uint32_t  filterNumber 
)
inlinestatic

Disable Comparator.

Parameters
baseis the base address of the SDFM module
filterNumberis the filter number.

This function disables the Comparator for the selected filter.

Returns
None.

◆ SDFM_selectCompEventSource()

static void SDFM_selectCompEventSource ( uint32_t  base,
uint32_t  filterNumber,
uint32_t  compEventNum,
uint32_t  compEventSource 
)
inlinestatic

Selects Comparator Event Source.

Parameters
baseis the base address of the SDFM module
filterNumberis the filter number
compEventNumis the event number
compEventSourceis the event source

This function selects the comparator event source. Valid values for compEventNum are:

  • CSL_SDFM_COMP_EVENT_1 - Selects comparator event 1
  • CSL_SDFM_COMP_EVENT_2 - Selects comparator event 2 Valid values for CSL_SDFM_COMP_EVENT_1 are:
  • CSL_SDFM_COMP_EVENT_SRC_COMPH1 - COMPH1 event is the source for selected event
  • CSL_SDFM_COMP_EVENT_SRC_COMPH1_L1 - Either of COMPH1 or COMPL1 event can be the source for selected event
  • CSL_SDFM_COMP_EVENT_SRC_COMPH2 - COMPH2 event is the source for selected event
  • CSL_SDFM_COMP_EVENT_SRC_COMPH2_L2 - Either of COMPH2 or COMPL2 event can be the source for selected event

Valid values for CSL_SDFM_COMP_EVENT_2 are:

  • CSL_SDFM_COMP_EVENT_SRC_COMPL1 - COMPL1 event is the source for selected event
  • CSL_SDFM_COMP_EVENT_SRC_COMPH1_L1 - Either of COMPH1 or COMPL1 event can be the source for selected event
  • CSL_SDFM_COMP_EVENT_SRC_COMPL2 - COMPL2 event is the source for selected event
  • CSL_SDFM_COMP_EVENT_SRC_COMPH2_L2 - Either of COMPH2 or COMPL2 event can be the source for selected event
Returns
None.

◆ SDFM_setFilterType()

static void SDFM_setFilterType ( uint32_t  base,
uint32_t  filterNumber,
uint32_t  filterType 
)
inlinestatic

Set filter type.

Parameters
baseis the base address of the SDFM module
filterNumberis the filter number.
filterTypeis the filter type or structure.

This function sets the filter type or structure to be used as specified by filterType for the selected filter number as specified by filterNumber.

Returns
None.

◆ SDFM_setFilterOverSamplingRatio()

static void SDFM_setFilterOverSamplingRatio ( uint32_t  base,
uint32_t  filterNumber,
uint16_t  overSamplingRatio 
)
inlinestatic

Set data filter over sampling ratio.

Parameters
baseis the base address of the SDFM module
filterNumberis the filter number.
overSamplingRatiois the data filter over sampling ratio.

This function sets the filter oversampling ratio for the filter specified by the filterNumber variable.Valid values for the variable overSamplingRatio are 0 to 255 inclusive. The actual oversampling ratio will be this value plus one.

Returns
None.

◆ SDFM_setupModulatorClock()

static void SDFM_setupModulatorClock ( uint32_t  base,
uint32_t  filterNumber,
uint32_t  clockMode 
)
inlinestatic

Set modulator clock mode.

Parameters
baseis the base address of the SDFM module
filterNumberis the filter number.
clockModeis the modulator clock mode.

This function sets the modulator clock mode specified by clockMode for the filter specified by filterNumber.

Note
This function also enables the data and clock synchronizers for the specified filter.
Returns
None.

◆ SDFM_setOutputDataFormat()

static void SDFM_setOutputDataFormat ( uint32_t  base,
uint32_t  filterNumber,
uint32_t  dataFormat 
)
inlinestatic

Set the output data format

Parameters
baseis the base address of the SDFM module
filterNumberis the filter number.
dataFormatis the output data format.

This function sets the output data format for the filter specified by filterNumber.

Returns
None.

◆ SDFM_setDataShiftValue()

static void SDFM_setDataShiftValue ( uint32_t  base,
uint32_t  filterNumber,
uint16_t  shiftValue 
)
inlinestatic

Set data shift value.

Parameters
baseis the base address of the SDFM module
filterNumberis the filter number.
shiftValueis the data shift value.

This function sets the shift value for the 16 bit 2's complement data format. The valid maximum value for shiftValue is 31.

Note: Use this function with 16 bit 2's complement data format only.

Returns
None.

◆ SDFM_setCompFilterHighThreshold()

static void SDFM_setCompFilterHighThreshold ( uint32_t  base,
uint32_t  filterNumber,
uint32_t  highThreshold 
)
inlinestatic

Set Filter output high-level threshold.

Parameters
baseis the base address of the SDFM module
filterNumberis the filter number.
highThresholdis the high-level threshold 1 & 2.

This function sets the unsigned high-level threshold value for the Comparator filter output. If the output value of the filter exceeds highThreshold and interrupt generation is enabled, an interrupt will be issued. The param highThreshold takes both high threshold 1 & 2 values. The upper 16-bits represent the high threshold 2 value while lower 16-bits represent the threshold 1 values.

Returns
None.

◆ SDFM_setCompFilterLowThreshold()

static void SDFM_setCompFilterLowThreshold ( uint32_t  base,
uint32_t  filterNumber,
uint32_t  lowThreshold 
)
inlinestatic

Set Filter output low-level threshold.

Parameters
baseis the base address of the SDFM module
filterNumberis the filter number
lowThresholdis the low-level threshold

This function sets the unsigned low-level threshold value 1 or 2 for the Comparator filter output. If the output value of the filter gets below lowThreshold and interrupt generation is enabled, an interrupt will be issued. The param lowThreshold takes both low threshold 1 & 2 values. The upper 16-bits represent the low threshold 2 value while lower 16-bits represent the threshold 1 values.

Returns
None.

◆ SDFM_setCompFilterZeroCrossThreshold()

static void SDFM_setCompFilterZeroCrossThreshold ( uint32_t  base,
uint32_t  filterNumber,
uint16_t  zeroCrossThreshold 
)
inlinestatic

Set Filter output zero-cross threshold.

Parameters
baseis the base address of the SDFM module
filterNumberis the filter number.
zeroCrossThresholdis the zero-cross threshold.

This function sets the unsigned zero-cross threshold value for the Comparator filter output.

Returns
None.

◆ SDFM_enableZeroCrossEdgeDetect()

static void SDFM_enableZeroCrossEdgeDetect ( uint32_t  base,
uint32_t  filterNumber 
)
inlinestatic

Enable zero-cross Edge detect mode.

Parameters
baseis the base address of the SDFM module
filterNumberis the filter number.

This function enables Zero Cross Edge detection.

Returns
None.

◆ SDFM_disableZeroCrossEdgeDetect()

static void SDFM_disableZeroCrossEdgeDetect ( uint32_t  base,
uint32_t  filterNumber 
)
inlinestatic

Disable zero-cross Edge detect mode.

Parameters
baseis the base address of the SDFM module
filterNumberis the filter number.

This function disables Zero Cross Edge detection.

Returns
None.

◆ SDFM_enableInterrupt()

static void SDFM_enableInterrupt ( uint32_t  base,
uint32_t  filterNumber,
uint16_t  intFlags 
)
inlinestatic

Enable SDFM interrupts.

Parameters
baseis the base address of the SDFM module
filterNumberis the filter number.
intFlagsis the interrupt source.

This function enables the low threshold , high threshold or modulator failure interrupt as determined by intFlags for the filter specified by filterNumber. Valid values for intFlags are: CSL_SDFM_MODULATOR_FAILURE_INTERRUPT , CSL_SDFM_LOW_LEVEL_THRESHOLD_INTERRUPT, CSL_SDFM_HIGH_LEVEL_THRESHOLD_INTERRUPT, CSL_SDFM_FIFO_INTERRUPT, CSL_SDFM_FIFO_OVERFLOW_INTERRUPT,SDFM_DATA_FILTER_ACKNOWLEDGE_INTERRUPT

Returns
None.

◆ SDFM_disableInterrupt()

static void SDFM_disableInterrupt ( uint32_t  base,
uint32_t  filterNumber,
uint16_t  intFlags 
)
inlinestatic

Disable SDFM interrupts.

Parameters
baseis the base address of the SDFM module
filterNumberis the filter number.
intFlagsis the interrupt source.

This function disables the low threshold , high threshold or modulator failure interrupt as determined by intFlags for the filter specified by filterNumber. Valid values for intFlags are: SDFM_MODULATOR_FAILURE_INTERRUPT , SDFM_LOW_LEVEL_THRESHOLD_INTERRUPT, SDFM_HIGH_LEVEL_THRESHOLD_INTERRUPT, SDFM_FIFO_INTERRUPT, SDFM_FIFO_OVERFLOW_INTERRUPT,SDFM_DATA_FILTER_ACKNOWLEDGE_INTERRUPT

Returns
None.

◆ SDFM_setComparatorFilterType()

static void SDFM_setComparatorFilterType ( uint32_t  base,
uint32_t  filterNumber,
uint32_t  filterType 
)
inlinestatic

Set the comparator filter type.

Parameters
baseis the base address of the SDFM module
filterNumberis the filter number.
filterTypeis the comparator filter type or structure.

This function sets the Comparator filter type or structure to be used as specified by filterType for the selected filter number as specified by filterNumber.

Returns
None.

◆ SDFM_setCompFilterOverSamplingRatio()

static void SDFM_setCompFilterOverSamplingRatio ( uint32_t  base,
uint32_t  filterNumber,
uint16_t  overSamplingRatio 
)
inlinestatic

Set Comparator filter over sampling ratio.

Parameters
baseis the base address of the SDFM module
filterNumberis the filter number.
overSamplingRatiois the comparator filter over sampling ration.

This function sets the comparator filter oversampling ratio for the filter specified by the filterNumber.Valid values for the variable overSamplingRatio are 0 to 31 inclusive. The actual oversampling ratio will be this value plus one.

Returns
None.

◆ SDFM_getFilterData()

static uint32_t SDFM_getFilterData ( uint32_t  base,
uint32_t  filterNumber 
)
inlinestatic

Get the filter data output.

Parameters
baseis the base address of the SDFM module
filterNumberis the filter number.

This function returns the latest data filter output. Depending on the filter data output format selected, the valid value will be the lower 16 bits or the whole 32 bits of the returned value.

Returns
Returns the latest data filter output.

◆ SDFM_getThresholdStatus()

static uint32_t SDFM_getThresholdStatus ( uint32_t  base,
uint32_t  filterNumber 
)
inlinestatic

Get the Comparator threshold status.

Parameters
baseis the base address of the SDFM module
filterNumberis the filter number.

This function returns the Comparator output threshold status for the given filterNumber.

Returns
Returns the following status flags.
  • CSL_SDFM_OUTPUT_WITHIN_THRESHOLD if the output is within the specified threshold.
  • CSL_SDFM_OUTPUT_ABOVE_THRESHOLD if the output is above the high threshold
  • CSL_SDFM_OUTPUT_BELOW_THRESHOLD if the output is below the low threshold.

◆ SDFM_getModulatorStatus()

static bool SDFM_getModulatorStatus ( uint32_t  base,
uint32_t  filterNumber 
)
inlinestatic

Get the Modulator status.

Parameters
baseis the base address of the SDFM module
filterNumberis the filter number.

This function returns the Modulator status.

Returns
Returns true if the Modulator is operating normally Returns false if the Modulator has failed

◆ SDFM_getNewFilterDataStatus()

static bool SDFM_getNewFilterDataStatus ( uint32_t  base,
uint32_t  filterNumber 
)
inlinestatic

Check if new Filter data is available.

Parameters
baseis the base address of the SDFM module
filterNumberis the filter number.

This function returns new filter data status.

Returns
Returns true if new filter data is available Returns false if no new filter data is available

◆ SDFM_getFIFOOverflowStatus()

static bool SDFM_getFIFOOverflowStatus ( uint32_t  base,
uint32_t  filterNumber 
)
inlinestatic

Check if FIFO buffer is overflowed.

Parameters
baseis the base address of the SDFM module
filterNumberis the filter number.

This function returns the status of the FIFO buffer overflow for the given filter value.

Returns
Returns true if FIFO buffer is overflowed Returns false if FIFO buffer is not overflowed

◆ SDFM_getFIFOISRStatus()

static bool SDFM_getFIFOISRStatus ( uint32_t  base,
uint32_t  filterNumber 
)
inlinestatic

Check FIFO buffer interrupt status.

Parameters
baseis the base address of the SDFM module
filterNumberis the filter number.

This function returns the status of the FIFO buffer interrupt for the given filter.

Returns
Returns true if FIFO buffer interrupt has occurred. Returns false if FIFO buffer interrupt has not occurred.

◆ SDFM_getIsrStatus()

static bool SDFM_getIsrStatus ( uint32_t  base)
inlinestatic

Get pending interrupt.

Parameters
baseis the base address of the SDFM module

This function returns any pending interrupt status.

Returns
Returns true if there is a pending interrupt. Returns false if no interrupt is pending.

◆ SDFM_clearInterruptFlag()

static void SDFM_clearInterruptFlag ( uint32_t  base,
uint32_t  flag 
)
inlinestatic

Clear pending flags.

Parameters
baseis the base address of the SDFM module
flagis the SDFM status

This function clears the specified pending interrupt flag. Valid values are CSL_SDFM_MASTER_INTERRUPT_FLAG,SDFM_FILTER_1_NEW_DATA_FLAG, CSL_SDFM_FILTER_2_NEW_DATA_FLAG,SDFM_FILTER_3_NEW_DATA_FLAG, CSL_SDFM_FILTER_4_NEW_DATA_FLAG,SDFM_FILTER_1_MOD_FAILED_FLAG, CSL_SDFM_FILTER_2_MOD_FAILED_FLAG,SDFM_FILTER_3_MOD_FAILED_FLAG, CSL_SDFM_FILTER_4_MOD_FAILED_FLAG,SDFM_FILTER_1_HIGH_THRESHOLD_FLAG, CSL_SDFM_FILTER_1_LOW_THRESHOLD_FLAG,SDFM_FILTER_2_HIGH_THRESHOLD_FLAG, CSL_SDFM_FILTER_2_LOW_THRESHOLD_FLAG,SDFM_FILTER_3_HIGH_THRESHOLD_FLAG, CSL_SDFM_FILTER_3_LOW_THRESHOLD_FLAG,SDFM_FILTER_4_HIGH_THRESHOLD_FLAG, CSL_SDFM_FILTER_4_LOW_THRESHOLD_FLAG,SDFM_FILTER_1_FIFO_OVERFLOW_FLAG, CSL_SDFM_FILTER_2_FIFO_OVERFLOW_FLAG,SDFM_FILTER_3_FIFO_OVERFLOW_FLAG CSL_SDFM_FILTER_4_FIFO_OVERFLOW_FLAG,SDFM_FILTER_1_FIFO_INTERRUPT_FLAG, CSL_SDFM_FILTER_2_FIFO_INTERRUPT_FLAG,SDFM_FILTER_3_FIFO_INTERRUPT_FLAG CSL_SDFM_FILTER_4_FIFO_INTERRUPT_FLAG or any combination of the above flags.

Returns
None

◆ SDFM_enableMasterInterrupt()

static void SDFM_enableMasterInterrupt ( uint32_t  base)
inlinestatic

Enable master interrupt.

Parameters
baseis the base address of the SDFM module

This function enables the master SDFM interrupt.

Returns
None

◆ SDFM_disableMasterInterrupt()

static void SDFM_disableMasterInterrupt ( uint32_t  base)
inlinestatic

Disable master interrupt.

Parameters
baseis the base address of the SDFM module

This function disables the master SDFM interrupt.

Returns
None

◆ SDFM_enableMasterFilter()

static void SDFM_enableMasterFilter ( uint32_t  base)
inlinestatic

Enable master filter.

Parameters
baseis the base address of the SDFM module

This function enables master filter.

Returns
None

◆ SDFM_disableMasterFilter()

static void SDFM_disableMasterFilter ( uint32_t  base)
inlinestatic

Disable master filter.

Parameters
baseis the base address of the SDFM module

This function disables master filter.

Returns
None

◆ SDFM_getFIFODataCount()

static uint16_t SDFM_getFIFODataCount ( uint32_t  base,
uint32_t  filterNumber 
)
inlinestatic

Return the FIFO data count

Parameters
baseis the base address of the SDFM module
filterNumberis the filter number.

This function returns the FIFO data count.

Returns
Returns the number of data words available in FIFO buffer.

◆ SDFM_getComparatorSincData()

static uint16_t SDFM_getComparatorSincData ( uint32_t  base,
uint32_t  filterNumber 
)
inlinestatic

Return the Comparator sinc filter data

Parameters
baseis the base address of the SDFM module
filterNumberis the filter number.

This function returns the Comparator sinc filter data output.

Returns
Returns the Comparator sinc filter data output.

◆ SDFM_getFIFOData()

static uint32_t SDFM_getFIFOData ( uint32_t  base,
uint32_t  filterNumber 
)
inlinestatic

Return the FIFO data

Parameters
baseis the base address of the SDFM module
filterNumberis the filter number.

This function returns the latest FIFO data.

Returns
Returns the latest FIFO data.
Note
Discard the upper 16 bits if the output data format is 16bits.

◆ SDFM_setFIFOInterruptLevel()

static void SDFM_setFIFOInterruptLevel ( uint32_t  base,
uint32_t  filterNumber,
uint16_t  fifoLevel 
)
inlinestatic

Set the FIFO interrupt level.

Parameters
baseis the base address of the SDFM module
filterNumberis the filter number.
fifoLevelis the FIFO interrupt level.

This function sets the FIFO interrupt level. Interrupt is generated when the FIFO buffer word count gets to or exceeds the value of fifoLevel. Maximum value for fifoLevel is 16.

Returns
None.

◆ SDFM_setDataReadyInterruptSource()

static void SDFM_setDataReadyInterruptSource ( uint32_t  base,
uint32_t  filterNumber,
uint32_t  dataReadySource 
)
inlinestatic

Set data ready interrupt source.

Parameters
baseis the base address of the SDFM module
filterNumberis the filter number.
dataReadySourceis the data ready interrupt source.

This function sets the data ready interrupt source. Valid values for dataReadySource:

  • CSL_SDFM_DATA_READY_SOURCE_DIRECT - Direct data ready
  • CSL_SDFM_DATA_READY_SOURCE_FIFO - FIFO data ready.
Returns
None.

◆ SDFM_getWaitForSyncStatus()

static bool SDFM_getWaitForSyncStatus ( uint32_t  base,
uint32_t  filterNumber 
)
inlinestatic

Get the wait-for-sync event status.

Parameters
baseis the base address of the SDFM module
filterNumberis the filter number.

This function returns the Wait-for-Sync event status.

Returns
Returns true if sync event has occurred. Returns false if sync event has not occurred.

◆ SDFM_clearWaitForSyncFlag()

static void SDFM_clearWaitForSyncFlag ( uint32_t  base,
uint32_t  filterNumber 
)
inlinestatic

Clear the Wait-for-sync event status.

Parameters
baseis the base address of the SDFM module
filterNumberis the filter number.

This function clears the Wait-for-sync event status.

Returns
None.

◆ SDFM_enableWaitForSync()

static void SDFM_enableWaitForSync ( uint32_t  base,
uint32_t  filterNumber 
)
inlinestatic

Enable wait for sync mode.

Parameters
baseis the base address of the SDFM module
filterNumberis the filter number.

This function enables the wait for sync mode. Data to FIFO will be written only after PWM sync event.

Returns
None.

◆ SDFM_disableWaitForSync()

static void SDFM_disableWaitForSync ( uint32_t  base,
uint32_t  filterNumber 
)
inlinestatic

Disable wait for sync mode.

Parameters
baseis the base address of the SDFM module
filterNumberis the filter number.

This function disables the wait for sync mode. Data to FIFO will be written every Data ready event.

Returns
None.

◆ SDFM_setPWMSyncSource()

static void SDFM_setPWMSyncSource ( uint32_t  base,
uint32_t  filterNumber,
uint32_t  syncSource 
)
inlinestatic

Set the PWM sync mode.

Parameters
baseis the base address of the SDFM module
filterNumberis the filter number.
syncSourceis the PWM sync source.

This function sets the PWM sync source for the specific SDFM filter. Valid values for syncSource are CSL_SDFM_SYNC_PWMx_CMPy. Where x ranges from 1 to 8 Representing PWM1 to PWM8 respectively and y ranges from A to D representing PWM comparators A to D.

Returns
None.

◆ SDFM_setFIFOClearOnSyncMode()

static void SDFM_setFIFOClearOnSyncMode ( uint32_t  base,
uint32_t  filterNumber,
uint32_t  fifoClearSyncMode 
)
inlinestatic

Set FIFO clear on sync mode.

Parameters
baseis the base address of the SDFM module
filterNumberis the filter number.
fifoClearSyncModeis the FIFO clear on sync mode.

This function sets the FIFO clear mode for the specified filter when a sync happens depending on the value of fifoClearSyncMode. Valid values for fifoClearSyncMode are:

  • CSL_SDFM_FIFO_NOT_CLEARED_ON_SYNC - FIFO is not cleared on sync.
  • CSL_SDFM_FIFO_CLEARED_ON_SYNC - FIFO is cleared on sync.
Returns
None.

◆ SDFM_setWaitForSyncClearMode()

static void SDFM_setWaitForSyncClearMode ( uint32_t  base,
uint32_t  filterNumber,
uint32_t  syncClearMode 
)
inlinestatic

Set Wait-for-sync clear mode.

Parameters
baseis the base address of the SDFM module
filterNumberis the filter number.
syncClearModeis the wait-for-sync clear mode.

This function sets the Wait-For-sync clear mode depending on the value of syncClearMode. Valid values for syncClearMode are:

  • CSL_SDFM_MANUAL_CLEAR_WAIT_FOR_SYNC - Wait-for-sync flag is cleared by invoking SDFM_clearWaitForSyncFlag().
  • CSL_SDFM_AUTO_CLEAR_WAIT_FOR_SYNC - Wait-for-sync flag is cleared automatically on FIFO interrupt.
Returns
None.

◆ SDFM_selectClockSource()

static void SDFM_selectClockSource ( uint32_t  base,
uint32_t  filterNumber,
uint32_t  clkSource 
)
inlinestatic

Selects clock source for SDFM channels.

Parameters
baseis the base address of the SDFM module
filterNumberis the filter number.
clkSourceis the clock source

This function selects the clock for SDFM module filter channels. Valid values for clkSource are:

  • CSL_SDFM_CLK_SOURCE_CHANNEL_CLK - Respective channel's clk is the source
  • CSL_SDFM_CLK_SOURCE_SD1_CLK - Filter 1 clock is the source
Returns
None.

◆ SDFM_enableSynchronizer()

static void SDFM_enableSynchronizer ( uint32_t  base,
uint32_t  filterNumber,
uint16_t  syncConfig 
)
inlinestatic

Enables Input Synchronizer.

Parameters
baseis the base address of the SDFM module
filterNumberis the filter number.
syncConfigdefines which synchronizer to be enabled

This function enables either data or clock or both synchronizer. Valid values for syncConfig can be the logical OR of any of the values:

  • CSL_SDFM_CLOCK_SYNCHRONIZER - Enable SDFM input clock synchronizer
  • CSL_SDFM_DATA_SYNCHRONIZER - Enable SDFM input data synchronizer
Returns
None.

◆ SDFM_disableSynchronizer()

static void SDFM_disableSynchronizer ( uint32_t  base,
uint32_t  filterNumber,
uint16_t  syncConfig 
)
inlinestatic

Disables Input Synchronizer.

Parameters
baseis the base address of the SDFM module
filterNumberis the filter number.
syncConfigdefines which synchronizer to be disabled

This function disables either data or clock or both synchronizer. Valid values for syncConfig can be the logical OR of any of the values:

  • CSL_SDFM_CLOCK_SYNCHRONIZER - Disable SDFM input clock synchronizer
  • CSL_SDFM_DATA_SYNCHRONIZER - Disable SDFM input data synchronizer
Returns
None.

◆ SDFM_selectCompEventHighSource()

static void SDFM_selectCompEventHighSource ( uint32_t  base,
uint32_t  filterNumber,
uint32_t  source 
)
inlinestatic

Selects comparator event high source.

Parameters
baseis the base address of the SDFM module
filterNumberis the filter number.
sourceis the comparator event high source

This function selects the source for comparator event high. Valid values for source are:

  • CSL_SDFM_COMPHOUT_SOURCE_COMPHIN - Original COMPHIN/CEVT1 signal is source
  • CSL_SDFM_COMPHOUT_SOURCE_FILTER - Filtered COMPHIN/CEVT1 signal is source
Returns
None.

◆ SDFM_selectCompEventLowSource()

static void SDFM_selectCompEventLowSource ( uint32_t  base,
uint32_t  filterNumber,
uint32_t  source 
)
inlinestatic

Selects comparator event low source.

Parameters
baseis the base address of the SDFM module
filterNumberis the filter number.
sourceis the comparator event low source

This function selects the source for comparator event low. Valid values for source are:

  • CSL_SDFM_COMPLOUT_SOURCE_COMPLIN - Original COMPLIN/CEVT2 signal is source
  • CSL_SDFM_COMPHOUT_SOURCE_FILTER - Filtered COMPLIN/CEVT2 signal is source
Returns
None.

◆ SDFM_initCompEventLowFilter()

static void SDFM_initCompEventLowFilter ( uint32_t  base,
uint32_t  filterNumber 
)
inlinestatic

Initializes Comparator Event Low Filter.

Parameters
baseis the base address of the SDFM module
filterNumberis the filter number.

This function initializes Comparator Event Low Filter.

Returns
None.

◆ SDFM_initCompEventHighFilter()

static void SDFM_initCompEventHighFilter ( uint32_t  base,
uint32_t  filterNumber 
)
inlinestatic

Initializes Comparator Event High Filter.

Parameters
baseis the base address of the SDFM module
filterNumberis the filter number.

This function initializes Comparator Event High Filter.

Returns
None.

◆ SDFM_lockCompEventFilterConfig()

static void SDFM_lockCompEventFilterConfig ( uint32_t  base,
uint32_t  filterNumber,
uint16_t  lockConfig 
)
inlinestatic

Lock Comparator Event Filter Configurations

Parameters
baseis the base address of the SDFM module
filterNumberis the filter number.
lockConfigdefines the configurations to be locked

This function locks the comparator event filter configurations. Valid values of the lockConfig can be logical OR of any of the following values:

  • CSL_SDFM_SDCOMPLOCK_SDCOMPCTL - Locks write access to SDCOMPCTL register
  • CSL_SDFM_SDCOMPLOCK_COMP - Locks write access to SDCOMPxFILCTL & SDCOMPxFILCLKCTL register
Returns
None.

◆ SDFM_configComparator()

void SDFM_configComparator ( uint32_t  base,
uint16_t  config1,
uint32_t  config2,
uint16_t  config3 
)

Configures SDFM comparator for filter config & threshold values

Parameters
baseis the base address of the SDFM module
config1is the filter number, filter type and over sampling ratio.
config2is high-level and low-level threshold 1 values.
config3is the zero-cross threshold value.

This function configures the comparator filter for filter config and threshold values based on provided inputs.

The config1 parameter is the logical OR of the filter number, filter type and oversampling ratio. The bit definitions for config1 are as follow:

  • config1.[3:0] filter number
  • config1.[7:4] filter type
  • config1.[15:8] Over sampling Ratio Valid values for filter number and filter type are defined in CSL_uint32_t and CSL_uint32_t enumerations respectively. CSL_SDFM_SET_OSR(X) macro can be used to set the value of the oversampling ratio ,which ranges [1,32] inclusive, in the appropriate bit location. For example the value (SDFM_FILTER_1 | CSL_SDFM_FILTER_SINC_2 | CSL_SDFM_SET_OSR(16)) will select Filter 1, SINC 2 type with an oversampling ratio of 16.

The config2 parameter is the logical OR of the filter high and low threshold 1 values. The bit definitions for config2 are as follow:

  • config2.[15:0] low threshold 1
  • config2.[31:16] high threshold 1 The upper 16 bits define the high threshold 1 and the lower 16 bits define the low threshold 1. CSL_SDFM_THRESHOLD(H,L) can be used to combine the high and low thresholds. The config3 parameter is the logical OR of the zero cross threshold enable flag and the zero-cross threshold value. The bit definitions for config3 are as follow:
  • config3.[15] - Enable or disable zero cross threshold. Valid values are 1 or 0 to enable or disable the zero cross threshold respectively. -config3.[14:0] - Zero Cross Threshold value. The CSL_SDFM_SET_ZERO_CROSS_THRESH_VALUE(X) macro can be used to specify the zero-cross threshold value and OR the 1 to enable it.
Returns
None.

◆ SDFM_configEnhancedComparator()

void SDFM_configEnhancedComparator ( uint32_t  base,
uint16_t  filterConfig,
uint32_t  highLowThreshold1,
uint32_t  highLowThreshold2,
uint16_t  zeroCrossThreshold 
)

Configure SDFM enhanced comparator for filter config & threshold values

Parameters
baseis the base address of the SDFM module
filterConfigis the filter number, filter type & over sampling ratio.
highLowThreshold1is high-level and low-level threshold 1 values.
highLowThreshold2is high-level and low-level threshold 2 values.
zeroCrossThresholdis the zero-cross threshold value.

This function configures the comparator filter for filter config and threshold values based on input parameters.

The filterConfig parameter is the logical OR of the filter number, filter type and oversampling ratio. The bit definitions for filterConfig are as follow:

  • filterConfig.[3:0] filter number
  • filterConfig.[7:4] filter type
  • filterConfig.[15:8] Over sampling Ratio Valid values for filter number and filter type are defined in CSL_uint32_t and CSL_uint32_t enumerations respectively. CSL_SDFM_SET_OSR(X) macro can be used to set the value of the oversampling ratio ,which ranges [1,32] inclusive, in the appropriate bit location. For example the value (SDFM_FILTER_1 | CSL_SDFM_FILTER_SINC_2 | CSL_SDFM_SET_OSR(16)) will select Filter 1, SINC 2 type with an oversampling ratio of 16.

The highLowThreshold1 parameter is the logical OR of the filter high & low threshold 1 values. The bit definitions for highLowThreshold1 are as follow:

  • highLowThreshold1.[15:0] low threshold 1
  • highLowThreshold1.[31:16] high threshold 1 The upper 16 bits define the high threshold and the lower 16 bits define the low threshold. CSL_SDFM_THRESHOLD(H,L) can be used to combine the high and low thresholds.

The highLowThreshold2 parameter is the logical OR of the filter high & low threshold 2 values. The bit definitions for highLowThreshold2 are as follow:

  • highLowThreshold2.[15:0] low threshold 2
  • highLowThreshold2.[31:16] high threshold 2 The upper 16 bits define the high threshold and the lower 16 bits define the low threshold. CSL_SDFM_THRESHOLD(H,L) can be used to combine the high & low thresholds.

The zeroCrossThreshold parameter is the logical OR of the zero cross threshold enable flag and the zero-cross threshold value. The bit definitions for zeroCrossThreshold are as follows:

  • zeroCrossThreshold.[15] - Enable or disable zero cross threshold. Valid values are 1 or 0 to enable or disable the zero cross threshold respectively.
  • zeroCrossThreshold.[14:0] - Zero Cross Threshold value. The CSL_SDFM_SET_ZERO_CROSS_THRESH_VALUE(X) macro can be used as parameter zeroCrossThreshold to enable & specify the zero-cross threshold value.
Returns
None.

◆ SDFM_configDataFilter()

void SDFM_configDataFilter ( uint32_t  base,
uint16_t  config1,
uint16_t  config2 
)

Configure SDFM data filter

Parameters
baseis the base address of the SDFM module
config1is the filter number, filter type and over sampling ratio configuration.
config2is filter switch, data representation and data shift values configuration.

This function configures the data filter based on configurations config1 and config2.

The config1 parameter is the logical OR of the filter number, filter type and oversampling ratio. The bit definitions for config1 are as follow:

  • config1.[3:0] Filter number
  • config1.[7:4] Filter type
  • config1.[15:8] Over sampling Ratio Valid values for filter number and filter type are defined in CSL_uint32_t and CSL_uint32_t enumerations respectively. CSL_SDFM_SET_OSR(X) macro can be used to set the value of the oversampling ratio , which ranges [1,256] inclusive , in the appropriate bit location for config1. For example the value (SDFM_FILTER_2 | CSL_SDFM_FILTER_SINC_3 | CSL_SDFM_SET_OSR(64)) will select Filter 2 , SINC 3 type with an oversampling ratio of 64.

The config2 parameter is the logical OR of data representation, filter switch, and data shift values The bit definitions for config2 are as follow:

  • config2.[0] Data representation
  • config2.[1] Filter switch
  • config2.[15:2] Shift values Valid values for data representation are given in CSL_uint32_t enumeration. CSL_SDFM_FILTER_DISABLE or CSL_SDFM_FILTER_ENABLE will define the filter switch values.SDFM_SHIFT_VALUE(X) macro can be used to set the value of the data shift value,which ranges [0,31] inclusive, in the appropriate bit location for config2. The shift value is valid only in CSL_SDFM_DATA_FORMAT_16_BIT data representation format.
Returns
None.

◆ SDFM_configZeroCrossComparator()

void SDFM_configZeroCrossComparator ( uint32_t  base,
uint16_t  config1,
uint16_t  config2 
)

Configure SDFM comparator Zero Cross threshold

Parameters
baseis the base address of the SDFM module
config1is the filter number, filter type and over sampling ratio.
config2is the zero cross threshold value.

This function configures the comparator filter zero cross threshold values based on configurations config1 and config2.

The config1 parameter is the logical OR of the filter number, filter type and oversampling ratio. The bit definitions for config1 are as follow:

  • config1.[3:0] filter number
  • config1.[7:4] filter type
  • config1.[15:8] Over sampling Ratio Valid values for filter number and filter type are defined in CSL_uint32_t and CSL_uint32_t enumerations respectively. CSL_SDFM_SET_OSR(X) macro can be used to set the value of the oversampling ratio ,which ranges [1,32] inclusive, in the appropriate bit location. For example the value (SDFM_FILTER_1 | CSL_SDFM_FILTER_SINC_2 | CSL_SDFM_SET_OSR(16)) will select Filter 1 , SINC 2 type with an oversampling ratio of 16.

The config2 parameter is the value of the zero cross threshold. The maximum acceptable value is 32767.

Returns
None.

◆ SDFM_configDataFilterFIFO()

void SDFM_configDataFilterFIFO ( uint32_t  base,
uint16_t  config1,
uint16_t  config2 
)

Configure SDFM data filter FIFO

Parameters
baseis the base address of the SDFM module
config1is the filter number, filter type and over sampling ratio configuration.
config2is filter switch, data representation and data shift values and FIFO level configuration.

This function enables and configures the data filter FIFO based on configurations config1 and config2.

The config1 parameter is the logical OR of the filter number, filter type and oversampling ratio. The bit definitions for config1 are as follow:

  • config1.[3:0] filter number
  • config1.[7:4] filter type
  • config1.[15:8] Over sampling Ratio Valid values for filter number and filter type are defined in CSL_uint32_t and CSL_uint32_t enumerations respectively. CSL_SDFM_SET_OSR(X) macro can be used to set the value of the oversampling ratio , which ranges [1,256] inclusive , in the appropriate bit location for config1. For example the value (SDFM_FILTER_2 | CSL_SDFM_FILTER_SINC_3 | CSL_SDFM_SET_OSR(64)) will select Filter 2 , SINC 3 type with an oversampling ratio of 64.

The config2 parameter is the logical OR of data representation, filter switch, data shift value, and FIFO level The bit definitions for config2 are as follow:

  • config2.[0] Data representation
  • config2.[1] filter switch.
  • config2.[6:2] shift values.
  • config2.[15:7] FIFO level Valid values for data representation are given in CSL_uint32_t enumeration. CSL_SDFM_FILTER_DISABLE or CSL_SDFM_FILTER_ENABLE will define the filter switch values.SDFM_SHIFT_VALUE(X) macro can be used to set the value of the data shift value,which ranges [0,31] inclusive, in the appropriate bit location for config2. The value of FIFO level ranges [1,16] inclusive. The macro CSL_SDFM_SET_FIFO_LEVEL(X) can be used to set the value of the FIFO level.
Returns
None.

◆ SDFM_configCompEventLowFilter()

void SDFM_configCompEventLowFilter ( uint32_t  base,
uint32_t  filterNumber,
const SDFM_CompEventFilterConfig config 
)

Configure Comparator Event Low Filter

Parameters
baseis the base address of the SDFM module
filterNumberis the filter number.
configis the comparator event low source

This function configures the sample window, threshold and clock prescale configurations for the comparator event low filter.

Returns
None.

◆ SDFM_configCompEventHighFilter()

void SDFM_configCompEventHighFilter ( uint32_t  base,
uint32_t  filterNumber,
const SDFM_CompEventFilterConfig config 
)

Configure Comparator Event High Filter

Parameters
baseis the base address of the SDFM module.
filterNumberis the filter number.
configis the comparator event high source

This function configures the sample window, threshold and clock prescale configurations for the comparator event high filter.

Returns
None.
SDFM_GET_HIGH_THRESHOLD
#define SDFM_GET_HIGH_THRESHOLD(C)
Macro to get the high threshold.
Definition: sdfm/v0/sdfm.h:79
SDFM_GET_LOW_THRESHOLD
#define SDFM_GET_LOW_THRESHOLD(C)
Header Files.
Definition: sdfm/v0/sdfm.h:76