MTB CAT1 Peripheral driver library

General Description

Functions

cy_en_syspm_status_t Cy_SysPm_BuckEnable (cy_en_syspm_buck_voltage1_t voltage)
 Switch the core supply regulator to Buck core regulator instead of the LDO regulator. More...
 
cy_en_syspm_status_t Cy_SysPm_BuckSetVoltage1 (cy_en_syspm_buck_voltage1_t voltage)
 Sets the output 1 voltage for the Buck regulator that can supply the device core. More...
 
void Cy_SysPm_BuckSetVoltage2 (cy_en_syspm_buck_voltage2_t voltage, bool waitToSettle)
 This function sets output voltage 2 (Vbuckrf) of the SIMO Buck regulator. More...
 
void Cy_SysPm_BuckEnableVoltage2 (void)
 Enable the output 2 voltage (Vbuckrf) of the SIMO Buck regulator. More...
 
bool Cy_SysPm_BuckIsOutputEnabled (cy_en_syspm_buck_out_t output)
 This function gets the current output status of the Buck outputs. More...
 
bool Cy_SysPm_BuckIsEnabled (void)
 Get the current status of the Buck regulator. More...
 
cy_en_syspm_buck_voltage1_t Cy_SysPm_BuckGetVoltage1 (void)
 Gets the current nominal output 1 voltage (Vccbuck1) of the Buck regulator. More...
 
cy_en_syspm_buck_voltage2_t Cy_SysPm_BuckGetVoltage2 (void)
 Gets the current output 2 nominal voltage (Vbuckrf) of the SIMO Buck regulator. More...
 
void Cy_SysPm_BuckDisableVoltage2 (void)
 Disables the output 2 voltage (Vbuckrf) of the SIMO Buck regulator. More...
 
void Cy_SysPm_BuckSetVoltage2HwControl (bool hwControl)
 Sets the hardware control for SIMO Buck output 2 (Vbuckrf). More...
 
bool Cy_SysPm_BuckIsVoltage2HwControlled (void)
 Returns the hardware control state for Buck output 2 (Vbuckrf). More...
 
cy_en_syspm_status_t Cy_SysPm_CoreBuckSetVoltage (cy_en_syspm_core_buck_voltage_t voltage)
 Set the Core Buck Regulator Voltage. More...
 
cy_en_syspm_core_buck_voltage_t Cy_SysPm_CoreBuckGetVoltage (void)
 Get the Core Buck Regulator Voltage. More...
 
void Cy_SysPm_CoreBuckSetMode (cy_en_syspm_core_buck_mode_t mode)
 Set the Core Buck Regulator mode. More...
 
cy_en_syspm_core_buck_mode_t Cy_SysPm_CoreBuckGetMode (void)
 Get the Core Buck Regulator Mode. More...
 
cy_en_syspm_status_t Cy_SysPm_CoreBuckStatus (void)
 Get the status of Core Buck Regulator. More...
 
cy_en_syspm_status_t Cy_SysPm_CoreBuckDpslpSetVoltage (cy_en_syspm_core_buck_voltage_t voltage)
 Set the Deepsleep mode Core Buck Regulator Voltage. More...
 
cy_en_syspm_core_buck_voltage_t Cy_SysPm_CoreBuckDpslpGetVoltage (void)
 Get the Deepsleep Core Buck Regulator Voltage. More...
 
void Cy_SysPm_CoreBuckDpslpSetMode (cy_en_syspm_core_buck_mode_t mode)
 Set the Deepsleep Core Buck Regulator mode. More...
 
cy_en_syspm_core_buck_mode_t Cy_SysPm_CoreBuckDpslpGetMode (void)
 Get the Deepsleep Core Buck Regulator Mode. More...
 
void Cy_SysPm_CoreBuckDpslpEnableOverride (bool enable)
 Enable the Override feature for core buck during Deepsleep. More...
 
bool Cy_SysPm_CoreBuckDpslpIsOverrideEnabled (void)
 Checks if Override feature of core buck during deepsleep is enabled or not. More...
 
void Cy_SysPm_CoreBuckSetProfile (cy_en_syspm_core_buck_profile_t profile)
 Set the Core Buck Regulator Profile. More...
 
cy_en_syspm_core_buck_profile_t Cy_SysPm_CoreBuckGetProfile (void)
 Get the Core Buck Regulator Profile. More...
 
cy_en_syspm_status_t Cy_SysPm_RetLdoStatus (void)
 Get the status of RETLDO Regulator. More...
 
cy_en_syspm_status_t Cy_SysPm_RetLdoConfigure (cy_stc_syspm_retldo_params_t *retLdoParam)
 Configures the RETLDO Regulator. More...
 
