MCUXpresso SDK API Reference Manual  Rev 2.16.000
NXP Semiconductors
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
DCDC_SOC driver

Overview

The MCUXpresso SDK provides APIs for MCUXpresso SDK devices' dcdc operation.

The DCDC Converter(DCDC) is used for generating the power supply for the chip's core logic. It can provide two outputs for SoC peripherals and external devices with high conversion efficiency. As a module to provide the power for hardware system, the DCDC starts working when the system is powered up before the software takes over the SoC. Some important configuration is done by the board settings. Before the software can access the DCDC's register, the DCDC is already working normally with the default settings. However, if the application needs to improve the DCDC's performance or change the default settings, this DCDC driver would be helpful. The DCDC's register cannot be accessed by software before its initialization (open the clock gate).

The DCDC module supports two control modes: Static control mode and Set point control mode. When the module controlled by GPC set points, that is set point control mode, the DCDC_SetPointInit() function can be used to enable DCDC module, set outputs' target voltage in the specific set point. When the control mode is set as static control mode, to change the target voltage value of DCDC's outputs, the APIs in "Outputs' Target Voltage Related Interfaces" function group can be used. To set DCDC module's power mode, the APIs in "Power Mode Related Interfaces" function group can be used.

Data Structures

struct  dcdc_config_t
 Configuration for DCDC. More...
 
struct  dcdc_min_power_config_t
 Configuration for min power setting. More...
 
struct  dcdc_detection_config_t
 Configuration for DCDC detection. More...
 
struct  dcdc_loop_control_config_t
 Configuration for the loop control. More...
 
struct  dcdc_internal_regulator_config_t
 Configuration for DCDC internal regulator. More...
 

Macros

#define FSL_DCDC_DRIVER_VERSION   (MAKE_VERSION(2, 0, 1))
 DCDC driver version. More...
 
#define VDD1P0_TARGET_VOLTAGE
 The array of VDD1P0 target voltage. More...
 
#define VDD1P8_TARGET_VOLTAGE
 The array of VDD1P8 target voltage. More...
 

Enumerations

enum  _dcdc_status_flags { kDCDC_AlreadySettledStatusFlag = DCDC_REG0_STS_DC_OK_MASK }
 The enumeration of DCDC status flags. More...
 
enum  dcdc_core_slice_t {
  kDCDC_CORE0 = 0x0U,
  kDCDC_CORE1 = 0x1U
}
 CORE slice. More...
 
enum  dcdc_control_mode_t {
  kDCDC_SoftwareControl = 0U,
  kDCDC_GPCControl = 1U
}
 DCDC control mode, including software control mode and GPC control mode. More...
 
enum  dcdc_trim_input_mode_t {
  kDCDC_SampleTrimInput = 0U,
  kDCDC_HoldTrimInput = 1U
}
 DCDC trim input mode, including sample trim input and hold trim input. More...
 
enum  dcdc_1P0_target_vol_t {
  kDCDC_1P0Target0P6V = 0U,
  kDCDC_1P0Target0P625V,
  kDCDC_1P0Target0P65V,
  kDCDC_1P0Target0P675V,
  kDCDC_1P0Target0P7V,
  kDCDC_1P0Target0P725V,
  kDCDC_1P0Target0P75V,
  kDCDC_1P0Target0P775V,
  kDCDC_1P0Target0P8V,
  kDCDC_1P0Target0P825V,
  kDCDC_1P0Target0P85V,
  kDCDC_1P0Target0P875V,
  kDCDC_1P0Target0P9V,
  kDCDC_1P0Target0P925V,
  kDCDC_1P0Target0P95V,
  kDCDC_1P0Target0P975V,
  kDCDC_1P0Target1P0V,
  kDCDC_1P0Target1P025V,
  kDCDC_1P0Target1P05V,
  kDCDC_1P0Target1P075V,
  kDCDC_1P0Target1P1V,
  kDCDC_1P0Target1P125V,
  kDCDC_1P0Target1P15V,
  kDCDC_1P0Target1P175V,
  kDCDC_1P0Target1P2V,
  kDCDC_1P0Target1P225V,
  kDCDC_1P0Target1P25V,
  kDCDC_1P0Target1P275V,
  kDCDC_1P0Target1P3V,
  kDCDC_1P0Target1P325V,
  kDCDC_1P0Target1P35V,
  kDCDC_1P0Target1P375V = 0x1FU
}
 The enumeration VDD1P0's target voltage value. More...
 
