![Logo](ti_logo.svg) |
xWRL6432 MMWAVE-L-SDK
05.05.00.00
|
|
Go to the documentation of this file.
77 #include <drivers/hw_include/csl_complex_math_types.h>
79 #include <kernel/nortos/dpl/m4/HwiP_armv7m.h>
80 #include <drivers/hw_include/cslr_hwa.h>
90 #define HWA_RAM_WINDOW_SIZE_IN_BYTES (1024U*4U)
93 #define HWADRV_ADDR_TRANSLATE_CPU_TO_HWA(x) (uint32_t)((uint32_t)(x) & 0x000FFFFFU)
102 #define HWA_ERRNO_BASE (-2800)
104 #define HWA_EINVAL (HWA_ERRNO_BASE-1)
106 #define HWA_ENOINIT (HWA_ERRNO_BASE-2)
108 #define HWA_EOUTOFRANGE (HWA_ERRNO_BASE-3)
110 #define HWA_EOUTOFMEM (HWA_ERRNO_BASE-4)
112 #define HWA_ENOTSUPP (HWA_ERRNO_BASE-5)
114 #define HWA_EINUSE (HWA_ERRNO_BASE-6)
116 #define HWA_ENOTALIGNED (HWA_ERRNO_BASE-7)
118 #define HWA_EINVAL_COMMON_REGISTER_PARAMSET (HWA_ERRNO_BASE-8)
120 #define HWA_EINVAL_COMMON_REGISTER_PARAMSET_ALT (HWA_ERRNO_BASE-9)
122 #define HWA_EINVAL_COMMON_REGISTER_FFTCONFIG (HWA_ERRNO_BASE-10)
124 #define HWA_EINVAL_COMMON_REGISTER_DCEST (HWA_ERRNO_BASE-11)
126 #define HWA_EINVAL_COMMON_REGISTER_CFAR (HWA_ERRNO_BASE-12)
128 #define HWA_EINVAL_COMMON_REGISTER_INTERFERENCE (HWA_ERRNO_BASE-13)
130 #define HWA_EINVAL_COMMON_REGISTER_COMPLEXMULT (HWA_ERRNO_BASE-14)
132 #define HWA_EINVAL_COMMON_REGISTER_CHANCOMB (HWA_ERRNO_BASE-15)
134 #define HWA_EINVAL_COMMON_REGISTER_ZEROINSERT (HWA_ERRNO_BASE-16)
136 #define HWA_EINVAL_COMMON_REGISTER_ADVSTAT (HWA_ERRNO_BASE-17)
138 #define HWA_EINVAL_COMMON_REGISTER_COMPRESS (HWA_ERRNO_BASE-18)
140 #define HWA_EINVAL_COMMON_REGISTER_LOCALMAXIMUM (HWA_ERRNO_BASE-19)
142 #define HWA_EINVAL_PARAMSET_GENERALCONFIG (HWA_ERRNO_BASE - 20)
144 #define HWA_EINVAL_PARAMSET_SOURCE (HWA_ERRNO_BASE - 21)
146 #define HWA_EINVAL_PARAMSET_DEST (HWA_ERRNO_BASE - 22)
148 #define HWA_EINVAL_PARAMSET_SRCDST_ADDRESS (HWA_ERRNO_BASE - 23)
150 #define HWA_EINVAL_PARAMSET_FFTMODE_GENERALCONFIG (HWA_ERRNO_BASE - 24)
152 #define HWA_EINVAL_PARAMSET_FFTMODE_SIZE (HWA_ERRNO_BASE - 25)
154 #define HWA_EINVAL_PARAMSET_FFTMODE_POSTPROC (HWA_ERRNO_BASE - 26)
156 #define HWA_EINVAL_PARAMSET_FFTMODE_PREPROC (HWA_ERRNO_BASE - 27)
158 #define HWA_EINVAL_PARAMSET_FFTMODE_PREPROC_INTERF (HWA_ERRNO_BASE - 28)
160 #define HWA_EINVAL_PARAMSET_FFTMODE_PREPROC_COMPLEXMULT (HWA_ERRNO_BASE - 29)
162 #define HWA_EINVAL_PARAMSET_CFARMODE_GENERALCONFIG (HWA_ERRNO_BASE - 30)
164 #define HWA_EINVAL_PARAMSET_CFARMODE_OSCONFIG (HWA_ERRNO_BASE - 31)
166 #define HWA_EINVAL_PARAMSET_CFARMODE_CACONFIG (HWA_ERRNO_BASE - 32)
168 #define HWA_EINVAL_PARAMSET_COMPRESSMODE (HWA_ERRNO_BASE - 33)
170 #define HWA_EINVAL_PARAMSET_LOCALMAXMODE (HWA_ERRNO_BASE - 34)
172 #define HWA_PARAMSET_POLLINGNOTALLOWED (HWA_ERRNO_BASE - 35)
176 #define HWA_NUM_RXCHANNELS (12U)
178 #define HWA_NUM_INTERFMITG_WINARRAY (5U)
180 #define HWA_BPMPATTERN_LENGTH_INWORDS (8U)
182 #define HWA_CHANCOMB_LENGTH_INWORDS (8U)
184 #define HWA_ZEROINSERT_LENGTH_INWORDS (8U)
186 #define HWA_NUM_RAMS (3U)
188 #define HWA_MAXNUM_LOOPS (4095U)
190 #define HWA_CMP_K_ARR_LEN (8)
205 #define HWA_DONE_INTERRUPT_PRIORITY (HwiP_MAX_PRIORITY - 1U)
207 #define HWA_PARAMSETDONE_INTERRUPT1_PRIORITY (HwiP_MAX_PRIORITY - 1U)
209 #define HWA_PARAMSETDONE_INTERRUPT2_PRIORITY (HwiP_MAX_PRIORITY - 1U)
217 #define HWA_FEATURE_BIT_ENABLE ((uint8_t)1U)
218 #define HWA_FEATURE_BIT_DISABLE ((uint8_t)0U)
226 #define HWA_SAMPLES_WIDTH_16BIT ((uint8_t)0U)
227 #define HWA_SAMPLES_WIDTH_32BIT ((uint8_t)1U)
235 #define HWA_SAMPLES_FORMAT_COMPLEX ((uint8_t)0U)
236 #define HWA_SAMPLES_FORMAT_REAL ((uint8_t)1U)
244 #define HWA_SAMPLES_UNSIGNED ((uint8_t)0U)
245 #define HWA_SAMPLES_SIGNED ((uint8_t)1U)
253 #define HWA_FFT_WINDOW_NONSYMMETRIC ((uint8_t)0U)
254 #define HWA_FFT_WINDOW_SYMMETRIC ((uint8_t)1U)
266 #define HWA_FFT_WINDOW_INTERPOLATE_MODE_NONE ((uint8_t)0U)
267 #define HWA_FFT_WINDOW_INTERPOLATE_MODE_4K ((uint8_t)1U)
268 #define HWA_FFT_WINDOW_INTERPOLATE_MODE_2K ((uint8_t)2U)
276 #define HWA_FFT_MODE_MAGNITUDE_LOG2_DISABLED ((uint8_t)0U)
277 #define HWA_FFT_MODE_MAGNITUDE_ONLY_ENABLED ((uint8_t)2U)
278 #define HWA_FFT_MODE_MAGNITUDE_LOG2_ENABLED ((uint8_t)3U)
286 #define HWA_FFT_MODE_OUTPUT_DEFAULT ((uint8_t)0U)
287 #define HWA_FFT_MODE_OUTPUT_MAX_STATS ((uint8_t)2U)
288 #define HWA_FFT_MODE_OUTPUT_SUM_STATS ((uint8_t)3U)
296 #define HWA_NOISE_AVG_MODE_CFAR_CA ((uint8_t)0U)
297 #define HWA_NOISE_AVG_MODE_CFAR_CAGO ((uint8_t)1U)
298 #define HWA_NOISE_AVG_MODE_CFAR_CASO ((uint8_t)2U)
299 #define HWA_NOISE_AVG_MODE_CFAR_OS ((uint8_t)3U)
307 #define HWA_TRIG_MODE_IMMEDIATE ((uint8_t)0U)
308 #define HWA_TRIG_MODE_SOFTWARE ((uint8_t)1U)
309 #define HWA_TRIG_MODE_RESERVED1 ((uint8_t)2U)
310 #define HWA_TRIG_MODE_DMA ((uint8_t)3U)
311 #define HWA_TRIG_MODE_HARDWARE ((uint8_t)4U)
312 #define HWA_TRIG_MODE_RESERVED2 ((uint8_t)5U)
313 #define HWA_TRIG_MODE_RESERVED3 ((uint8_t)6U)
314 #define HWA_TRIG_MODE_M4CONTROL ((uint8_t)7U)
322 #define HWA_ACCELMODE_FFT ((uint8_t)0U)
323 #define HWA_ACCELMODE_CFAR ((uint8_t)1U)
324 #define HWA_ACCELMODE_COMPRESS ((uint8_t)2U)
325 #define HWA_ACCELMODE_NONE ((uint8_t)7U)
345 #define HWA_CFAR_OPER_MODE_LOG_INPUT_REAL 0U
346 #define HWA_CFAR_OPER_MODE_LOG_INPUT_COMPLEX 1U
347 #define HWA_CFAR_OPER_MODE_MAG_INPUT_REAL 2U
348 #define HWA_CFAR_OPER_MODE_MAG_INPUT_COMPLEX 3U
349 #define HWA_CFAR_OPER_MODE_MAG_SQR_INPUT_REAL 4U
350 #define HWA_CFAR_OPER_MODE_MAG_SQR_INPUT_COMPLEX 5U
368 #define HWA_CFAR_OUTPUT_MODE_I_nAVG_ALL_Q_CUT ((uint8_t)0U)
370 #define HWA_CFAR_OUTPUT_MODE_I_nAVG_ALL_Q_DET_FLAG ((uint8_t)1U)
372 #define HWA_CFAR_OUTPUT_MODE_I_PEAK_IDX_Q_NEIGHBOR_NOISE_VAL ((uint8_t)2U)
374 #define HWA_CFAR_OUTPUT_MODE_I_PEAK_IDX_Q_CUT ((uint8_t)3U)
390 #define HWA_CMP_DCMP_COMPRESS ((uint8_t)0U)
391 #define HWA_CMP_DCMP_DECOMPRESS ((uint8_t)1U)
405 #define HWA_COMPRESS_METHOD_EGE ((uint8_t)0U)
406 #define HWA_COMPRESS_METHOD_BFP ((uint8_t)1U)
422 #define HWA_COMPRESS_PATHSELECT_BOTHPASSES ((uint8_t)3U)
430 #define HWA_RAM_TYPE_WINDOW_RAM ((uint8_t)0U)
431 #define HWA_RAM_TYPE_INTERNAL_RAM ((uint8_t)1U)
442 #define HWA_INTERFERENCE_ENABLE ((uint8_t)1U)
443 #define HWA_INTERFERENCE_DISABLE ((uint8_t)0U)
456 #define HWA_INTERFERENCE_THRESH_MODE_MAG_OR_MAGDIFF ((uint8_t)0U)
457 #define HWA_INTERFERENCE_THRESH_MODE_MAG ((uint8_t)1U)
458 #define HWA_INTERFERENCE_THRESH_MODE_MAGDIFF ((uint8_t)2U)
459 #define HWA_INTERFERENCE_THRESH_MODE_MAG_AND_MAGDIFF ((uint8_t)3U)
470 #define HWA_INTERFERENCE_THRESH_SELECT_USER_DEFINED ((uint8_t)0U)
471 #define HWA_INTERFERENCE_THRESH_SELECT_BUILTIN_SUM_STATS ((uint8_t)1U)
472 #define HWA_INTERFERENCE_THRESH_SELECT_BUILTIN ((uint8_t)2U)
485 #define HWA_INTERFERENCE_STATS_RESET_HOLD ((uint8_t)0U)
486 #define HWA_INTERFERENCE_STATS_RESET_FREE_RUNNING ((uint8_t)1U)
487 #define HWA_INTERFERENCE_STATS_RESET_PER_CHIRP ((uint8_t)2U)
488 #define HWA_INTERFERENCE_STATS_RESET_PER_FRAME ((uint8_t)3U)
496 #define HWA_ACCUMULATORREG_TYPE_DC ((uint8_t)0U)
497 #define HWA_ACCUMULATORREG_TYPE_INTERF_MAG ((uint8_t)1U)
498 #define HWA_ACCUMULATORREG_TYPE_INTERF_MAGDIFF ((uint8_t)2U)
499 #define HWA_ACCUMULATORREG_TYPE_INTERF ((uint8_t)3U)
507 #define HWA_INTERFERENCE_THRESHOLD_TYPE_MAG ((uint8_t)0U)
508 #define HWA_INTERFERENCE_THRESHOLD_TYPE_MAGDIFF ((uint8_t)1U)
518 #define HWA_PARAMDONE_INTERRUPT_TYPE_CPU ((uint8_t)1U)
519 #define HWA_PARAMDONE_INTERRUPT_TYPE_DMA ((uint8_t)2U)
528 #define HWA_COMMONCONFIG_MASK_NUMLOOPS 0x00000001U
529 #define HWA_COMMONCONFIG_MASK_PARAMSTARTIDX 0x00000002U
530 #define HWA_COMMONCONFIG_MASK_PARAMSTOPIDX 0x00000004U
531 #define HWA_COMMONCONFIG_MASK_FFT1DENABLE 0x00000008U
532 #define HWA_COMMONCONFIG_MASK_BPMRATE 0x00000010U
533 #define HWA_COMMONCONFIG_MASK_BPMPATTERN 0x00000020U
534 #define HWA_COMMONCONFIG_MASK_INTERFERENCETHRESHOLD 0x00000040
535 #define HWA_COMMONCONFIG_MASK_TWIDDITHERENABLE 0x00000080U
536 #define HWA_COMMONCONFIG_MASK_LFSRSEED 0x00000100U
537 #define HWA_COMMONCONFIG_MASK_FFTSUMDIV 0x00000200U
538 #define HWA_COMMONCONFIG_MASK_CFARTHRESHOLDSCALE 0x00000400U
539 #define HWA_COMMONCONFIG_MASK_I_CMULT_SCALE 0x00000800U
540 #define HWA_COMMONCONFIG_MASK_Q_CMULT_SCALE 0x00001000U
541 #define HWA_COMMONCONFIG_MASK_DCEST_SCALESHIFT 0x00002000U
542 #define HWA_COMMONCONFIG_MASK_DCSUB_SWVAL 0x00004000U
543 #define HWA_COMMONCONFIG_MASK_INTERFMAG_THRESHOLD 0x00008000U
544 #define HWA_COMMONCONFIG_MASK_INTERFMAGDIFF_THRESHOLD 0x00010000U
545 #define HWA_COMMONCONFIG_MASK_INTERFSUM_MAG 0x00020000U
546 #define HWA_COMMONCONFIG_MASK_INTERFSUM_MAGDIFF 0x00040000U
547 // #define HWA_COMMONCONFIG_MASK_COMPLEXMULT_SCALEARRAY ((uint64_t)0x00004000U)
550 // #define HWA_COMMONCONFIG_MASK_COMPLEXMULT_SCALECONST ((uint64_t)0x00008000U)
553 // #define HWA_COMMONCONFIG_MASK_INTERF_MITG_WINDOW_PARAM ((uint64_t)0x40000000U)
554 #define HWA_COMMONCONFIG_MASK_EGECOMRESS_KPARAM 0x000080000U
562 #define HWA_COMPLEX_MULTIPLY_MODE_DISABLE ((uint8_t)0U)
563 #define HWA_COMPLEX_MULTIPLY_MODE_FREQ_SHIFTER ((uint8_t)1U)
564 #define HWA_COMPLEX_MULTIPLY_MODE_SLOW_DFT ((uint8_t)2U)
565 #define HWA_COMPLEX_MULTIPLY_MODE_FFT_STITCHING ((uint8_t)3U)
566 #define HWA_COMPLEX_MULTIPLY_MODE_MAG_SQUARED ((uint8_t)4U)
567 #define HWA_COMPLEX_MULTIPLY_MODE_SCALAR_MULT ((uint8_t)5U)
568 #define HWA_COMPLEX_MULTIPLY_MODE_VECTOR_MULT ((uint8_t)6U)
569 #define HWA_COMPLEX_MULTIPLY_MODE_VECTOR_MULT_2 ((uint8_t)7U)
578 #define HWA_DCEST_INTERFSUM_RESET_MODE_NOUPDATE ((uint8_t)0U)
579 #define HWA_DCEST_INTERFSUM_RESET_MODE_SOFTWARERESET ((uint8_t)1U)
580 #define HWA_DCEST_INTERFSUM_RESET_MODE_PARAMRESET ((uint8_t)2U)
581 #define HWA_DCEST_INTERFSUM_RESET_MODE_PARAMRESET_ZEROLPCONT ((uint8_t)3U)
589 #define HWA_DCSUB_SELECT_DCSW ((uint8_t)0U)
590 #define HWA_DCSUB_SELECT_DCEST ((uint8_t)1U)
599 #define HWA_FFT_STITCHING_TWID_PATTERN_2K ((uint8_t)0U)
600 #define HWA_FFT_STITCHING_TWID_PATTERN_4K ((uint8_t)1U)
636 typedef struct HWA_Attrs_t {
659 typedef struct HWA_RAMAttrs_t
676 typedef struct HWA_SrcDMAConfig_t {
690 typedef struct HWA_CommonConfig_t {
714 uint32_t bpmPattern[2];
763 uint32_t thresholdMagSw[6U];
769 uint32_t thresholdMagDiffSw[6U];
822 } complexMultiplyConfig;
835 uint32_t i_cmult_scale[6U];
838 uint32_t q_cmult_scale[6U];
856 typedef struct HWA_SourceConfig_t {
927 typedef struct HWA_DestConfig_t {
982 typedef struct HWA_AccelModeFFT_t{
1038 typedef struct HWA_AccelModeCompress_t{
1081 typedef struct HWA_ComplexMultiply_t {
1117 typedef struct HWA_PreProcessing_t {
1200 typedef struct HWA_AccelModeCFAR_t{
1248 typedef struct HWA_ParamConfig_t {
1278 typedef struct HWA_InterruptConfig_t {
1301 typedef struct HWA_Stats_t {
1316 typedef struct HWA_DebugStats_t {
1335 typedef struct HWA_MemInfo_t {
1345 typedef struct HWA_InterruptPriority_t {
1358 typedef struct HWA_OpenConfig_t {
1389 typedef struct HWA_InterruptCtx_t {
1402 typedef struct HWA_DoneInterruptCtx_t {
1411 typedef struct HWA_Driver_t {
int32_t HWA_disableDoneInterrupt(HWA_Handle handle)
Function to disable the CPU interrupt after all programmed paramSets have been completed.
uint64_t interrupt1ParamSetMask
interrupt enable mask for background thread
Definition: hwa/v0/hwa.h:1465
uint32_t refCnt
HWA instance reference (open) count.
Definition: hwa/v0/hwa.h:1419
uint8_t sumMagDiffScale
Definition: hwa/v0/hwa.h:789
HWA Paramset Config for Input Formatter/Source block.
Definition: hwa/v0/hwa.h:856
uint32_t destAddr
Definition: hwa/v0/hwa.h:678
int32_t HWA_readInterfThreshReg(HWA_Handle handle, uint32_t *pbuf, uint8_t startIdx, uint8_t size, uint8_t type)
Function to read the interference statistics INTF_LOC_THRESH_MAG_VAL or INTF_LOC_THRESH_MAG_VAL regis...
int32_t HWA_enable(HWA_Handle handle, uint8_t flagEnDis)
Function to enable the state machine of the HWA. This should be called after paramset and RAM have be...
int32_t HWA_reset(HWA_Handle handle)
Function to reset the internal state machine of the HWA.
uint8_t numNoiseSamplesRight
Definition: hwa/v0/hwa.h:1206
uint16_t startFreq
Definition: hwa/v0/hwa.h:1092
uint8_t nAvgDivFactor
Definition: hwa/v0/hwa.h:1213
void(* HWA_Done_IntHandlerFuncPTR)(void *arg)
HWA Interrupt callback function after all paramsets completion.
Definition: hwa/v0/hwa.h:628
uint8_t peakGroupEn
Definition: hwa/v0/hwa.h:1227
HWA Paramset Config for FFT block.
Definition: hwa/v0/hwa.h:982
uint8_t srcConjugate
Definition: hwa/v0/hwa.h:894
int32_t HWA_setDMA2ACCManualTrig(HWA_Handle handle, uint8_t idx)
Function to manually trigger the execution of the state machine waiting on DMA via software.
int8_t sumMagDiffShift
Definition: hwa/v0/hwa.h:794
uint16_t maxIndex
Definition: hwa/v0/hwa.h:1303
uint16_t dstSkipInit
Definition: hwa/v0/hwa.h:970
int32_t HWA_clearDebugReg(HWA_Handle handle)
Function to clear the debug registers (acc_trig_in_clr)
HWA Local memory Information.
Definition: hwa/v0/hwa.h:1335
uint8_t dmaTriggerSrc
Definition: hwa/v0/hwa.h:1251
uint32_t iSumLSB
Definition: hwa/v0/hwa.h:1306
uint32_t gHwaConfigNum
Externally defined driver configuration array size.
uint32_t srcAddr
Definition: hwa/v0/hwa.h:677
HWA_Handle HWA_open(uint32_t index, HWA_OpenConfig *hwaCfg, int32_t *errCode)
Function to initialize HWA specified by the particular index value.
uint16_t bankSize
Definition: hwa/v0/hwa.h:1337
uint8_t bpmEnable
Definition: hwa/v0/hwa.h:911
uint8_t passSelect
Definition: hwa/v0/hwa.h:1051
int32_t HWA_getDMAChanIndex(HWA_Handle handle, uint8_t edmaChanId, uint8_t *hwaDestChan)
Function to get the dma destination index with a given EDMA channel number This function assumes the ...
int32_t HWA_enableParamSetInterrupt(HWA_Handle handle, uint8_t paramsetIdx, HWA_InterruptConfig *intrConfig)
Function to enable the CPU and/or DMA interrupt after a paramSet completion. The CPU interrupt for ev...
int32_t HWA_enableDoneInterrupt(HWA_Handle handle, HWA_Done_IntHandlerFuncPTR callbackFn, void *callbackArg)
Function to enable the CPU interrupt after all programmed paramSets have been completed in the backgr...
uint8_t shift
Definition: hwa/v0/hwa.h:740
uint32_t backgroundDone
HWA interrupt priority for the background thread done.
Definition: hwa/v0/hwa.h:1347
uint8_t headerEnable
Definition: hwa/v0/hwa.h:1054
HWA Paramset Config for ComplexMultiply block.
Definition: hwa/v0/hwa.h:1081
HWA_AccelModeFFT fftMode
Definition: hwa/v0/hwa.h:1262
uint8_t srcWidth
Definition: hwa/v0/hwa.h:885
uint8_t resetMode
Definition: hwa/v0/hwa.h:1148
uint32_t intNumDone
Definition: hwa/v0/hwa.h:644
uint32_t baseAddress
Definition: hwa/v0/hwa.h:1336
HWA Paramset Config for CFAR block.
Definition: hwa/v0/hwa.h:1200
uint32_t numHwaParamSets
Definition: hwa/v0/hwa.h:642
uint8_t dstChannel
Definition: hwa/v0/hwa.h:1290
uint8_t method
Definition: hwa/v0/hwa.h:1044
uint16_t dstAddr
Definition: hwa/v0/hwa.h:928
uint16_t numLoops
Definition: hwa/v0/hwa.h:694
uint8_t dstConjugate
Definition: hwa/v0/hwa.h:956
uint32_t paramsetDone1
HWA interrupt priority for paramset done interrupt 1.
Definition: hwa/v0/hwa.h:1349
uint8_t freqIncrement
Definition: hwa/v0/hwa.h:1095
uint8_t compressDecompress
Definition: hwa/v0/hwa.h:1039
void HWA_init(void)
Function to initialize the HWA module.
HWA_Attrs gHwaAttrs[]
Externally defined driver configuration array.
volatile uint32_t ctrlBaseAddr
Definition: hwa/v0/hwa.h:638
#define HWA_CMP_K_ARR_LEN
The length of EGE compression/decompression K-paramseters array.
Definition: hwa/v0/hwa.h:190
HWA configuration structure, which describes the configuration information, needed for hwa handle ope...
Definition: hwa/v0/hwa.h:1358
bool isConcurrentAccessAllowed
Definition: hwa/v0/hwa.h:648
uint8_t interruptTypeFlag
Definition: hwa/v0/hwa.h:1279
uint16_t cCnt
Definition: hwa/v0/hwa.h:681
HWA_InterruptPriority interruptPriority
structure holds the HWA interrupt priorities. This structure is applicable for processors that suppor...
Definition: hwa/v0/hwa.h:1360
uint8_t paramStartIdx
Definition: hwa/v0/hwa.h:697
uint8_t dstWidth
Definition: hwa/v0/hwa.h:947
uint8_t twidDitherEnable
Definition: hwa/v0/hwa.h:722
int32_t HWA_getCfarPeakCntRegAddress(HWA_Handle handle, uint32_t *peakCntAddr)
Function to get the address of CFAR Peak Count register.
uint8_t dfePingPongStatus
Definition: hwa/v0/hwa.h:1325
uint8_t dcSubEnable
Definition: hwa/v0/hwa.h:1124
int32_t HWA_getDMAconfig(HWA_Handle handle, uint8_t dmaTriggerSrc, HWA_SrcDMAConfig *dmaConfig)
Function to get the config to program the DMA for a given DMA Trigger channel. Application should use...
uint16_t paramSetMapInProgress
HWA paramset config is in progress [used as bitmap]. Protects Paramset register access in HWA_configP...
Definition: hwa/v0/hwa.h:1430
uint8_t thresholdEnable
Definition: hwa/v0/hwa.h:1132
HWA Debug statistics.
Definition: hwa/v0/hwa.h:1316
int32_t HWA_readInterfFrameCountReg(HWA_Handle handle, uint32_t *numInterfSamplesFrame)
Function to read the number of samples that exceeded the threshold in a frame.
uint8_t numNoiseSamplesLeft
Definition: hwa/v0/hwa.h:1201
HwiP_Object hwiHandleParamSet
Registered Interrupt Handler for each paramset completion.
Definition: hwa/v0/hwa.h:1439
uint8_t qSumMSB
Definition: hwa/v0/hwa.h:1305
uint8_t fft1DEnable
Definition: hwa/v0/hwa.h:705
int32_t HWA_close(HWA_Handle handle)
Function to close a HWA peripheral specified by the HWA handle.
uint8_t triggerMode
Definition: hwa/v0/hwa.h:1249
int8_t sumMagShift
Definition: hwa/v0/hwa.h:784
uint8_t currentParamSet
Definition: hwa/v0/hwa.h:1317
int32_t HWA_readCFARPeakCountReg(HWA_Handle handle, uint8_t *pbuf, uint8_t size)
Function to read the PEAKCNT register.
uint8_t cyclicModeEn
Definition: hwa/v0/hwa.h:1235
void * callbackArg
Definition: hwa/v0/hwa.h:1405
uint8_t paramStopIdx
Definition: hwa/v0/hwa.h:700
uint8_t BFPMantissaBW
Definition: hwa/v0/hwa.h:1064
HWA_ParamDone_IntHandlerFuncPTR callbackFn
Definition: hwa/v0/hwa.h:1286
uint8_t dcEstResetMode
Definition: hwa/v0/hwa.h:1119
DSSHWACCPARAMRegs * HWA_getParamSetAddr(HWA_Handle handle, uint8_t paramsetIdx)
Function to returns the HWA paramSet base address.
int32_t HWA_readDCAccReg(HWA_Handle handle, cmplx64ImRe_t *accbuf, uint8_t startIdx, uint8_t size)
Function to read the DC estimation accumulator register,.
volatile uint32_t accelMemBaseAddr
Definition: hwa/v0/hwa.h:646
uint16_t butterflyScaling
Definition: hwa/v0/hwa.h:992
int32_t HWA_getEDMAChanId(HWA_Handle handle, uint8_t hwaDMAdestChan)
Function to get the edma EDMA channel number from a given HWA paramset destination channel....
uint16_t aCnt
Definition: hwa/v0/hwa.h:679
HWA_InterruptCtx * interruptCtxParamSet
Registered Interrupt Handler for each paramset completion in the ALT thread.
Definition: hwa/v0/hwa.h:1460
uint8_t nAvgMode
Definition: hwa/v0/hwa.h:1219
HWA_ParamDone_IntHandlerFuncPTR callbackFn
Definition: hwa/v0/hwa.h:1390
int16_t srcBIdx
Definition: hwa/v0/hwa.h:871
uint8_t fftEn
Definition: hwa/v0/hwa.h:983
uint16_t dmaTrigStatus
Definition: hwa/v0/hwa.h:1324
uint8_t scaleFactor
Definition: hwa/v0/hwa.h:1067
HwiP_Object hwiHandleDone
Registered Interrupt Handler for interrupt at the end of group of paramsets.
Definition: hwa/v0/hwa.h:1444
DSSHWACCRegs * HWA_getCommonCtrlAddr(HWA_Handle handle)
Function to returns the HWA common control base address.
volatile uint32_t ramBaseAddr
Definition: hwa/v0/hwa.h:640
uint8_t EGEKarrayLength
Definition: hwa/v0/hwa.h:1070
HWA_RAMAttrs gHwaRamCfg[HWA_NUM_RAMS]
Externally defined driver RAM configuration array.
HWA_AccelModeCFAR cfarMode
Definition: hwa/v0/hwa.h:1263
HWA Paramset Config for pre-processing block.
Definition: hwa/v0/hwa.h:1117
uint32_t ramSizeInBytes
Definition: hwa/v0/hwa.h:662
uint16_t srcBcnt
Definition: hwa/v0/hwa.h:869
uint8_t dcSubSelect
Definition: hwa/v0/hwa.h:1128
uint8_t operMode
Definition: hwa/v0/hwa.h:1222
uint8_t interfZeroOutEn
Definition: hwa/v0/hwa.h:998
uint32_t interferenceThreshold
Definition: hwa/v0/hwa.h:717
uint8_t sumMagScale
Definition: hwa/v0/hwa.h:777
uint8_t fftSumDiv
Definition: hwa/v0/hwa.h:728
int32_t HWA_configCommon(HWA_Handle handle, HWA_CommonConfig *commonConfig)
Function to set the common HWA configuration parameters needed for the next operations/iterations/par...
#define HWA_NUM_RXCHANNELS
Number of RX channels in pre-processing block.
Definition: hwa/v0/hwa.h:176
uint32_t configMask
Definition: hwa/v0/hwa.h:691
uint8_t swTrigStatus
Definition: hwa/v0/hwa.h:1326
uint32_t numDmaChannels
Definition: hwa/v0/hwa.h:645
int32_t HWA_getHWAMemInfo(HWA_Handle handle, HWA_MemInfo *memInfo)
Function to get HWA processing Memory information including address, size and number of banks.
HWA_Object gHwaObject[]
Externally defined driver object.
int32_t HWA_configRam(HWA_Handle handle, uint8_t ramType, uint8_t *data, uint32_t dataSize, uint32_t startIdx)
Function to set the HWA RAM : HWA_RAM_TYPE_WINDOW_RAM, HWA_RAM_TYPE_VECTORMULTIPLY_RAM,...
uint8_t winSymm
Definition: hwa/v0/hwa.h:1011
uint8_t srcSign
Definition: hwa/v0/hwa.h:888
HWA interrupt priority for HWA background thread done, ALT thread done, paramset done interrupt 1 and...
Definition: hwa/v0/hwa.h:1345
uint8_t srcScale
Definition: hwa/v0/hwa.h:902
void(* HWA_ParamDone_IntHandlerFuncPTR)(uint32_t paramSet, void *arg)
HWA Interrupt callback function after every paramset completion.
Definition: hwa/v0/hwa.h:620
HWA_AccelModeCompress compressMode
Definition: hwa/v0/hwa.h:1264
uint8_t magLogEn
Definition: hwa/v0/hwa.h:1020
uint32_t accelMemSize
Definition: hwa/v0/hwa.h:647
int32_t HWA_configParamSet(HWA_Handle handle, uint8_t paramsetIdx, HWA_ParamConfig *paramConfig, HWA_SrcDMAConfig *dmaConfig)
Function to set the HWA configuration parameters for a given paramSet.
uint8_t srcRealComplex
Definition: hwa/v0/hwa.h:882
uint8_t numGuardCells
Definition: hwa/v0/hwa.h:1211
HWA Interrupt Config.
Definition: hwa/v0/hwa.h:1278
uint16_t twidIncrement
Definition: hwa/v0/hwa.h:1086
uint8_t iSumMSB
Definition: hwa/v0/hwa.h:1304
Source trigger DMA parameters.
Definition: hwa/v0/hwa.h:676
uint8_t mode
Definition: hwa/v0/hwa.h:1082
uint32_t ramBaseAddress
Definition: hwa/v0/hwa.h:661
HWA Interrupt context structure for done interrupt.
Definition: hwa/v0/hwa.h:1402
uint8_t fftOutMode
Definition: hwa/v0/hwa.h:1023
volatile uint32_t paramBaseAddr
Definition: hwa/v0/hwa.h:639
uint16_t windowStart
Definition: hwa/v0/hwa.h:1006
HWA Common Config.
Definition: hwa/v0/hwa.h:690
HWA_DestConfig dest
Definition: hwa/v0/hwa.h:1260
volatile uint32_t dssBaseAddr
Definition: hwa/v0/hwa.h:641
void * callbackArg
Definition: hwa/v0/hwa.h:1391
uint8_t dstSign
Definition: hwa/v0/hwa.h:950
int16_t twiddleDeltaFrac
Definition: hwa/v0/hwa.h:811
int32_t HWA_disableParamSetInterrupt(HWA_Handle handle, uint8_t paramsetIdx, uint8_t interruptTypeFlag)
Function to disable the CPU and/or DMA interrupt after a paramSet completion.
uint8_t configInProgress
HWA instance config is in progress. Protects Common register acccess in HWA_configCommon() and HWA_co...
Definition: hwa/v0/hwa.h:1424
uint16_t bpmRate
Definition: hwa/v0/hwa.h:711
uint32_t cfarThresholdScale
Definition: hwa/v0/hwa.h:826
Opaque Hwi object used with the Hwi APIs.
Definition: HwiP.h:91
uint8_t recWindowReset
Definition: hwa/v0/hwa.h:819
uint8_t thresholdSelect
Definition: hwa/v0/hwa.h:1140
uint8_t winInterpolateMode
Definition: hwa/v0/hwa.h:1014
uint16_t srcShift
Definition: hwa/v0/hwa.h:875
int16_t dstAIdx
Definition: hwa/v0/hwa.h:937
HWA_PreProcessing preProcCfg
Definition: hwa/v0/hwa.h:1269
HWA Paramset Config.
Definition: hwa/v0/hwa.h:1248
uint32_t paramsetDone2
HWA interrupt priority for paramset done interrupt 2.
Definition: hwa/v0/hwa.h:1350
uint16_t srcAcnt
Definition: hwa/v0/hwa.h:862
int32_t HWA_readDCEstimateReg(HWA_Handle handle, cmplx32ImRe_t *pbuf, uint8_t startIdx, uint8_t size)
Function to read the DC_EST_I/Q register.
HWA Paramset Config for Compression/Decompression block.
Definition: hwa/v0/hwa.h:1038
uint8_t outputMode
Definition: hwa/v0/hwa.h:1224
void * callbackArg
Definition: hwa/v0/hwa.h:1287
HWA_SourceConfig source
Definition: hwa/v0/hwa.h:1259
#define HWA_NUM_RAMS
The number of RAM types in HWA.
Definition: hwa/v0/hwa.h:186
uint8_t ditherEnable
Definition: hwa/v0/hwa.h:1048
HWA_DoneInterruptCtx interruptCtxDone
interrupt context for all paramset done interrupt
Definition: hwa/v0/hwa.h:1470
bool bIsEnabled
Definition: hwa/v0/hwa.h:1403
uint8_t thresholdMode
Definition: hwa/v0/hwa.h:1136
uint8_t dstScale
Definition: hwa/v0/hwa.h:964
HWA Interrupt context structure for paramset done interrupt.
Definition: hwa/v0/hwa.h:1389
uint8_t twidFactorPattern
Definition: hwa/v0/hwa.h:1101
uint8_t dstRealComplex
Definition: hwa/v0/hwa.h:944
int32_t HWA_setSoftwareTrigger(HWA_Handle handle)
Function to manually trigger the execution of the state machine via software, the software trigger th...
uint32_t intNumParamSet
Definition: hwa/v0/hwa.h:643
HWA_Attrs const * hwAttrs
HWA Hardware related params.
Definition: hwa/v0/hwa.h:1434
uint8_t scaleFactorBW
Definition: hwa/v0/hwa.h:1060
uint16_t bCnt
Definition: hwa/v0/hwa.h:680
HWA_ComplexMultiply complexMultiply
Definition: hwa/v0/hwa.h:1267
HWA RAM Parameters.
Definition: hwa/v0/hwa.h:660
int32_t HWA_readDebugReg(HWA_Handle handle, HWA_DebugStats *pStats)
Function to read the debug registers (paramcurr, loopcou, acc_trig_in_stat)
uint16_t scale
Definition: hwa/v0/hwa.h:734
uint32_t instanceNum
Definition: hwa/v0/hwa.h:637
HWA Paramset Config for Output Formatter/Destination block.
Definition: hwa/v0/hwa.h:927
bool isCompressionEnginePresent
Definition: hwa/v0/hwa.h:650
int32_t HWA_readInterfChirpCountReg(HWA_Handle handle, uint16_t *numInterfSamplesChirp)
Function to read the number of samples that exceeded the threshold in a chirp.
void * HWA_Handle
A handle that is returned from a HWA_open() call.
Definition: hwa/v0/hwa.h:612
uint32_t instanceNum
HWA instance number.
Definition: hwa/v0/hwa.h:1415
HWA_Done_IntHandlerFuncPTR callbackFn
Definition: hwa/v0/hwa.h:1404
uint16_t numBanks
Definition: hwa/v0/hwa.h:1338
uint16_t srcAddr
Definition: hwa/v0/hwa.h:857
HWA Statistics from the STATISTICS block.
Definition: hwa/v0/hwa.h:1301
int32_t HWA_setSourceAddress(HWA_Handle handle, uint16_t paramIdx, uint32_t sourceAddress)
Function to set the source address for one paramset.
void HWA_deinit(void)
Function to deinitialize the HWA module.
int16_t srcAIdx
Definition: hwa/v0/hwa.h:866
int32_t HWA_readStatsReg(HWA_Handle handle, HWA_Stats *pStats, uint8_t numIter)
Function to read the 4 sets of 'MAX' statistics register.
uint32_t lfsrSeed
Definition: hwa/v0/hwa.h:727
int16_t dstBIdx
Definition: hwa/v0/hwa.h:940
uint16_t dstAcnt
Definition: hwa/v0/hwa.h:933
uint32_t maxValue
Definition: hwa/v0/hwa.h:1302
uint8_t bpmPhase
Definition: hwa/v0/hwa.h:916
uint8_t fftSize
Definition: hwa/v0/hwa.h:988
uint8_t accelMode
Definition: hwa/v0/hwa.h:1255
uint32_t qSumLSB
Definition: hwa/v0/hwa.h:1307
uint8_t windowEn
Definition: hwa/v0/hwa.h:1003
HWA driver internal Config.
Definition: hwa/v0/hwa.h:1411
uint16_t currentLoopCount
Definition: hwa/v0/hwa.h:1322
HWA H/W Parameters.
Definition: hwa/v0/hwa.h:636
int32_t HWA_readIntfAccReg(HWA_Handle handle, uint64_t *accBuf, uint8_t type, uint8_t startIdx, uint8_t size)
Function to read the interference threshold MAG or MAGDIFF Accumulator register.
HWA_Object * gHwaObjectPtr[]
Externally defined driver object pointer.
int32_t HWA_softwareResetAccumulators(HWA_Handle handle, uint8_t accumulatortype)
Function for software to reset the DC accumulators or interference statistics accumulators.
uint8_t srcCircShiftWrap
Definition: hwa/v0/hwa.h:879