cy_en_syspm_status_t Cy_SysPm_SramLdoStatus (void)
 Get the status of SRAMLDO Regulator. More...
 
cy_en_syspm_status_t Cy_SysPm_SramLdoConfigure (cy_stc_syspm_sramldo_params_t *sramLdoParam)
 Configures the SRAMLDO Regulator. More...
 
cy_en_syspm_status_t Cy_SysPm_SramLdoEnable (bool enable)
 Enable/Disable SRAMLDO Regulator. More...
 
void Cy_SysPm_SramLdoSetVoltage (cy_en_syspm_sramldo_voltage_t voltage)
 Set SRAM LDO Voltage. More...
 
cy_en_syspm_sramldo_voltage_t Cy_SysPm_SramLdoGetVoltage (void)
 Get the SRAM LDO Voltage. More...
 
cy_en_syspm_status_t Cy_SysPm_MiscLdoStatus (void)
 Get the status of MISCLDO Regulator. More...
 
cy_en_syspm_status_t Cy_SysPm_MiscLdoConfigure (cy_stc_syspm_miscldo_params_t *miscLdoParam)
 Configures the MISCLDO Regulator. More...
 
void Cy_SysPm_CoreBuckSetInrushLimit (cy_en_syspm_core_inrush_limit_t inrushLimit)
 Set the Core Buck Inrush Limit. More...
 
cy_en_syspm_core_inrush_limit_t Cy_SysPm_CoreBuckGetInrushLimit (void)
 Get the Core Buck Inrush Limit. More...
 
cy_en_syspm_status_t Cy_SysPm_CoreBuckConfig (cy_stc_syspm_core_buck_params_t *config)
 Configures the Core Buck Regulator. More...
 
cy_en_syspm_status_t Cy_SysPm_LdoExtraRequesterConfig (cy_stc_syspm_extraReq_params_t *extraReqConfig)
 Configures the Extra Requester for Core Buck Regulator. More...
 

Function Documentation

◆ Cy_SysPm_BuckEnable()

cy_en_syspm_status_t Cy_SysPm_BuckEnable ( cy_en_syspm_buck_voltage1_t  voltage)

Switch the core supply regulator to Buck core regulator instead of the LDO regulator.

The Buck core regulator provides output voltage(s) using one external inductor and can supply Vccd with higher efficiency than the LDO under some conditions, such as high external supply voltage.

Before changing from LDO to Buck, ensure that the circuit board has connected Vccbuck1 to Vccd and also populated the necessary external components for the Buck regulator, including an inductor and a capacitor for each output. Refer to the device TRM for more detail.

When changing from a higher voltage to a lower voltage (from system LP = LDO 1.1 V (nominal) to system ULP = Buck 0.9 V (nominal)), ensure that:

  • The device maximum operating frequency for all the Clk_HF paths, peripheral, and slow clock are under the ULP Limitations.
  • The total current consumption is under the ULP Limitations.
  • The appropriate wait states values are set for the flash using the Cy_SysLib_SetWaitStates() function as explained below.

Setting wait states values for flash

The flash access time when the core output voltage is 0.9 V (nominal) is longer than at 1.1 V (nominal). Therefore, the number of the wait states must be adjusted. Use the Cy_SysLib_SetWaitStates() function to set the appropriate wait state values for flash.

To change from a higher voltage (LDO 1.1 V) to a lower voltage (Buck 0.9 V), call the Cy_SysLib_SetWaitStates(true, hfClkFreqMz) function before changing the voltage, where hfClkFreqMz is the frequency of HfClk0 in MHz.