enum  dcdc_1P8_target_vol_t {
  kDCDC_1P8Target1P5V = 0U,
  kDCDC_1P8Target1P525V,
  kDCDC_1P8Target1P55V,
  kDCDC_1P8Target1P575V,
  kDCDC_1P8Target1P6V,
  kDCDC_1P8Target1P625V,
  kDCDC_1P8Target1P65V,
  kDCDC_1P8Target1P675V,
  kDCDC_1P8Target1P7V,
  kDCDC_1P8Target1P725V,
  kDCDC_1P8Target1P75V,
  kDCDC_1P8Target1P775V,
  kDCDC_1P8Target1P8V,
  kDCDC_1P8Target1P825V,
  kDCDC_1P8Target1P85V,
  kDCDC_1P8Target1P875V,
  kDCDC_1P8Target1P9V,
  kDCDC_1P8Target1P925V,
  kDCDC_1P8Target1P95V,
  kDCDC_1P8Target1P975V,
  kDCDC_1P8Target2P0V,
  kDCDC_1P8Target2P025V,
  kDCDC_1P8Target2P05V,
  kDCDC_1P8Target2P075V,
  kDCDC_1P8Target2P1V,
  kDCDC_1P8Target2P125V,
  kDCDC_1P8Target2P15V,
  kDCDC_1P8Target2P175V,
  kDCDC_1P8Target2P2V,
  kDCDC_1P8Target2P225V,
  kDCDC_1P8Target2P25V,
  kDCDC_1P8Target2P275V = 0x1FU
}
 The enumeration VDD1P8's target voltage value. More...
 
enum  dcdc_comparator_current_bias_t {
  kDCDC_ComparatorCurrentBias50nA = 0U,
  kDCDC_ComparatorCurrentBias100nA = 1U,
  kDCDC_ComparatorCurrentBias200nA = 2U,
  kDCDC_ComparatorCurrentBias400nA = 3U
}
 The current bias of low power comparator. More...
 
enum  dcdc_peak_current_threshold_t {
  kDCDC_PeakCurrentRunMode250mALPMode1P5A = 0U,
  kDCDC_PeakCurrentRunMode200mALPMode1P5A,
  kDCDC_PeakCurrentRunMode250mALPMode2A,
  kDCDC_PeakCurrentRunMode200mALPMode2A
}
 The threshold if peak current detection. More...
 
enum  dcdc_clock_source_t {
  kDCDC_ClockAutoSwitch = 0U,
  kDCDC_ClockInternalOsc = 1U,
  kDCDC_ClockExternalOsc = 2U
}
 Oscillator clock option. More...
 
enum  dcdc_voltage_output_sel_t {
  kDCDC_VoltageOutput1P8 = 0U,
  kDCDC_VoltageOutput1P0 = 1U
}
 Voltage output option. More...
 

Initialization and De-initialization Interfaces

void DCDC_Init (DCDC_Type *base, const dcdc_config_t *config)
 Initializes the basic resource of DCDC module, such as control mode, etc. More...
 
void DCDC_Deinit (DCDC_Type *base)
 De-initializes the DCDC module. More...
 
void DCDC_GetDefaultConfig (dcdc_config_t *config)
 Gets the default setting for DCDC, such as control mode, etc. More...
 

Outputs' Target Voltage Related Interfaces

static void DCDC_SetVDD1P0LowPowerModeTargetVoltage (DCDC_Type *base, dcdc_core_slice_t core, dcdc_1P0_target_vol_t targetVoltage)
 
