33 #ifndef __SILICON_LABS_EM_OPAMP_H__
34 #define __SILICON_LABS_EM_OPAMP_H__
37 #if defined(OPAMP_PRESENT) && (OPAMP_COUNT == 1)
60 #define DAC_OPA_VALID(opa) ((opa) <= OPA2)
83 } OPAMP_NegSel_TypeDef;
93 } OPAMP_PosSel_TypeDef;
102 } OPAMP_OutMode_TypeDef;
116 } OPAMP_ResSel_TypeDef;
126 } OPAMP_ResInMux_TypeDef;
135 OPAMP_NegSel_TypeDef negSel;
136 OPAMP_PosSel_TypeDef posSel;
137 OPAMP_OutMode_TypeDef outMode;
138 OPAMP_ResSel_TypeDef resSel;
139 OPAMP_ResInMux_TypeDef resInMux;
169 bool lpfPosPadDisable;
170 bool lpfNegPadDisable;
178 } OPAMP_Init_TypeDef;
181 #define OPA_INIT_UNITY_GAIN \
183 opaNegSelUnityGain, \
187 opaResInMuxDisable, \
189 _DAC_BIASPROG_BIASPROG_DEFAULT, \
190 _DAC_BIASPROG_HALFBIAS_DEFAULT, \
203 #define OPA_INIT_UNITY_GAIN_OPA2 \
205 opaNegSelUnityGain, \
209 opaResInMuxDisable, \
210 DAC_OPA0MUX_OUTPEN_OUT0, \
211 _DAC_BIASPROG_BIASPROG_DEFAULT, \
212 _DAC_BIASPROG_HALFBIAS_DEFAULT, \
225 #define OPA_INIT_NON_INVERTING \
230 opaResSelR2eq0_33R1, \
233 _DAC_BIASPROG_BIASPROG_DEFAULT, \
234 _DAC_BIASPROG_HALFBIAS_DEFAULT, \
247 #define OPA_INIT_NON_INVERTING_OPA2 \
252 opaResSelR2eq0_33R1, \
254 DAC_OPA0MUX_OUTPEN_OUT0, \
255 _DAC_BIASPROG_BIASPROG_DEFAULT, \
256 _DAC_BIASPROG_HALFBIAS_DEFAULT, \
269 #define OPA_INIT_INVERTING \
277 _DAC_BIASPROG_BIASPROG_DEFAULT, \
278 _DAC_BIASPROG_HALFBIAS_DEFAULT, \
291 #define OPA_INIT_INVERTING_OPA2 \
298 DAC_OPA0MUX_OUTPEN_OUT0, \
299 _DAC_BIASPROG_BIASPROG_DEFAULT, \
300 _DAC_BIASPROG_HALFBIAS_DEFAULT, \
313 #define OPA_INIT_CASCADED_NON_INVERTING_OPA0 \
318 opaResSelR2eq0_33R1, \
321 _DAC_BIASPROG_BIASPROG_DEFAULT, \
322 _DAC_BIASPROG_HALFBIAS_DEFAULT, \
335 #define OPA_INIT_CASCADED_NON_INVERTING_OPA1 \
340 opaResSelR2eq0_33R1, \
343 _DAC_BIASPROG_BIASPROG_DEFAULT, \
344 _DAC_BIASPROG_HALFBIAS_DEFAULT, \
357 #define OPA_INIT_CASCADED_NON_INVERTING_OPA2 \
362 opaResSelR2eq0_33R1, \
364 DAC_OPA0MUX_OUTPEN_OUT0, \
365 _DAC_BIASPROG_BIASPROG_DEFAULT, \
366 _DAC_BIASPROG_HALFBIAS_DEFAULT, \
379 #define OPA_INIT_CASCADED_INVERTING_OPA0 \
387 _DAC_BIASPROG_BIASPROG_DEFAULT, \
388 _DAC_BIASPROG_HALFBIAS_DEFAULT, \
401 #define OPA_INIT_CASCADED_INVERTING_OPA1 \
409 _DAC_BIASPROG_BIASPROG_DEFAULT, \
410 _DAC_BIASPROG_HALFBIAS_DEFAULT, \
423 #define OPA_INIT_CASCADED_INVERTING_OPA2 \
430 DAC_OPA0MUX_OUTPEN_OUT0, \
431 _DAC_BIASPROG_BIASPROG_DEFAULT, \
432 _DAC_BIASPROG_HALFBIAS_DEFAULT, \
445 #define OPA_INIT_DIFF_DRIVER_OPA0 \
447 opaNegSelUnityGain, \
451 opaResInMuxDisable, \
453 _DAC_BIASPROG_BIASPROG_DEFAULT, \
454 _DAC_BIASPROG_HALFBIAS_DEFAULT, \
467 #define OPA_INIT_DIFF_DRIVER_OPA1 \
475 _DAC_BIASPROG_BIASPROG_DEFAULT, \
476 _DAC_BIASPROG_HALFBIAS_DEFAULT, \
489 #define OPA_INIT_DIFF_RECEIVER_OPA0 \
491 opaNegSelUnityGain, \
497 _DAC_BIASPROG_BIASPROG_DEFAULT, \
498 _DAC_BIASPROG_HALFBIAS_DEFAULT, \
511 #define OPA_INIT_DIFF_RECEIVER_OPA1 \
513 opaNegSelUnityGain, \
517 opaResInMuxDisable, \
519 _DAC_BIASPROG_BIASPROG_DEFAULT, \
520 _DAC_BIASPROG_HALFBIAS_DEFAULT, \
533 #define OPA_INIT_DIFF_RECEIVER_OPA2 \
536 opaPosSelResTapOpa0, \
540 DAC_OPA0MUX_OUTPEN_OUT0, \
541 _DAC_BIASPROG_BIASPROG_DEFAULT, \
542 _DAC_BIASPROG_HALFBIAS_DEFAULT, \
558 void OPAMP_Disable(
DAC_TypeDef *dac, OPAMP_TypeDef opa);
559 void OPAMP_Enable(
DAC_TypeDef *dac, OPAMP_TypeDef opa,
const OPAMP_Init_TypeDef *init);
#define DAC_OPA0MUX_POSSEL_OPATAP
CMSIS Cortex-M Peripheral Access Layer for Silicon Laboratories microcontroller devices.
#define DAC_OPA0MUX_POSSEL_OPA0INP
#define DAC_OPA0MUX_NEGSEL_UG
#define DAC_OPA0MUX_RESSEL_RES3
#define DAC_OPA0MUX_RESINMUX_POSPAD
#define DAC_OPA0MUX_RESINMUX_OPA0INP
#define DAC_OPA0MUX_NEGSEL_OPATAP
#define DAC_OPA0MUX_OUTMODE_MAIN
Digital to Analog Converter (DAC) peripheral API.
#define DAC_OPA0MUX_RESSEL_RES7
#define DAC_OPA0MUX_OUTMODE_ALT
#define DAC_OPA0MUX_RESSEL_RES1
#define DAC_OPA0MUX_RESSEL_RES2
#define DAC_OPA0MUX_NEGSEL_NEGPAD
#define DAC_OPA0MUX_RESSEL_RES5
#define DAC_OPA0MUX_POSSEL_DISABLE
#define DAC_OPA0MUX_RESSEL_RES0
#define DAC_OPA0MUX_POSSEL_DAC
#define DAC_OPA0MUX_RESSEL_RES4
#define DAC_OPA0MUX_RESINMUX_DISABLE
#define DAC_OPA0MUX_OUTMODE_DISABLE
#define DAC_OPA0MUX_OUTMODE_ALL
#define DAC_OPA0MUX_RESSEL_DEFAULT
#define DAC_OPA0MUX_NEGSEL_DISABLE
#define DAC_OPA0MUX_RESINMUX_VSS
#define DAC_OPA0MUX_POSSEL_POSPAD
#define DAC_OPA0MUX_RESINMUX_NEGPAD
#define DAC_OPA0MUX_RESSEL_RES6