MCUXpresso SDK API Reference Manual  Rev. 0
NXP Semiconductors
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
ANACTRL: Analog Control Driver

ANACTRL function groups

More...

Overview

Function groups

The ANACTRL driver supports initialization/configuration/operation for optimization/customization purpose.

Initialization and deinitialization

This function group is to enable/disable the clock for the ANACTRL module.

Set oscillators

The function ANACTRL_SetFro192M sets the on-chip high-speed Free Running Oscillator. The function ANACTRL_GetDefaultFro192MConfig() gets the default configuration.

The function ANACTRL_SetXo32M sets the 32 MHz Crystal oscillator. The function ANACTRL_GetDefaultXo32MConfig() gets the default configuration.

Measure Frequency

This function measures the target frequency according to the reference frequency.

Interrupt

Provides functions to enable/disable/clear ANACTRL interrupts.

Status

Provides functions to get the ANACTRL status.

Data Structures

struct  anactrl_fro192M_config_t
 Configuration for FRO192M. More...
 
struct  anactrl_xo32M_config_t
 Configuration for XO32M. More...
 

Macros

#define FSL_ANACTRL_DRIVER_VERSION   (MAKE_VERSION(2, 1, 2)) /*!< Version 2.1.2. */`
 ANACTRL driver version. More...
 

Enumerations

enum  _anactrl_interrupt_flags {
  kANACTRL_BodVbatFlag,
  kANACTRL_BodVbatInterruptFlag,
  kANACTRL_BodVbatPowerFlag,
  kANACTRL_BodCoreFlag,
  kANACTRL_BodCoreInterruptFlag,
  kANACTRL_BodCorePowerFlag,
  kANACTRL_DcdcFlag,
  kANACTRL_DcdcInterruptFlag,
  kANACTRL_DcdcPowerFlag
}
 ANACTRL interrupt flags. More...
 
enum  _anactrl_interrupt {
  kANACTRL_BodVbatInterruptEnable,
  kANACTRL_BodCoreInterruptEnable,
  kANACTRL_DcdcInterruptEnable = ANACTRL_BOD_DCDC_INT_CTRL_DCDC_INT_ENABLE_MASK,
  kANACTRL_BodVbatInterruptClear,
  kANACTRL_BodCoreInterruptClear,
  kANACTRL_DcdcInterruptClear = ANACTRL_BOD_DCDC_INT_CTRL_DCDC_INT_CLEAR_MASK
}
 ANACTRL interrupt control. More...
 
enum  _anactrl_flags {
  kANACTRL_FlashPowerDownFlag = ANACTRL_ANALOG_CTRL_STATUS_FLASH_PWRDWN_MASK,
  kANACTRL_FlashInitErrorFlag
}
 ANACTRL status flags. More...
 
enum  _anactrl_osc_flags {
  kANACTRL_OutputClkValidFlag = ANACTRL_FRO192M_STATUS_CLK_VALID_MASK,
  kANACTRL_CCOThresholdVoltageFlag,
  kANACTRL_XO32MOutputReadyFlag
}
 ANACTRL FRO192M and XO32M status flags. More...
 

Initialization and deinitialization

void ANACTRL_Init (ANACTRL_Type *base)
 Enable the access to ANACTRL registers and initialize ANACTRL module. More...
 
void ANACTRL_Deinit (ANACTRL_Type *base)
 De-initialize ANACTRL module. More...
 

Set oscillators

void ANACTRL_SetFro192M (ANACTRL_Type *base, anactrl_fro192M_config_t *config)
 Set the on-chip high-speed Free Running Oscillator. More...
 
void ANACTRL_GetDefaultFro192MConfig (anactrl_fro192M_config_t *config)
 Get the default configuration of FRO192M. More...
 
void ANACTRL_SetXo32M (ANACTRL_Type *base, anactrl_xo32M_config_t *config)
 Set the 32 MHz Crystal oscillator. More...
 
void ANACTRL_GetDefaultXo32MConfig (anactrl_xo32M_config_t *config)
 Get the default configuration of XO32M. More...
 

Measure Frequency

uint32_t ANACTRL_MeasureFrequency (ANACTRL_Type *base, uint8_t scale, uint32_t refClkFreq)
 Measure Frequency. More...
 

Interrupt Interface

static void ANACTRL_EnableInterrupts (ANACTRL_Type *base, uint32_t mask)
 Enable the ANACTRL interrupts. More...
 
static void ANACTRL_DisableInterrupts (ANACTRL_Type *base, uint32_t mask)
 Disable the ANACTRL interrupts. More...
 