static uint16_t DCDC_GetVDD1P0LowPowerModeTargetVoltage (DCDC_Type *base)
 Gets the target value of VDD1P0 in low power mode, the result takes "mV" as the unit. More...
 
static void DCDC_EnableVDD1P0LowPowerMode (DCDC_Type *base, dcdc_core_slice_t core, bool enable)
 
static void DCDC_SetVDD1P0BuckModeTargetVoltage (DCDC_Type *base, dcdc_core_slice_t core, dcdc_1P0_target_vol_t targetVoltage)
 Sets the target value(ranges from 0.6V to 1.375V) of VDD1P0 in buck mode, 25mV each step. More...
 
static uint16_t DCDC_GetVDD1P0BuckModeTargetVoltage (DCDC_Type *base)
 Gets the target value of VDD1P0 in buck mode, the result takes "mV" as the unit. More...
 
static void DCDC_GPC_SetVDD1P0BuckModeTargetVoltage (DCDC_Type *base, dcdc_core_slice_t core, dcdc_1P0_target_vol_t targetVoltage)
 
static void DCDC_GPC_SetVDD1P0LowPowerModeTargetVoltage (DCDC_Type *base, dcdc_core_slice_t core, dcdc_1P0_target_vol_t targetVoltage)
 Sets the target value(ranges from 0.625V to 1.4V) of VDD1P0 in low power mode, 25mV each step. More...
 
static void DCDC_GPC_EnableVDD1P0LowPowerMode (DCDC_Type *base, dcdc_core_slice_t core, bool enable)
 Enable VDD1P0 in low power mode. More...
 
static void DCDC_SetVDD1P8TargetVoltage (DCDC_Type *base, dcdc_core_slice_t core, dcdc_1P8_target_vol_t targetVoltage)
 Sets the target value(ranges from 1.5V to 2.275V) of VDD1P8, 25mV each step. More...
 
static uint16_t DCDC_GetVDD1P8TargetVoltage (DCDC_Type *base)
 Gets the target value of VDD1P8, the result takes "mV" as the unit. More...
 
static void DCDC_EnableVDD1P0TargetVoltageStepping (DCDC_Type *base, bool enable)
 Enables/Disables stepping for VDD1P0, before entering low power modes the stepping for VDD1P0 must be disabled. More...
 

Detection Related Inferfaces

void DCDC_GetDefaultDetectionConfig (dcdc_detection_config_t *config)
 Gets the default setting for detection configuration. More...
 
void DCDC_SetDetectionConfig (DCDC_Type *base, const dcdc_detection_config_t *config)
 Configures the DCDC detection. More...
 

DCDC Miscellaneous Inferfaces

void DCDC_SetClockSource (DCDC_Type *base, dcdc_clock_source_t clockSource)
 Configures the DCDC clock source. More...
 
static void DCDC_SetBandgapVoltageTrimValue (DCDC_Type *base, uint32_t trimValue)
 Sets the bangap trim value(0~31) to trim bandgap voltage. More...
 
void DCDC_GetDefaultLoopControlConfig (dcdc_loop_control_config_t *config)
 Gets the default setting for loop control configuration. More...
 
void DCDC_SetLoopControlConfig (DCDC_Type *base, const dcdc_loop_control_config_t *config)
 Configures the DCDC loop control. More...
 
void DCDC_SetInternalRegulatorConfig (DCDC_Type *base, const dcdc_internal_regulator_config_t *config)
 Configures the DCDC internal regulator. More...
 
static void DCDC_EnableAdjustDelay (DCDC_Type *base, bool enable)
 Adjusts delay to reduce ground noise. More...
 

DCDC Status Related Interfaces

static uint32_t DCDC_GetStatusFlags (DCDC_Type *base)
 Get DCDC status flags. More...
 

Application Guideline Interfaces

void DCDC_BootIntoCCM (DCDC_Type *base)
 Boots DCDC into CCM(continous conduction mode). More...
 

Data Structure Documentation

struct dcdc_config_t

Data Fields