To change from a lower voltage (LDO 0.9 V (nominal) to a higher voltage (Buck 1.1 V (nominal)), call the Cy_SysLib_SetWaitStates(false, hfClkFreqMz) function to set the wait states after the voltage change. It is optional, but can be done to improve performance. The clock frequency may now be increased up to system LP mode limits for the new voltage.

Note
1. If the final Buck output is set to 0.9 V (nominal) - the system is in ULP mode and flash allows read-only operations.
2. If the final Buck output is set to 1.1 V (nominal) - the system is in LP mode flash allows the read and write operations.
3. The actual device Vccd voltage can be different from the nominal voltage because the actual voltage value depends on conditions including the load current.
Warning
There is no safe way to go back to the LDO after the Buck regulator supplies a core. The function enabling the Buck regulator switches off the LDO.
Buck converter requires additional external components populated on dedicated pins. Refer to device datasheet for details.

For more detail, refer to the Switching the System into Ultra Low Power and Switching the System into Low Power sections. Refer to the SysLib (System Library) driver for more detail about setting wait states.

Parameters
voltageThe desired output 1 regulator voltage (Vccbuck1). See cy_en_syspm_buck_voltage1_t.
Returns
  • CY_SYSPM_SUCCESS - The voltage is set as requested. (There is no change if the new voltage is the same as the previous voltage.)
  • CY_SYSPM_INVALID_STATE - The voltage was not set. The voltage cannot be set because the protection context value is higher than zero (PC > 0) or the device revision does not support modifying registers via syscall.
  • CY_SYSPM_CANCELED - Operation was canceled. Call the function again until the function returns CY_SYSPM_SUCCESS. See cy_en_syspm_status_t. For the PSoC 64 devices there are possible situations when function returns the PRA error status code. This is because for PSoC 64 devices the function uses the PRA driver to change the protected registers. Refer to cy_en_pra_status_t for more details.
Note
The function is applicable only for devices with a Buck regulator.

Function uses a critical section to prevent interrupting the regulators switch.

Function Usage
/* Scenario: There is a need to switch the power supply regulator to Buck regulator */
uint32_t triesToSetVoltage = 10u;
/* Need to parse the error value. The function can return two types of error.
* CY_SYSPM_INVALID_STATE - The operation cannot be executed, because
* the application runs in protection context higher than zero (PC > 0),
* or device revision does not support modifying registers via syscall.
* CY_SYSPM_CANCELED - The operation was canceled, and you need to
* call the function again to successfully finish the operation.
*/
do
{
/* Call the function until the operation is finished */
--triesToSetVoltage;
} while ((CY_SYSPM_SUCCESS != retVal) && (triesToSetVoltage != 0));
if (triesToSetVoltage == 0)
{
/* The operation was not performed */
}
Note
This API is available for CAT1A devices.

◆ Cy_SysPm_BuckSetVoltage1()

cy_en_syspm_status_t Cy_SysPm_BuckSetVoltage1 ( cy_en_syspm_buck_voltage1_t  voltage)

Sets the output 1 voltage for the Buck regulator that can supply the device core.

This output can supply the device core instead of the LDO regulator.

When changing from a higher voltage 1.1 V (nominal) to a lower voltage 0.9 V (nominal), ensure that:

  • The device maximum operating frequency for all the Clk_HF paths, peripheral, and slow clock are under the ULP Limitations.
  • The total current consumption is under the ULP Limitations.
  • The appropriate wait states values are set for the flash using the Cy_SysLib_SetWaitStates() function as explained below.

Setting wait states values for flash

The flash access time when the core output voltage is 0.9 V (nominal) is longer than at 1.1 V (nominal). Therefore, the number of the wait states must be adjusted. Use the Cy_SysLib_SetWaitStates() function to set the appropriate wait state values for flash.

To change from a higher voltage to a lower voltage 0.9 V (nominal), call the Cy_SysLib_SetWaitStates(true, hfClkFreqMz) function before changing the voltage, where hfClkFreqMz is the frequency of HfClk0 in MHz.

To change from a lower voltage to a higher voltage 1.1 V (nominal), call the Cy_SysLib_SetWaitStates(false, hfClkFreqMz) function to set the wait states. It is optional, but can be done to improve the performance. The clock frequency may now be increased up to LP Limitations for a new voltage.

Note
1. The output is set to 0.9 V (nominal) - the system is in ULP mode flash allows read-only operations.
2. The output is set to 1.1 V (nominal) - the system is in LP mode and flash allows the read and write operations.
3. The actual device Vccd voltage can be different from the nominal voltage because the actual voltage value depends on the conditions including the load current.
Warning
Buck converter requires additional external components populated on dedicated pins. Refer to device datasheet for details.

For more detail, refer to the Switching the System into Ultra Low Power and Switching the System into Low Power sections. Refer to the SysLib (System Library) driver for more detail about setting the wait states.

Parameters
voltageThe desired output 1 regulator voltage (Vccbuck1). See cy_en_syspm_buck_voltage1_t
Returns
  • CY_SYSPM_SUCCESS - The voltage is set.
  • CY_SYSPM_INVALID_STATE - The voltage was not set. The voltage cannot be set because the protection context value is higher than zero (PC > 0) or the device revision does not support modifying registers via syscall.
  • CY_SYSPM_CANCELED - Operation was canceled. Call the function again until the function returns CY_SYSPM_SUCCESS. See cy_en_syspm_status_t. For the PSoC 64 devices there are possible situations when function returns the PRA error status code. This is because for PSoC 64 devices the function uses the PRA driver to change the protected registers. Refer to cy_en_pra_status_t for more details.
Function Usage
/* Scenario: There is a need to increase the core supply voltage */
/* Need to parse the error value for Cy_SysPm_LdoSetVoltage and
* Cy_SysPm_BuckSetVoltage1 functions. The functions can return two types
* of error:
* CY_SYSPM_INVALID_STATE - The operation cannot be executed, because
* the application runs in protection context higher than zero (PC > 0),
* or device revision does not support modifying registers via syscall.
* CY_SYSPM_CANCELED - The operation was canceled, and you need to
* call the function again to successfully finish the operation.
*/
{
if (CY_SYSPM_LDO_VOLTAGE_ULP == Cy_SysPm_LdoGetVoltage())
{
uint32_t triesToSetVoltage = 5u;
do
{
/* Call the function until the operation is finished */
--triesToSetVoltage;
} while ((CY_SYSPM_SUCCESS != retVal) && (triesToSetVoltage != 0));
if (0U == triesToSetVoltage)
{
/* The operation was not performed */
}
/* Call Cy_SysLib_SetWaitStates(false, clkMHz);
* where clkMHz is the core frequency in MHz
*/
}
}
{
{
uint32_t triesToSetVoltage = 5u;
do
{
/* Call the function until the operation is finished */
--triesToSetVoltage;
} while ((CY_SYSPM_SUCCESS != retVal) && (triesToSetVoltage != 0));
if (0U == triesToSetVoltage)
{
/* The operation was not performed */
}
/* Call Cy_SysLib_SetWaitStates(false, clkMHz);
* where clkMHz is the CPU frequency in MHz
*/
}
}
Side Effects
For PSoC 64 series devices Cy_SysPm_BuckSetVoltage1() has the same functional behavior as Cy_SysPm_BuckEnable() function.
Note
This API is available for CAT1A devices.

◆ Cy_SysPm_BuckSetVoltage2()

void Cy_SysPm_BuckSetVoltage2 ( cy_en_syspm_buck_voltage2_t  voltage,
bool  waitToSettle 
)

This function sets output voltage 2 (Vbuckrf) of the SIMO Buck regulator.

Parameters
voltageThe voltage of the Buck regulator output 2 (Vbuckrf). See cy_en_syspm_buck_voltage2_t.
waitToSettle
  • True to enable the 200 us delay after setting a higher voltage.
  • False to disable the 200 us delay after setting a higher voltage.
Warning
You must enable the delay (waitToSettle = true) while changing from a lower voltage to a higher voltage.
Note
The 200 us delay is required only when changing from a lower voltage to a higher voltage. When changing from a higher voltage to a lower one, the delay is not required.
Warning
The function works only on devices with the SIMO Buck regulator. Refer to the device datasheet for information on whether the device contains SIMO Buck.
Buck converter requires additional external components populated on dedicated pins. Refer to device datasheet for details.
Function Usage
/* Scenario: There is a need to set the SIMO Buck output 2 voltage to 1.35 V */
Note
This API is available for CAT1A devices.

◆ Cy_SysPm_BuckEnableVoltage2()

void Cy_SysPm_BuckEnableVoltage2 ( void  )

Enable the output 2 voltage (Vbuckrf) of the SIMO Buck regulator.

The output 2 voltage (Vbuckrf) of the Buck regulator is typically used to supply the BLE radio. This function does following actions, when the Buck regulator does not supply the core:

  • Enables the Buck regulator
  • Enables the output 2, but do not enables the output 1.
Note
The function does not affect Buck output 1 that typically supplies core.
Warning
The function does not select the Buck output 2 voltage and does not set/clear the HW-controlled bit for Buck output 2. Call Cy_SysPm_BuckSetVoltage2() or Cy_SysPm_BuckSetVoltage2HwControl() to configure the Buck output 2.
The function works only on devices with the SIMO Buck regulator. Refer to the device datasheet for information on whether the device contains the SIMO Buck.
Buck converter requires additional external components populated on dedicated pins. Refer to device datasheet for details.
Function Usage
/* Scenario: There is a need to enable the SIMO Buck output 2 */
Note
This API is available for CAT1A devices.

◆ Cy_SysPm_BuckIsOutputEnabled()

bool Cy_SysPm_BuckIsOutputEnabled ( cy_en_syspm_buck_out_t  output)

This function gets the current output status of the Buck outputs.

Parameters
outputThe Buck regulator output. See cy_en_syspm_buck_out_t.
Returns
  • True if the requested output is enabled.
  • False if the requested output is disabled.
Function Usage
/* Scenario: There is a need to check the status of the SIMO Buck output 2 (Vbuckrf) */
{
/* The SIMO Buck output 2 is enabled */
}
Note
This API is available for CAT1A devices.

◆ Cy_SysPm_BuckIsEnabled()

bool Cy_SysPm_BuckIsEnabled ( void  )

Get the current status of the Buck regulator.

Returns
  • True if the Buck regulator is enabled.
  • False if it is disabled.
Note
This API is available for CAT1A devices.
Function Usage
/* Scenario: There is a need to increase the core supply voltage */
/* Need to parse the error value for Cy_SysPm_LdoSetVoltage and
* Cy_SysPm_BuckSetVoltage1 functions. The functions can return two types
* of error:
* CY_SYSPM_INVALID_STATE - The operation cannot be executed, because
* the application runs in protection context higher than zero (PC > 0),
* or device revision does not support modifying registers via syscall.
* CY_SYSPM_CANCELED - The operation was canceled, and you need to
* call the function again to successfully finish the operation.
*/
{
if (CY_SYSPM_LDO_VOLTAGE_ULP == Cy_SysPm_LdoGetVoltage())
{
uint32_t triesToSetVoltage = 5u;
do
{
/* Call the function until the operation is finished */
--triesToSetVoltage;
} while ((CY_SYSPM_SUCCESS != retVal) && (triesToSetVoltage != 0));
if (0U == triesToSetVoltage)
{
/* The operation was not performed */
}
/* Call Cy_SysLib_SetWaitStates(false, clkMHz);
* where clkMHz is the core frequency in MHz
*/
}
}
{
{
uint32_t triesToSetVoltage = 5u;
do
{
/* Call the function until the operation is finished */
--triesToSetVoltage;
} while ((CY_SYSPM_SUCCESS != retVal) && (triesToSetVoltage != 0));
if (0U == triesToSetVoltage)
{
/* The operation was not performed */
}
/* Call Cy_SysLib_SetWaitStates(false, clkMHz);
* where clkMHz is the CPU frequency in MHz
*/
}
}

◆ Cy_SysPm_BuckGetVoltage1()

cy_en_syspm_buck_voltage1_t Cy_SysPm_BuckGetVoltage1 ( void  )

Gets the current nominal output 1 voltage (Vccbuck1) of the Buck regulator.

Note
The actual device output 1 voltage (Vccbuck1) can be different from the nominal voltage because the actual voltage value depends on conditions including load current.
Returns
The nominal output voltage 1 (Vccbuck1) of the Buck regulator. See cy_en_syspm_buck_voltage1_t.
Function Usage
/* Scenario: There is a need to increase the core supply voltage */
/* Need to parse the error value for Cy_SysPm_LdoSetVoltage and
* Cy_SysPm_BuckSetVoltage1 functions. The functions can return two types
* of error:
* CY_SYSPM_INVALID_STATE - The operation cannot be executed, because
* the application runs in protection context higher than zero (PC > 0),
* or device revision does not support modifying registers via syscall.
* CY_SYSPM_CANCELED - The operation was canceled, and you need to
* call the function again to successfully finish the operation.
*/
{
if (CY_SYSPM_LDO_VOLTAGE_ULP == Cy_SysPm_LdoGetVoltage())
{
uint32_t triesToSetVoltage = 5u;
do
{
/* Call the function until the operation is finished */
--triesToSetVoltage;
} while ((CY_SYSPM_SUCCESS != retVal) && (triesToSetVoltage != 0));
if (0U == triesToSetVoltage)
{
/* The operation was not performed */
}
/* Call Cy_SysLib_SetWaitStates(false, clkMHz);
* where clkMHz is the core frequency in MHz
*/
}
}
{
{
uint32_t triesToSetVoltage = 5u;
do
{
/* Call the function until the operation is finished */
--triesToSetVoltage;
} while ((CY_SYSPM_SUCCESS != retVal) && (triesToSetVoltage != 0));
if (0U == triesToSetVoltage)
{
/* The operation was not performed */
}
/* Call Cy_SysLib_SetWaitStates(false, clkMHz);
* where clkMHz is the CPU frequency in MHz
*/
}
}
Note
This API is available for CAT1A devices.

◆ Cy_SysPm_BuckGetVoltage2()

cy_en_syspm_buck_voltage2_t Cy_SysPm_BuckGetVoltage2 ( void  )

Gets the current output 2 nominal voltage (Vbuckrf) of the SIMO Buck regulator.

Note
The actual device output 2 voltage (Vbuckrf) can be different from the nominal voltage because the actual voltage value depends on conditions including load current.
Returns
The nominal output voltage of the Buck SIMO regulator output 2 voltage (Vbuckrf). See cy_en_syspm_buck_voltage2_t.
Note
Function returns zero for devices without a SIMO Buck regulator. Refer to the device datasheet about information on whether device contains a SIMO Buck.
This API is available for CAT1A devices.
Function Usage
/* Scenario: There is a need to get the nominal output 2 voltage of the SIMO Buck regulator */
cy_en_syspm_simo_buck_voltage2_t voltage = Cy_SysPm_BuckGetVoltage2();

◆ Cy_SysPm_BuckDisableVoltage2()

void Cy_SysPm_BuckDisableVoltage2 ( void  )

Disables the output 2 voltage (Vbuckrf) of the SIMO Buck regulator.

The output 2 voltage (Vbuckrf) of the Buck regulator is typically used to supply the BLE radio.

Note
The function does not have effect, if the Buck regulator is switched off.
If you are switching the voltage supply source for BLE radio, ensure that the new voltage supply for the BLE HW block is settled and is stable before calling the Cy_SysPm_BuckDisableVoltage2() function.

This function is applicable for devices with the SIMO Buck regulator. Refer to the device datasheet for information about whether the device contains a SIMO Buck.

Note
This API is available for CAT1A devices.
Function Usage
/* Scenario: There is a need to disable the output 2 voltage of the SIMO Buck regulator */

◆ Cy_SysPm_BuckSetVoltage2HwControl()

void Cy_SysPm_BuckSetVoltage2HwControl ( bool  hwControl)

Sets the hardware control for SIMO Buck output 2 (Vbuckrf).

When hardware control is enabled for the Vbuckrf output, the firmware controlled enable register setting is ignored and the hardware signal is used instead. If the product has supporting hardware like BLE radio, it can directly control the enable signal for Vbuckrf.

Parameters
hwControlEnables/disables hardware control for the SIMO Buck output 2.

Function does not have an effect if SIMO Buck regulator is disabled.

The function is applicable for devices with the SIMO Buck regulator. Refer to the device datasheet for information about whether the device contains a SIMO Buck.

Note
This API is available for CAT1A devices.
Function Usage
/* Scenario: There is a need to enable the hardware control for the SIMO Buck output 2 */
/* Scenario: There is a need to disable the hardware control for the SIMO Buck output 2 */

◆ Cy_SysPm_BuckIsVoltage2HwControlled()

bool Cy_SysPm_BuckIsVoltage2HwControlled ( void  )

Returns the hardware control state for Buck output 2 (Vbuckrf).

When hardware control is enabled for the Vbuckrf output, the firmware controlled enable register setting is ignored and the hardware signal is used instead. If the product has supporting hardware like BLE radio, it can directly control the enable signal for Vbuckrf.

Returns
  • True if HW control is set.
  • False if FW control is set for the Buck output 2.

The function is applicable for devices with the SIMO Buck regulator. Refer to device datasheet about information if device contains SIMO Buck.

Note
This API is available for CAT1A devices.
Function Usage
/* Scenario: There is a need to check if the hardware control for
* Buck output 2 (Vbuckrf) is enabled
*/
{
/* The hardware control for Vbuckrf is enabled */
}

◆ Cy_SysPm_CoreBuckSetVoltage()

cy_en_syspm_status_t Cy_SysPm_CoreBuckSetVoltage ( cy_en_syspm_core_buck_voltage_t  voltage)

Set the Core Buck Regulator Voltage.

Parameters
voltagePick from cy_en_syspm_core_buck_voltage_t
Returns
see cy_en_syspm_status_t.
Note
This API is available for CAT1B and CAT1D devices.

◆ Cy_SysPm_CoreBuckGetVoltage()

cy_en_syspm_core_buck_voltage_t Cy_SysPm_CoreBuckGetVoltage ( void  )

Get the Core Buck Regulator Voltage.

Returns
Gets enum value of type cy_en_syspm_core_buck_voltage_t
Note
This API is available for CAT1B and CAT1D devices.

◆ Cy_SysPm_CoreBuckSetMode()

void Cy_SysPm_CoreBuckSetMode ( cy_en_syspm_core_buck_mode_t  mode)

Set the Core Buck Regulator mode.

Parameters
modePick from cy_en_syspm_core_buck_mode_t
Note
This API is available for CAT1B and CAT1D devices.

◆ Cy_SysPm_CoreBuckGetMode()

cy_en_syspm_core_buck_mode_t Cy_SysPm_CoreBuckGetMode ( void  )

Get the Core Buck Regulator Mode.

Returns
Gets enum value of type cy_en_syspm_core_buck_mode_t
Note
This API is available for CAT1B and CAT1D devices.

◆ Cy_SysPm_CoreBuckStatus()

cy_en_syspm_status_t Cy_SysPm_CoreBuckStatus ( void  )

Get the status of Core Buck Regulator.

Returns
Gets enum value of type cy_en_syspm_status_t
Note
This API is available for CAT1B and CAT1D devices.

◆ Cy_SysPm_CoreBuckDpslpSetVoltage()

cy_en_syspm_status_t Cy_SysPm_CoreBuckDpslpSetVoltage ( cy_en_syspm_core_buck_voltage_t  voltage)

Set the Deepsleep mode Core Buck Regulator Voltage.

Parameters
voltagePick from cy_en_syspm_core_buck_voltage_t
Note
This API is available for CAT1D devices.

◆ Cy_SysPm_CoreBuckDpslpGetVoltage()

cy_en_syspm_core_buck_voltage_t Cy_SysPm_CoreBuckDpslpGetVoltage ( void  )

Get the Deepsleep Core Buck Regulator Voltage.

Returns
Gets enum value of type cy_en_syspm_core_buck_voltage_t
Note
This API is available for CAT1D devices.
Returns
see cy_en_syspm_status_t.

◆ Cy_SysPm_CoreBuckDpslpSetMode()

void Cy_SysPm_CoreBuckDpslpSetMode ( cy_en_syspm_core_buck_mode_t  mode)

Set the Deepsleep Core Buck Regulator mode.

Parameters
modePick from cy_en_syspm_core_buck_mode_t
Note
This API is available for CAT1D devices.

◆ Cy_SysPm_CoreBuckDpslpGetMode()

cy_en_syspm_core_buck_mode_t Cy_SysPm_CoreBuckDpslpGetMode ( void  )

Get the Deepsleep Core Buck Regulator Mode.

Returns
Gets enum value of type cy_en_syspm_core_buck_mode_t
Note
This API is available for CAT1D devices.

◆ Cy_SysPm_CoreBuckDpslpEnableOverride()

void Cy_SysPm_CoreBuckDpslpEnableOverride ( bool  enable)

Enable the Override feature for core buck during Deepsleep.

Parameters
enabletrue - enable, false - disable
Note
This function is available for CAT1D devices.

◆ Cy_SysPm_CoreBuckDpslpIsOverrideEnabled()

bool Cy_SysPm_CoreBuckDpslpIsOverrideEnabled ( void  )

Checks if Override feature of core buck during deepsleep is enabled or not.

Returns
True if enabled, False if disabled.
Note
This function is available for CAT1D devices.

◆ Cy_SysPm_CoreBuckSetProfile()

void Cy_SysPm_CoreBuckSetProfile ( cy_en_syspm_core_buck_profile_t  profile)

Set the Core Buck Regulator Profile.

Parameters
profilePick from cy_en_syspm_core_buck_profile_t
Note
This API is available for CAT1D devices.

◆ Cy_SysPm_CoreBuckGetProfile()

cy_en_syspm_core_buck_profile_t Cy_SysPm_CoreBuckGetProfile ( void  )

Get the Core Buck Regulator Profile.

Returns
Gets enum value of type cy_en_syspm_core_buck_profile_t
Note
This API is available for CAT1D devices.

◆ Cy_SysPm_RetLdoStatus()

cy_en_syspm_status_t Cy_SysPm_RetLdoStatus ( void  )

Get the status of RETLDO Regulator.

Returns
Gets enum value of type cy_en_syspm_status_t
Note
This API is available for CAT1D devices.

◆ Cy_SysPm_RetLdoConfigure()

cy_en_syspm_status_t Cy_SysPm_RetLdoConfigure ( cy_stc_syspm_retldo_params_t retLdoParam)

Configures the RETLDO Regulator.

Parameters
retLdoParamStructure containing the config parameters, cy_stc_syspm_retldo_params_t
Note
This API is available for CAT1D devices.
Returns
see cy_en_syspm_status_t.

◆ Cy_SysPm_SramLdoStatus()

cy_en_syspm_status_t Cy_SysPm_SramLdoStatus ( void  )

Get the status of SRAMLDO Regulator.

Returns
Gets enum value of type cy_en_syspm_status_t
Note
This API is available for CAT1D devices.

◆ Cy_SysPm_SramLdoConfigure()

cy_en_syspm_status_t Cy_SysPm_SramLdoConfigure ( cy_stc_syspm_sramldo_params_t sramLdoParam)

Configures the SRAMLDO Regulator.

Parameters
sramLdoParamStructure containing the config parameters, cy_stc_syspm_sramldo_params_t
Note
This API is available for CAT1D devices.
Returns
see cy_en_syspm_status_t.

◆ Cy_SysPm_SramLdoEnable()

cy_en_syspm_status_t Cy_SysPm_SramLdoEnable ( bool  enable)

Enable/Disable SRAMLDO Regulator.

Parameters
enabletrue - enable, false - disable
Note
This API is available for CAT1D devices.
Returns
see cy_en_syspm_status_t.

◆ Cy_SysPm_SramLdoSetVoltage()

void Cy_SysPm_SramLdoSetVoltage ( cy_en_syspm_sramldo_voltage_t  voltage)

Set SRAM LDO Voltage.

Parameters
voltageEnum cy_en_syspm_sramldo_voltage_t
Note
This API is available for CAT1D devices.

◆ Cy_SysPm_SramLdoGetVoltage()

cy_en_syspm_sramldo_voltage_t Cy_SysPm_SramLdoGetVoltage ( void  )

Get the SRAM LDO Voltage.

Returns
Gets enum value of type cy_en_syspm_sramldo_voltage_t
Note
This API is available for CAT1D devices.

◆ Cy_SysPm_MiscLdoStatus()

cy_en_syspm_status_t Cy_SysPm_MiscLdoStatus ( void  )

Get the status of MISCLDO Regulator.

Returns
Gets enum value of type cy_en_syspm_status_t
Note
This API is available for CAT1D devices.

◆ Cy_SysPm_MiscLdoConfigure()

cy_en_syspm_status_t Cy_SysPm_MiscLdoConfigure ( cy_stc_syspm_miscldo_params_t miscLdoParam)

Configures the MISCLDO Regulator.

Parameters
miscLdoParamStructure containing the config parameters, cy_stc_syspm_miscldo_params_t
Note
This API is available for CAT1D devices.
Returns
see cy_en_syspm_status_t.

◆ Cy_SysPm_CoreBuckSetInrushLimit()

void Cy_SysPm_CoreBuckSetInrushLimit ( cy_en_syspm_core_inrush_limit_t  inrushLimit)

Set the Core Buck Inrush Limit.

Parameters
inrushLimitPick from cy_en_syspm_core_inrush_limit_t
Note
This API is available for CAT1B devices.

◆ Cy_SysPm_CoreBuckGetInrushLimit()

cy_en_syspm_core_inrush_limit_t Cy_SysPm_CoreBuckGetInrushLimit ( void  )

Get the Core Buck Inrush Limit.

Returns
Gets enum value of type cy_en_syspm_core_inrush_limit_t
Note
This API is available for CAT1B devices.

◆ Cy_SysPm_CoreBuckConfig()

cy_en_syspm_status_t Cy_SysPm_CoreBuckConfig ( cy_stc_syspm_core_buck_params_t config)

Configures the Core Buck Regulator.

Note
Core buck voltage and mode are selected based on a voting system by the following 5 requesters Deepsleep Requester, SDR0 DS Requester, SDR0 Requester, SDR1 Requester and Extra Requester. The requesters may all request different voltages and CBUCK modes. When multiple requesters are used for a profile, the requests are harmonized into a composite request according to rules:
  • The composite CBUCK voltage request is the maximum voltage from all enabled requesters.
  • The composite CBUCK mode is the maximum setting among all enabled requesters to get the highest mode.

For information about the CBUCK control, refer to the appropriate device TRM.

Parameters
configStructure containing the config parameters, cy_stc_syspm_core_buck_params_t
Note
This API is available for CAT1B devices.
Returns
see cy_en_syspm_status_t.

◆ Cy_SysPm_LdoExtraRequesterConfig()

cy_en_syspm_status_t Cy_SysPm_LdoExtraRequesterConfig ( cy_stc_syspm_extraReq_params_t extraReqConfig)

Configures the Extra Requester for Core Buck Regulator.

Note
The extra requester caters to two special cases:
  • To temporarily force the system to choose a scratch profile with the settings defined by the extra requester. This allows other requester settings to be changed without changing the internal setting of an active profile. This can be used to change the target voltage of an enabled stepdown regulator.
  • To participate in requester harmonization as an extra requester. This can be used to restrict the composite settings higher than the hardware would normally choose according to the harmonization rules.

For information about the CBUCK control, refer to the appropriate device TRM.

Parameters
extraReqConfigPointer to structure containing the extra requester config parameters, cy_stc_syspm_extraReq_params_t
Note
This API is available for CAT1B devices.
Returns
see cy_en_syspm_status_t.