static void ANACTRL_ClearInterrupts (ANACTRL_Type *base, uint32_t mask)
 Clear the ANACTRL interrupts. More...
 

Status Interface

static uint32_t ANACTRL_GetStatusFlags (ANACTRL_Type *base)
 Get ANACTRL status flags. More...
 
static uint32_t ANACTRL_GetOscStatusFlags (ANACTRL_Type *base)
 Get ANACTRL oscillators status flags. More...
 
static uint32_t ANACTRL_GetInterruptStatusFlags (ANACTRL_Type *base)
 Get ANACTRL interrupt status flags. More...
 

Data Structure Documentation

struct anactrl_fro192M_config_t

This structure holds the configuration settings for the on-chip high-speed Free Running Oscillator. To initialize this structure to reasonable defaults, call the ANACTRL_GetDefaultFro192MConfig() function and pass a pointer to your config structure instance.

Data Fields

bool enable12MHzClk
 Enable 12MHz clock. More...
 
bool enable96MHzClk
 Enable 96MHz clock. More...
 

Field Documentation

bool anactrl_fro192M_config_t::enable12MHzClk
bool anactrl_fro192M_config_t::enable96MHzClk
struct anactrl_xo32M_config_t

This structure holds the configuration settings for the 32 MHz crystal oscillator. To initialize this structure to reasonable defaults, call the ANACTRL_GetDefaultXo32MConfig() function and pass a pointer to your config structure instance.

Data Fields

bool enableACBufferBypass
 Enable XO AC buffer bypass in pll and top level. More...
 
bool enablePllUsbOutput
 Enable XO 32 MHz output to USB HS PLL. More...
 
bool enableSysCLkOutput
 Enable XO 32 MHz output to CPU system, SCT, and CLKOUT.
 

Field Documentation

bool anactrl_xo32M_config_t::enableACBufferBypass
bool anactrl_xo32M_config_t::enablePllUsbOutput

Macro Definition Documentation

#define FSL_ANACTRL_DRIVER_VERSION   (MAKE_VERSION(2, 1, 2)) /*!< Version 2.1.2. */`

Enumeration Type Documentation

Enumerator
kANACTRL_BodVbatFlag 

BOD VBAT Interrupt status before Interrupt Enable.

kANACTRL_BodVbatInterruptFlag 

BOD VBAT Interrupt status after Interrupt Enable.

kANACTRL_BodVbatPowerFlag 

Current value of BOD VBAT power status output.

kANACTRL_BodCoreFlag 

BOD CORE Interrupt status before Interrupt Enable.

kANACTRL_BodCoreInterruptFlag 

BOD CORE Interrupt status after Interrupt Enable.

kANACTRL_BodCorePowerFlag 

Current value of BOD CORE power status output.

kANACTRL_DcdcFlag 

DCDC Interrupt status before Interrupt Enable.

kANACTRL_DcdcInterruptFlag 

DCDC Interrupt status after Interrupt Enable.

kANACTRL_DcdcPowerFlag 

Current value of DCDC power status output.

Enumerator
kANACTRL_BodVbatInterruptEnable 

BOD VBAT interrupt control.

kANACTRL_BodCoreInterruptEnable 

BOD CORE interrupt control.

kANACTRL_DcdcInterruptEnable 

DCDC interrupt control.

kANACTRL_BodVbatInterruptClear 

BOD VBAT interrupt clear.1: Clear the interrupt.

Self-cleared bit.

kANACTRL_BodCoreInterruptClear 

BOD CORE interrupt clear.1: Clear the interrupt.

Self-cleared bit.

kANACTRL_DcdcInterruptClear 

DCDC interrupt clear.1: Clear the interrupt.

Self-cleared bit.

Enumerator
kANACTRL_FlashPowerDownFlag 

Flash power-down status.

kANACTRL_FlashInitErrorFlag 

Flash initialization error status.

Enumerator
kANACTRL_OutputClkValidFlag 

Output clock valid signal.

kANACTRL_CCOThresholdVoltageFlag 

CCO threshold voltage detector output (signal vcco_ok).

kANACTRL_XO32MOutputReadyFlag 

Indicates XO out frequency statibilty.

Function Documentation