dcdc_control_mode_t controlMode
 DCDC control mode. More...
 
dcdc_trim_input_mode_t trimInputMode
 Hold trim input. More...
 

Field Documentation

dcdc_control_mode_t dcdc_config_t::controlMode
dcdc_trim_input_mode_t dcdc_config_t::trimInputMode
struct dcdc_min_power_config_t

Data Fields

bool enableUseHalfFreqForContinuous
 Set DCDC clock to half frequency for the continuous mode. More...
 

Field Documentation

bool dcdc_min_power_config_t::enableUseHalfFreqForContinuous
struct dcdc_detection_config_t

Data Fields

bool enableXtalokDetection
 Enable xtalok detection circuit. More...
 
bool powerDownOverVoltageVdd1P8Detection
 Power down over-voltage detection comparator for VDD1P8. More...
 
bool powerDownOverVoltageVdd1P0Detection
 Power down over-voltage detection comparator for VDD1P0. More...
 
bool powerDownLowVoltageDetection
 Power down low-voltage detection comparator. More...
 
bool powerDownOverCurrentDetection
 Power down over-current detection. More...
 

Field Documentation

bool dcdc_detection_config_t::enableXtalokDetection
bool dcdc_detection_config_t::powerDownOverVoltageVdd1P8Detection
bool dcdc_detection_config_t::powerDownOverVoltageVdd1P0Detection
bool dcdc_detection_config_t::powerDownLowVoltageDetection
bool dcdc_detection_config_t::powerDownOverCurrentDetection
struct dcdc_loop_control_config_t

Data Fields

bool enableCommonHysteresis
 Enable hysteresis in switching converter common mode analog comparators. More...
 
bool enableCommonThresholdDetection
 Increase the threshold detection for common mode analog comparator. More...
 
bool enableDifferentialHysteresis
 Enable hysteresis in switching converter differential mode analog comparators. More...
 
bool enableDifferentialThresholdDetection
 Increase the threshold detection for differential mode analog comparators. More...
 
bool enableInvertHysteresisSign
 Invert the sign of the hysteresis in DC-DC analog comparators. More...
 
bool enableRCThresholdDetection
 Increase the threshold detection for RC scale circuit. More...
 
uint32_t enableRCScaleCircuit
 Available range is 0~7. More...
 
uint32_t complementFeedForwardStep
 Available range is 0~7. More...
 
uint32_t controlParameterMagnitude
 Available range is 0~15. More...
 
uint32_t integralProportionalRatio
 Available range is 0~3.Ratio of integral control parameter to proportional control parameter in the switching DC-DC converter, and can be used to optimize efficiency and loop response. More...
 

Field Documentation

bool dcdc_loop_control_config_t::enableCommonHysteresis

This feature will improve transient supply ripple and efficiency.

bool dcdc_loop_control_config_t::enableCommonThresholdDetection
bool dcdc_loop_control_config_t::enableDifferentialHysteresis

This feature will improve transient supply ripple and efficiency.

bool dcdc_loop_control_config_t::enableDifferentialThresholdDetection
bool dcdc_loop_control_config_t::enableInvertHysteresisSign
bool dcdc_loop_control_config_t::enableRCThresholdDetection
uint32_t dcdc_loop_control_config_t::enableRCScaleCircuit

Enable analog circuit of DC-DC converter to respond faster under transient load conditions.

uint32_t dcdc_loop_control_config_t::complementFeedForwardStep

Two's complement feed forward step in duty cycle in the switching DC-DC converter. Each time this field makes a transition from 0x0, the loop filter of the DC-DC converter is stepped once by a value proportional to the change. This can be used to force a certain control loop behavior, such as improving response under known heavy load transients.

uint32_t dcdc_loop_control_config_t::controlParameterMagnitude

Magnitude of proportional control parameter in the switching DC-DC converter control loop.

uint32_t dcdc_loop_control_config_t::integralProportionalRatio
struct dcdc_internal_regulator_config_t

Data Fields

uint32_t feedbackPoint
 Available range is 0~3. More...
 

