123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260 |
- #ifndef _FSL_VREF_H_
- #define _FSL_VREF_H_
- #include "fsl_common.h"
- #define FSL_VREF_DRIVER_VERSION (MAKE_VERSION(2, 1, 0))
- #if defined(FSL_FEATURE_VREF_HAS_LOW_REFERENCE) && FSL_FEATURE_VREF_HAS_LOW_REFERENCE
- #define VREF_SC_MODE_LV VREF_VREFH_SC_MODE_LV
- #define VREF_SC_REGEN VREF_VREFH_SC_REGEN
- #define VREF_SC_VREFEN VREF_VREFH_SC_VREFEN
- #define VREF_SC_ICOMPEN VREF_VREFH_SC_ICOMPEN
- #define VREF_SC_REGEN_MASK VREF_VREFH_SC_REGEN_MASK
- #define VREF_SC_VREFST_MASK VREF_VREFH_SC_VREFST_MASK
- #define VREF_SC_VREFEN_MASK VREF_VREFH_SC_VREFEN_MASK
- #define VREF_SC_MODE_LV_MASK VREF_VREFH_SC_MODE_LV_MASK
- #define VREF_SC_ICOMPEN_MASK VREF_VREFH_SC_ICOMPEN_MASK
- #define TRM VREFH_TRM
- #define VREF_TRM_TRIM VREF_VREFH_TRM_TRIM
- #define VREF_TRM_CHOPEN_MASK VREF_VREFH_TRM_CHOPEN_MASK
- #define VREF_TRM_TRIM_MASK VREF_VREFH_TRM_TRIM_MASK
- #define VREF_TRM_CHOPEN_SHIFT VREF_VREFH_TRM_CHOPEN_SHIFT
- #define VREF_TRM_TRIM_SHIFT VREF_VREFH_TRM_TRIM_SHIFT
- #define VREF_SC_MODE_LV_SHIFT VREF_VREFH_SC_MODE_LV_SHIFT
- #define VREF_SC_REGEN_SHIFT VREF_VREFH_SC_REGEN_SHIFT
- #define VREF_SC_VREFST_SHIFT VREF_VREFH_SC_VREFST_SHIFT
- #define VREF_SC_ICOMPEN_SHIFT VREF_VREFH_SC_ICOMPEN_SHIFT
- #endif
- typedef enum _vref_buffer_mode
- {
- kVREF_ModeBandgapOnly = 0U,
- #if defined(FSL_FEATURE_VREF_MODE_LV_TYPE) && FSL_FEATURE_VREF_MODE_LV_TYPE
- kVREF_ModeHighPowerBuffer = 1U,
- kVREF_ModeLowPowerBuffer = 2U
- #else
- kVREF_ModeTightRegulationBuffer = 2U
- #endif
- } vref_buffer_mode_t;
- typedef struct _vref_config
- {
- vref_buffer_mode_t bufferMode;
- #if defined(FSL_FEATURE_VREF_HAS_LOW_REFERENCE) && FSL_FEATURE_VREF_HAS_LOW_REFERENCE
- bool enableLowRef;
- bool enableExternalVoltRef;
- #endif
- #if defined(FSL_FEATURE_VREF_HAS_TRM4) && FSL_FEATURE_VREF_HAS_TRM4
- bool enable2V1VoltRef;
- #endif
- } vref_config_t;
- #if defined(__cplusplus)
- extern "C" {
- #endif
- void VREF_Init(VREF_Type *base, const vref_config_t *config);
- void VREF_Deinit(VREF_Type *base);
- void VREF_GetDefaultConfig(vref_config_t *config);
- void VREF_SetTrimVal(VREF_Type *base, uint8_t trimValue);
- static inline uint8_t VREF_GetTrimVal(VREF_Type *base)
- {
- return (base->TRM & VREF_TRM_TRIM_MASK);
- }
- #if defined(FSL_FEATURE_VREF_HAS_TRM4) && FSL_FEATURE_VREF_HAS_TRM4
- void VREF_SetTrim2V1Val(VREF_Type *base, uint8_t trimValue);
- static inline uint8_t VREF_GetTrim2V1Val(VREF_Type *base)
- {
- return (base->TRM4 & VREF_TRM4_TRIM2V1_MASK);
- }
- #endif
- #if defined(FSL_FEATURE_VREF_HAS_LOW_REFERENCE) && FSL_FEATURE_VREF_HAS_LOW_REFERENCE
- void VREF_SetLowReferenceTrimVal(VREF_Type *base, uint8_t trimValue);
- static inline uint8_t VREF_GetLowReferenceTrimVal(VREF_Type *base)
- {
- return (base->VREFL_TRM & VREF_VREFL_TRM_VREFL_TRIM_MASK);
- }
- #endif
- #if defined(__cplusplus)
- }
- #endif
- #endif
|