void ANACTRL_Init ( ANACTRL_Type *  base)
Parameters
baseANACTRL peripheral base address.
void ANACTRL_Deinit ( ANACTRL_Type *  base)
Parameters
baseANACTRL peripheral base address.
void ANACTRL_SetFro192M ( ANACTRL_Type *  base,
anactrl_fro192M_config_t config 
)
Parameters
baseANACTRL peripheral base address.
configPointer to FRO192M configuration structure. Refer to "anactrl_fro192M_config_t" structure.
void ANACTRL_GetDefaultFro192MConfig ( anactrl_fro192M_config_t config)

The default values are: code config->enable12MHzClk = true; config->enable96MHzClk = false; encode

Parameters
configPointer to FRO192M configuration structure. Refer to "anactrl_fro192M_config_t" structure.
void ANACTRL_SetXo32M ( ANACTRL_Type *  base,
anactrl_xo32M_config_t config 
)
Parameters
baseANACTRL peripheral base address.
configPointer to XO32M configuration structure. Refer to "anactrl_xo32M_config_t" structure.
void ANACTRL_GetDefaultXo32MConfig ( anactrl_xo32M_config_t config)

The default values are: code config->enablePllUsbOutput = false; config->enableSysCLkOutput = false; encode

Parameters
configPointer to XO32M configuration structure. Refer to "anactrl_xo32M_config_t" structure.
uint32_t ANACTRL_MeasureFrequency ( ANACTRL_Type *  base,
uint8_t  scale,
uint32_t  refClkFreq 
)

This function measures target frequency according to a accurate reference frequency.The formula is: Ftarget = (CAPVAL * Freference) / ((1<<SCALE)-1)

Parameters
baseANACTRL peripheral base address.
scaleDefine the power of 2 count that ref counter counts to during measurement.
refClkFreqfrequency of the reference clock.
Returns
frequency of the target clock.
Note
the minimum count (scale) is 2.
static void ANACTRL_EnableInterrupts ( ANACTRL_Type *  base,
uint32_t  mask 
)
inlinestatic
Parameters
baseANACTRL peripheral base address.
maskThe interrupt mask. Refer to "_anactrl_interrupt" enumeration.
static void ANACTRL_DisableInterrupts ( ANACTRL_Type *  base,
uint32_t  mask 
)
inlinestatic
Parameters
baseANACTRL peripheral base address.
maskThe interrupt mask. Refer to "_anactrl_interrupt" enumeration.
static void ANACTRL_ClearInterrupts ( ANACTRL_Type *  base,
uint32_t  mask 
)
inlinestatic
Parameters
baseANACTRL peripheral base address.
maskThe interrupt mask. Refer to "_anactrl_interrupt" enumeration.
static uint32_t ANACTRL_GetStatusFlags ( ANACTRL_Type *  base)
inlinestatic

This function gets Analog control status flags. The flags are returned as the logical OR value of the enumerators _anactrl_flags. To check for a specific status, compare the return value with enumerators in the _anactrl_flags. For example, to check whether the flash is in power down mode:

* if (kANACTRL_FlashPowerDownFlag & ANACTRL_ANACTRL_GetStatusFlags(ANACTRL))
* {
* ...
* }
*
Parameters
baseANACTRL peripheral base address.
Returns
ANACTRL status flags which are given in the enumerators in the _anactrl_flags.
static uint32_t ANACTRL_GetOscStatusFlags ( ANACTRL_Type *  base)
inlinestatic

This function gets Anactrl oscillators status flags. The flags are returned as the logical OR value of the enumerators _anactrl_osc_flags. To check for a specific status, compare the return value with enumerators in the _anactrl_osc_flags. For example, to check whether the FRO192M clock output is valid:

* if (kANACTRL_OutputClkValidFlag & ANACTRL_ANACTRL_GetOscStatusFlags(ANACTRL))
* {
* ...
* }
*
Parameters
baseANACTRL peripheral base address.
Returns
ANACTRL oscillators status flags which are given in the enumerators in the _anactrl_osc_flags.
static uint32_t ANACTRL_GetInterruptStatusFlags ( ANACTRL_Type *  base)
inlinestatic

This function gets Anactrl interrupt status flags. The flags are returned as the logical OR value of the enumerators _anactrl_interrupt_flags. To check for a specific status, compare the return value with enumerators in the _anactrl_interrupt_flags. For example, to check whether the VBAT voltage level is above the threshold:

* if (kANACTRL_BodVbatPowerFlag & ANACTRL_ANACTRL_GetInterruptStatusFlags(ANACTRL))
* {
* ...
* }
*
Parameters
baseANACTRL peripheral base address.
Returns
ANACTRL oscillators status flags which are given in the enumerators in the _anactrl_osc_flags.