Field Documentation

uint32_t dcdc_internal_regulator_config_t::feedbackPoint

Select the feedback point of the internal regulator.

Macro Definition Documentation

#define FSL_DCDC_DRIVER_VERSION   (MAKE_VERSION(2, 0, 1))

Version 2.0.1.

#define VDD1P0_TARGET_VOLTAGE
Value:
{ \
600, 625, 650, 675, 700, 725, 750, 775, 800, 825, 850, 875, 900, 925, 950, 975, 1000, 1025, 1050, 1075, 1100, \
1125, 1150, 1175, 1200, 1225, 1250, 1275, 1300, 1325, 1350, 1375 \
}
#define VDD1P8_TARGET_VOLTAGE
Value:
{ \
1500, 1525, 1550, 1575, 1600, 1625, 1650, 1675, 1700, 1725, 1750, 1775, 1800, 1825, 1850, 1875, 1900, 1925, \
1950, 1975, 2000, 2025, 2050, 2075, 2100, 2125, 2150, 2175, 2200, 2225, 2250, 2275 \
}

Enumeration Type Documentation

Enumerator
kDCDC_AlreadySettledStatusFlag 

Indicate DCDC status.

1'b1: DCDC already settled 1'b0: DCDC is settling.

Enumerator
kDCDC_CORE0 

CORE slice 0.

kDCDC_CORE1 

CORE slice 1.

Enumerator
kDCDC_SoftwareControl 

Controlled by software.

kDCDC_GPCControl 

Controlled by GPC.

Enumerator
kDCDC_SampleTrimInput 

Sample trim input.

kDCDC_HoldTrimInput 

Hold trim input.

Enumerator
kDCDC_1P0Target0P6V 

The target voltage value of VDD1P0 is 0.6V.

kDCDC_1P0Target0P625V 

The target voltage value of VDD1P0 is 0.625V.

kDCDC_1P0Target0P65V 

The target voltage value of VDD1P0 is 0.65V.

kDCDC_1P0Target0P675V 

The target voltage value of VDD1P0 is 0.675V.

kDCDC_1P0Target0P7V 

The target voltage value of VDD1P0 is 0.7V.

kDCDC_1P0Target0P725V 

The target voltage value of VDD1P0 is 0.725V.

kDCDC_1P0Target0P75V 

The target voltage value of VDD1P0 is 0.75V.

kDCDC_1P0Target0P775V 

The target voltage value of VDD1P0 is 0.775V.

kDCDC_1P0Target0P8V 

The target voltage value of VDD1P0 is 0.8V.

kDCDC_1P0Target0P825V 

The target voltage value of VDD1P0 is 0.825V.

kDCDC_1P0Target0P85V 

The target voltage value of VDD1P0 is 0.85V.

kDCDC_1P0Target0P875V 

The target voltage value of VDD1P0 is 0.875V.

kDCDC_1P0Target0P9V 

The target voltage value of VDD1P0 is 0.9V.

kDCDC_1P0Target0P925V 

The target voltage value of VDD1P0 is 0.925V.

kDCDC_1P0Target0P95V 

The target voltage value of VDD1P0 is 0.95V.

kDCDC_1P0Target0P975V 

The target voltage value of VDD1P0 is 0.975V.

kDCDC_1P0Target1P0V 

The target voltage value of VDD1P0 is 1.0V.

kDCDC_1P0Target1P025V 

The target voltage value of VDD1P0 is 1.025V.

kDCDC_1P0Target1P05V 

The target voltage value of VDD1P0 is 1.05V.

kDCDC_1P0Target1P075V 

The target voltage value of VDD1P0 is 1.075V.

kDCDC_1P0Target1P1V 

The target voltage value of VDD1P0 is 1.1V.

kDCDC_1P0Target1P125V 

The target voltage value of VDD1P0 is 1.125V.

kDCDC_1P0Target1P15V 

The target voltage value of VDD1P0 is 1.15V.

kDCDC_1P0Target1P175V 

