55 #include <vhwa_vpac_abstraction_layer.h>
67 #define MSC_MAX_OUTPUT (10U)
70 #define MSC_MAX_TAP (5U)
73 #define MSC_MAX_SP_COEFF_SET (2U)
76 #define MSC_MAX_MP_COEFF_SET (4U)
92 #define MSC_COEFF_SHIFT_5 (5U)
94 #define MSC_COEFF_SHIFT_6 (6U)
96 #define MSC_COEFF_SHIFT_7 (7U)
98 #define MSC_COEFF_SHIFT_8 (8U)
100 #define MSC_COEFF_SHIFT_9 (9U)
116 #define MSC_MULTI_32PHASE_COEFF_SET_0 (0U)
118 #define MSC_MULTI_32PHASE_COEFF_SET_1 (1U)
120 #define MSC_MULTI_32PHASE_COEFF_SET_2 (2U)
122 #define MSC_MULTI_32PHASE_COEFF_SET_3 (3U)
124 #define MSC_MULTI_64PHASE_COEFF_SET_0 (0U)
126 #define MSC_MULTI_64PHASE_COEFF_SET_2 (2U)
141 #define MSC_TAP_SEL_3TAPS (0U)
143 #define MSC_TAP_SEL_4TAPS (1U)
145 #define MSC_TAP_SEL_5TAPS (2U)
159 #define MSC_SINGLE_PHASE_SP_COEFF_0 (0U)
161 #define MSC_SINGLE_PHASE_SP_COEFF_1 (1U)
163 #define MSC_SINGLE_PHASE_MP_COEFF0_0 (2U)
165 #define MSC_SINGLE_PHASE_MP_COEFF0_1 (3U)
167 #define MSC_SINGLE_PHASE_MP_COEFF0_2 (4U)
169 #define MSC_SINGLE_PHASE_MP_COEFF0_3 (5U)
171 #define MSC_SINGLE_PHASE_MP_COEFF0_4 (6U)
173 #define MSC_SINGLE_PHASE_MP_COEFF0_5 (7U)
175 #define MSC_SINGLE_PHASE_MP_COEFF0_6 (8U)
177 #define MSC_SINGLE_PHASE_MP_COEFF0_7 (9U)
179 #define MSC_SINGLE_PHASE_MP_COEFF0_8 (10U)
181 #define MSC_SINGLE_PHASE_MP_COEFF0_9 (11U)
183 #define MSC_SINGLE_PHASE_MP_COEFF0_10 (12U)
185 #define MSC_SINGLE_PHASE_MP_COEFF0_11 (13U)
187 #define MSC_SINGLE_PHASE_MP_COEFF0_12 (14U)
189 #define MSC_SINGLE_PHASE_MP_COEFF0_13 (15U)
191 #define MSC_SINGLE_PHASE_MP_COEFF0_14 (16U)
193 #define MSC_SINGLE_PHASE_MP_COEFF0_15 (17U)
205 #define MSC_PHASE_MODE_64PHASE (0U)
207 #define MSC_PHASE_MODE_32PHASE (1U)
217 #define MSC_FILTER_MODE_SINGLE_PHASE (0U)
219 #define MSC_FILTER_MODE_MULTI_PHASE (1U)
233 #define VHWA_MSC_VBUSM_RD_ERR (0x4U)
235 #define VHWA_MSC_SL2_WR_ERR (0x8U)
237 #define VHWA_MSC0_WDTIMER_ERR (0x1000000U)
239 #define VHWA_MSC1_WDTIMER_ERR (0x2000000U)
242 #define VHWA_MSC_ALL_ERR_EVENTS (VHWA_MSC_VBUSM_RD_ERR | VHWA_MSC_SL2_WR_ERR)
468 if (NULL != coeffCfg)
472 Fvid2Utils_memset(coeffCfg, 0,
sizeof(
Msc_Coeff));
485 GT_0trace(
VhwaMscTrace, GT_ERR,
"Msc_coeffInit: Error - coeffCfg is null\n");
540 GT_0trace(
VhwaMscTrace, GT_ERR,
"Msc_ConfigInit: Error - mscCfg is null\n");
#define VhwaMscTrace
Log enable for MSC module.
Definition: vhwa_common.h:318
#define MSC_MAX_OUTPUT
Maximum number of scalar output supported in MSC.
Definition: msc_cfg.h:67
#define MSC_FILTER_MODE_SINGLE_PHASE
Definition: msc_cfg.h:217
void(* Msc_WdTimerErrEventCbFxn)(Fvid2_Handle handle, uint32_t errEvents, void *appData)
Prototype for the Watchdog Timeout Error Event for MSC. The callback for the MSC Watchdog Timeout err...
Definition: msc_cfg.h:278
static void Msc_configInit(Msc_Config *mscCfg)
This function should be used to initialize variable of type Msc_Config.
#define MSC_MAX_MP_COEFF_SET
Maximum number of Multi phase coefficients set.
Definition: msc_cfg.h:76
#define MSC_SINGLE_PHASE_SP_COEFF_0
Use Dedicated Single phase coef-0.
Definition: msc_cfg.h:159
int32_t(* Msc_ConfigRegCompareCbFxn)(Fvid2_Handle handle, void *configRegPrms)
Prototype for the config Register Memory Compare Event for MSC. Following DOF pattern for configurati...
Definition: msc_cfg.h:290
void(* Msc_ErrEventCbFxn)(Fvid2_Handle handle, uint32_t errEvents, void *appData)
Prototype for the Error Event for MSC. The callback for the MSC error events can be registered using ...
Definition: msc_cfg.h:262
#define MSC_TAP_SEL_5TAPS
Selects the 5 tap filter.
Definition: msc_cfg.h:145
static void Msc_coeffInit(Msc_Coeff *coeffCfg)
This function should be used to initialize variable of type Msc_Coeff.
Definition: msc_cfg.h:459
#define MSC_COEFF_SHIFT_8
Coefficient shift by 8bits, 8bit fraction.
Definition: msc_cfg.h:98
#define MSC_MAX_SP_COEFF_SET
Maximum number of single phase coefficients set.
Definition: msc_cfg.h:73
static void Msc_ConfigInit(Msc_Config *mscCfg)
Definition: msc_cfg.h:491
#define MSC_MULTI_64PHASE_COEFF_SET_0
Coefficient Set 0 for 64phase coefficients.
Definition: msc_cfg.h:124
#define MSC_PHASE_MODE_64PHASE
Definition: msc_cfg.h:205
Structure used for setting scalar coefficients.
Definition: msc_cfg.h:416
Structure for complete MSC Configuration.
Definition: msc_cfg.h:362
Msc_ScConfig scCfg[MSC_MAX_OUTPUT]
Definition: msc_cfg.h:365
uint32_t tapSel
Definition: msc_cfg.h:363
Structure for error event parameters Used to register callback for the given set of events.
Definition: msc_cfg.h:375
void * appData
Definition: msc_cfg.h:383
uint32_t errEvents
Definition: msc_cfg.h:376
Msc_ErrEventCbFxn cbFxn
Definition: msc_cfg.h:381
Individual Scalar configuration.
Definition: msc_cfg.h:297
uint32_t vsMpCoeffSel
Definition: msc_cfg.h:337
Fvid2_CropConfig inRoi
Definition: msc_cfg.h:301
uint32_t vsSpCoeffSel
Definition: msc_cfg.h:329
uint32_t filtMode
Definition: msc_cfg.h:320
uint32_t hsSpCoeffSel
Definition: msc_cfg.h:325
uint32_t horzAccInit
Definition: msc_cfg.h:315
uint32_t isInterleaveFormat
Definition: msc_cfg.h:352
uint32_t outWidth
Definition: msc_cfg.h:311
uint32_t isEnableFiltSatMode
Definition: msc_cfg.h:348
uint32_t phaseMode
Definition: msc_cfg.h:323
uint32_t coeffShift
Definition: msc_cfg.h:342
uint32_t vertAccInit
Definition: msc_cfg.h:317
uint32_t isSignedData
Definition: msc_cfg.h:345
uint32_t hsMpCoeffSel
Definition: msc_cfg.h:333
uint32_t enable
Definition: msc_cfg.h:298
uint32_t outHeight
Definition: msc_cfg.h:313
WD Timer parameters Used to configure WD Timer parameters Must be called after SET_PARAMS ioctl Used ...
Definition: msc_cfg.h:395
uint32_t wdTimerErrEvents
Definition: msc_cfg.h:399
Msc_WdTimerErrEventCbFxn cbFxn
Definition: msc_cfg.h:405
uint32_t wdTimeoutCycles
Definition: msc_cfg.h:396
void * appData
Definition: msc_cfg.h:407
File containning defination for common configuration/API used across all VHWA modules.