The target voltage value of VDD1P0 is 1.175V.

kDCDC_1P0Target1P2V 

The target voltage value of VDD1P0 is 1.2V.

kDCDC_1P0Target1P225V 

The target voltage value of VDD1P0 is 1.225V.

kDCDC_1P0Target1P25V 

The target voltage value of VDD1P0 is 1.25V.

kDCDC_1P0Target1P275V 

The target voltage value of VDD1P0 is 1.275V.

kDCDC_1P0Target1P3V 

The target voltage value of VDD1P0 is 1.3V.

kDCDC_1P0Target1P325V 

The target voltage value of VDD1P0 is 1.325V.

kDCDC_1P0Target1P35V 

The target voltage value of VDD1P0 is 1.35V.

kDCDC_1P0Target1P375V 

The target voltage value of VDD1P0 is 1.375V.

Enumerator
kDCDC_1P8Target1P5V 

The target voltage value of VDD1P8 is 1.5V.

kDCDC_1P8Target1P525V 

The target voltage value of VDD1P8 is 1.525V.

kDCDC_1P8Target1P55V 

The target voltage value of VDD1P8 is 1.55V.

kDCDC_1P8Target1P575V 

The target voltage value of VDD1P8 is 1.575V.

kDCDC_1P8Target1P6V 

The target voltage value of VDD1P8 is 1.6V.

kDCDC_1P8Target1P625V 

The target voltage value of VDD1P8 is 1.625V.

kDCDC_1P8Target1P65V 

The target voltage value of VDD1P8 is 1.65V.

kDCDC_1P8Target1P675V 

The target voltage value of VDD1P8 is 1.675V.

kDCDC_1P8Target1P7V 

The target voltage value of VDD1P8 is 1.7V.

kDCDC_1P8Target1P725V 

The target voltage value of VDD1P8 is 1.725V.

kDCDC_1P8Target1P75V 

The target voltage value of VDD1P8 is 1.75V.

kDCDC_1P8Target1P775V 

The target voltage value of VDD1P8 is 1.775V.

kDCDC_1P8Target1P8V 

The target voltage value of VDD1P8 is 1.8V.

kDCDC_1P8Target1P825V 

The target voltage value of VDD1P8 is 1.825V.

kDCDC_1P8Target1P85V 

The target voltage value of VDD1P8 is 1.85V.

kDCDC_1P8Target1P875V 

The target voltage value of VDD1P8 is 1.875V.

kDCDC_1P8Target1P9V 

The target voltage value of VDD1P8 is 1.9V.

kDCDC_1P8Target1P925V 

The target voltage value of VDD1P8 is 1.925V.

kDCDC_1P8Target1P95V 

The target voltage value of VDD1P8 is 1.95V.

kDCDC_1P8Target1P975V 

The target voltage value of VDD1P8 is 1.975V.

kDCDC_1P8Target2P0V 

The target voltage value of VDD1P8 is 2.0V.

kDCDC_1P8Target2P025V 

The target voltage value of VDD1P8 is 2.025V.

kDCDC_1P8Target2P05V 

The target voltage value of VDD1P8 is 2.05V.

kDCDC_1P8Target2P075V 

The target voltage value of VDD1P8 is 2.075V.

kDCDC_1P8Target2P1V 

The target voltage value of VDD1P8 is 2.1V.

kDCDC_1P8Target2P125V 

The target voltage value of VDD1P8 is 2.125V.

kDCDC_1P8Target2P15V 

The target voltage value of VDD1P8 is 2.15V.

kDCDC_1P8Target2P175V 

The target voltage value of VDD1P8 is 2.175V.

kDCDC_1P8Target2P2V 

The target voltage value of VDD1P8 is 2.2V.

kDCDC_1P8Target2P225V 

The target voltage value of VDD1P8 is 2.225V.

kDCDC_1P8Target2P25V 

The target voltage value of VDD1P8 is 2.25V.

kDCDC_1P8Target2P275V 

The target voltage value of VDD1P8 is 2.275V.

Enumerator
kDCDC_ComparatorCurrentBias50nA 

The current bias of low power comparator is 50nA.

kDCDC_ComparatorCurrentBias100nA 

The current bias of low power comparator is 100nA.

kDCDC_ComparatorCurrentBias200nA 

The current bias of low power comparator is 200nA.

kDCDC_ComparatorCurrentBias400nA 

The current bias of low power comparator is 400nA.

Enumerator
kDCDC_PeakCurrentRunMode250mALPMode1P5A 

Over peak current threshold in low power mode is 250mA, in run mode is 1.5A.

kDCDC_PeakCurrentRunMode200mALPMode1P5A 

Over peak current threshold in low power mode is 200mA, in run mode is 1.5A.

kDCDC_PeakCurrentRunMode250mALPMode2A 

Over peak current threshold in low power mode is 250mA, in run mode is 2A.

kDCDC_PeakCurrentRunMode200mALPMode2A 

Over peak current threshold in low power mode is 200mA, in run mode is 2A.

Enumerator
kDCDC_ClockAutoSwitch 

Automatic clock switch from internal oscillator to external clock.

kDCDC_ClockInternalOsc 

Use internal oscillator.

kDCDC_ClockExternalOsc 

Use external 24M crystal oscillator.

Enumerator
kDCDC_VoltageOutput1P8 

1.8V output.

kDCDC_VoltageOutput1P0 

1.0V output.

Function Documentation

void DCDC_Init ( DCDC_Type *  base,
const dcdc_config_t config 
)
Parameters
baseDCDC peripheral base address.
configPointer to the dcdc_config_t structure.
void DCDC_Deinit ( DCDC_Type *  base)
Parameters
baseDCDC peripheral base address.
void DCDC_GetDefaultConfig ( dcdc_config_t config)

This function initializes the user configuration structure to a default value. The default values are:

* config->controlMode = kDCDC_StaticControl;
* config->trimInputMode = kDCDC_SampleTrimInput;
* config->enableDcdcTimeout = false;
* config->enableSwitchingConverterOutput = false;
*
Parameters
configPointer to configuration structure. See to dcdc_config_t.
static uint16_t DCDC_GetVDD1P0LowPowerModeTargetVoltage ( DCDC_Type *  base)
inlinestatic
Parameters
baseDCDC peripheral base address.
Returns
The VDD1P0's voltage value in low power mode and the unit is "mV".
static void DCDC_SetVDD1P0BuckModeTargetVoltage ( DCDC_Type *  base,
dcdc_core_slice_t  core,
dcdc_1P0_target_vol_t  targetVoltage 
)
inlinestatic
Parameters
baseDCDC peripheral base address.
coreCore for DCDC to control.
targetVoltageThe target value of VDD1P0 in buck mode, see dcdc_1P0_target_vol_t.
static uint16_t DCDC_GetVDD1P0BuckModeTargetVoltage ( DCDC_Type *  base)
inlinestatic
Parameters
baseDCDC peripheral base address.
Returns
The VDD1P0's voltage value in buck mode and the unit is "mV".
static void DCDC_GPC_SetVDD1P0LowPowerModeTargetVoltage ( DCDC_Type *  base,
dcdc_core_slice_t  core,
dcdc_1P0_target_vol_t  targetVoltage 
)
inlinestatic
Parameters
baseDCDC peripheral base address.
coreCore for DCDC to control.
targetVoltageThe target value of VDD1P0 in low power mode, see dcdc_1P0_target_vol_t.
static void DCDC_GPC_EnableVDD1P0LowPowerMode ( DCDC_Type *  base,
dcdc_core_slice_t  core,
bool  enable 
)
inlinestatic
Parameters
baseDCDC peripheral base address.
coreCore for DCDC to control.
enableEnable the output or not.
static void DCDC_SetVDD1P8TargetVoltage ( DCDC_Type *  base,
dcdc_core_slice_t  core,
dcdc_1P8_target_vol_t  targetVoltage 
)
inlinestatic
Parameters
baseDCDC peripheral base address.
coreCore for DCDC to control.
targetVoltageThe target value of VDD1P8, see dcdc_1P8_target_vol_t.
static uint16_t DCDC_GetVDD1P8TargetVoltage ( DCDC_Type *  base)
inlinestatic
Parameters
baseDCDC peripheral base address.
Returns
The VDD1P8's voltage value and the unit is "mV".
static void DCDC_EnableVDD1P0TargetVoltageStepping ( DCDC_Type *  base,
bool  enable 
)
inlinestatic
Parameters
baseDCDC peripheral base address.
enableUsed to control the behavior.
  • true Enables stepping for VDD1P0.
  • false Disables stepping for VDD1P0.
void DCDC_GetDefaultDetectionConfig ( dcdc_detection_config_t config)

The default configuration are set according to responding registers' setting when powered on. They are:

* config->enableXtalokDetection = false;
* config->powerDownOverVoltageVdd1P8Detection = true;
* config->powerDownOverVoltageVdd1P0Detection = true;
* config->powerDownLowVoltageDetection = false;
* config->powerDownOverCurrentDetection = true;
* config->powerDownPeakCurrentDetection = true;
* config->powerDownZeroCrossDetection = true;
* config->OverCurrentThreshold = kDCDC_OverCurrentThresholdAlt0;
* config->PeakCurrentThreshold = kDCDC_PeakCurrentThresholdAlt0;
*
Parameters
configPointer to configuration structure. See to dcdc_detection_config_t.
void DCDC_SetDetectionConfig ( DCDC_Type *  base,
const dcdc_detection_config_t config 
)
Parameters
baseDCDC peripheral base address.
configPointer to configuration structure. See to dcdc_detection_config_t.
void DCDC_SetClockSource ( DCDC_Type *  base,
dcdc_clock_source_t  clockSource 
)
Parameters
baseDCDC peripheral base address.
clockSourceClock source for DCDC. See to dcdc_clock_source_t.
static void DCDC_SetBandgapVoltageTrimValue ( DCDC_Type *  base,
uint32_t  trimValue 
)
inlinestatic
Parameters
baseDCDC peripheral base address.
trimValueThe bangap trim value. Available range is 0U-31U.
void DCDC_GetDefaultLoopControlConfig ( dcdc_loop_control_config_t config)

The default configuration are set according to responding registers' setting when powered on. They are:

* config->enableCommonHysteresis = false;
* config->enableCommonThresholdDetection = false;
* config->enableInvertHysteresisSign = false;
* config->enableRCThresholdDetection = false;
* config->enableRCScaleCircuit = 0U;
* config->complementFeedForwardStep = 0U;
* config->controlParameterMagnitude = 2U;
* config->integralProportionalRatio = 2U;
*
Parameters
configPointer to configuration structure. See to dcdc_loop_control_config_t.
void DCDC_SetLoopControlConfig ( DCDC_Type *  base,
const dcdc_loop_control_config_t config 
)
Parameters
baseDCDC peripheral base address.
configPointer to configuration structure. See to dcdc_loop_control_config_t.
void DCDC_SetInternalRegulatorConfig ( DCDC_Type *  base,
const dcdc_internal_regulator_config_t config 
)
Parameters
baseDCDC peripheral base address.
configPointer to configuration structure. See to dcdc_internal_regulator_config_t.
static void DCDC_EnableAdjustDelay ( DCDC_Type *  base,
bool  enable 
)
inlinestatic
Parameters
baseDCDC peripheral base address.
enableEnable the feature or not.
static uint32_t DCDC_GetStatusFlags ( DCDC_Type *  base)
inlinestatic
Parameters
baseperipheral base address.
Returns
Mask of asserted status flags. See to _dcdc_status_flags.
void DCDC_BootIntoCCM ( DCDC_Type *  base)
* pwd_zcd=0x1;
* pwd_cmp_offset=0x0;
* dcdc_loopctrl_en_rcscale=0x3;
*
Parameters
baseDCDC peripheral base address.