MTB CAT1 Peripheral driver library
REGHC (High Current Regulator)

General Description

Functions

void Cy_SysPm_ReghcSelectMode (cy_en_syspm_reghc_mode_t mode)
 Selects one of the supported REGHC modes. More...
 
cy_en_syspm_reghc_mode_t Cy_SysPm_ReghcGetMode (void)
 Gets the supported REGHC modes. More...
 
void Cy_SysPm_ReghcSelectDriveOut (cy_en_syspm_reghc_drive_out_t drvOut)
 Selects DRV_OUT setting. More...
 
cy_en_syspm_reghc_drive_out_t Cy_SysPm_ReghcGetDriveOut (void)
 Gets the DRV_OUT setting. More...
 
void Cy_SysPm_ReghcAdjustOutputVoltage (cy_en_syspm_reghc_vadj_t trim)
 Selects regulator output voltage adjustment. More...
 
void Cy_SysPm_ReghcDisableIntSupplyWhileExtActive (void)
 Internal Active Linear Regulator disabled after PMIC enabled. More...
 
void Cy_SysPm_ReghcEnableIntSupplyWhileExtActive (void)
 Internal Active Linear Regulator kept enabled. More...
 
void Cy_SysPm_ReghcDisablePmicEnableOutput (void)
 Disables "PMIC enable" output. More...
 
void Cy_SysPm_ReghcEnablePmicEnableOutput (bool polarity)
 Enables "PMIC enable" output. More...
 
void Cy_SysPm_ReghcEnablePmicStatusInput (bool polarity)
 Enables receiving status from PMIC. More...
 
void Cy_SysPm_ReghcDisablePmicStatusInput (void)
 Disables PMIC status input. More...
 
void Cy_SysPm_ReghcSetPmicStatusWaitTime (uint16_t waitTime)
 Wait count in 4us steps after PMIC status ok. More...
 
bool Cy_SysPm_ReghcIsConfigured (void)
 Indicates that the REGHC has been configured. More...
 
void Cy_SysPm_ReghcSetConfigured (void)
 Set REGHC is configured. More...
 
void Cy_SysPm_ReghcDisable (void)
 Disables REGHC. More...
 
void Cy_SysPm_ReghcEnable (void)
 Enables REGHC. More...
 
void Cy_SysPm_ReghcDisablePmicStatusTimeout (void)
 Disables timeout when waiting for REGHC_PMIC_STATUS_OK. More...
 
void Cy_SysPm_ReghcEnablePmicStatusTimeout (uint8_t timeout)
 Enables timeout while waiting for REGHC_PMIC_STATUS_OK==1 when switching to PMIC. More...
 
bool Cy_SysPm_ReghcIsEnabled (void)
 Indicates the state of the REGHC enable/disable sequencer. More...
 
bool Cy_SysPm_ReghcIsStatusOk (void)
 Indicates the PMIC status is ok. More...
 
bool Cy_SysPm_ReghcIsSequencerBusy (void)
 Indicates whether the REGHC circuit is busy. More...
 
void Cy_SysPm_ReghcDisableVAdj (void)
 Device does not generate VADJ, and it must not be part of the PMIC feedback loop. More...
 
void Cy_SysPm_ReghcEnableVAdj (void)
 Device generates VADJ when PMIC is enabled. More...
 
void Cy_SysPm_ReghcDisablePmicInDeepSleep (void)
 Device operates from internal regulators during DEEPSLEEP. More...
 
void Cy_SysPm_ReghcEnablePmicInDeepSleep (void)
 DEEPSLEEP transition does not change PMIC enable. More...
 
bool Cy_SysPm_ReghcIsOcdWithinLimits (void)
 Indicates the over-current detector is operating and the current drawn from REGHC is within limits. More...
 
bool Cy_SysPm_ReghcIsCircuitEnabledAndOperating (void)
 Indicates the REGHC circuit is enabled and operating. More...
 
cy_en_syspm_status_t Cy_SysPm_ReghcConfigure (cy_en_syspm_reghc_mode_t mode, cy_en_syspm_reghc_vadj_t vadj)
 Configures REGHC. More...
 
cy_en_syspm_status_t Cy_SysPm_ReghcDeConfigure (void)
 De-Configures REGHC. More...
 

Function Documentation

◆ Cy_SysPm_ReghcSelectMode()

void Cy_SysPm_ReghcSelectMode ( cy_en_syspm_reghc_mode_t  mode)

Selects one of the supported REGHC modes.

Parameters
mode- PMIC or Pass Transistor
Note
This API is available for CAT1C devices.

◆ Cy_SysPm_ReghcGetMode()

cy_en_syspm_reghc_mode_t Cy_SysPm_ReghcGetMode ( void  )

Gets the supported REGHC modes.

Returns
cy_en_syspm_reghc_mode_t
Note
This API is available for CAT1C devices.

◆ Cy_SysPm_ReghcSelectDriveOut()

void Cy_SysPm_ReghcSelectDriveOut ( cy_en_syspm_reghc_drive_out_t  drvOut)

Selects DRV_OUT setting.

Parameters
drvOut- cy_en_syspm_reghc_drive_out_t
Note
This API is available for CAT1C devices.

◆ Cy_SysPm_ReghcGetDriveOut()

cy_en_syspm_reghc_drive_out_t Cy_SysPm_ReghcGetDriveOut ( void  )

Gets the DRV_OUT setting.

Returns
cy_en_syspm_reghc_drive_out_t
Note
This API is available for CAT1C devices.

◆ Cy_SysPm_ReghcAdjustOutputVoltage()

void Cy_SysPm_ReghcAdjustOutputVoltage ( cy_en_syspm_reghc_vadj_t  trim)

Selects regulator output voltage adjustment.

Parameters
trim- cy_en_syspm_reghc_vadj_t
Note
This API is available for CAT1C devices.

◆ Cy_SysPm_ReghcDisableIntSupplyWhileExtActive()

void Cy_SysPm_ReghcDisableIntSupplyWhileExtActive ( void  )

Internal Active Linear Regulator disabled after PMIC enabled.

OCD is disabled.

Note
This API is available for CAT1C devices.

◆ Cy_SysPm_ReghcEnableIntSupplyWhileExtActive()

void Cy_SysPm_ReghcEnableIntSupplyWhileExtActive ( void  )

Internal Active Linear Regulator kept enabled.

See datasheet for minimum PMIC vccd input to prevent OCD.

Note
This API is available for CAT1C devices.

◆ Cy_SysPm_ReghcDisablePmicEnableOutput()

void Cy_SysPm_ReghcDisablePmicEnableOutput ( void  )

Disables "PMIC enable" output.

Note
This API is available for CAT1C devices.

◆ Cy_SysPm_ReghcEnablePmicEnableOutput()

void Cy_SysPm_ReghcEnablePmicEnableOutput ( bool  polarity)

Enables "PMIC enable" output.

Parameters
polarity=> true - output high, false - output low.
Note
This API is available for CAT1C devices.

◆ Cy_SysPm_ReghcEnablePmicStatusInput()

void Cy_SysPm_ReghcEnablePmicStatusInput ( bool  polarity)

Enables receiving status from PMIC.

Parameters
polarity=> true/false -> receiving high/low means abnormal status.
Note
This API is available for CAT1C devices.

◆ Cy_SysPm_ReghcDisablePmicStatusInput()

void Cy_SysPm_ReghcDisablePmicStatusInput ( void  )

Disables PMIC status input.

Note
This API is available for CAT1C devices.

◆ Cy_SysPm_ReghcSetPmicStatusWaitTime()

void Cy_SysPm_ReghcSetPmicStatusWaitTime ( uint16_t  waitTime)

Wait count in 4us steps after PMIC status ok.

This is used by the hardware sequencer to allow additional settling time before disabling the internal regulator. The LSB is 32 IMO periods which results in a nominal LSB step of 4us.

Parameters
waitTime= 0 to 1023 -> (waitTime * 4us) Delay
Note
This API is available for CAT1C devices.

◆ Cy_SysPm_ReghcIsConfigured()

bool Cy_SysPm_ReghcIsConfigured ( void  )

Indicates that the REGHC has been configured.

Do not change REGHC settings after this bit is high.

Returns
true - Configured, false - Not configured
Note
This API is available for CAT1C devices.

◆ Cy_SysPm_ReghcSetConfigured()

void Cy_SysPm_ReghcSetConfigured ( void  )

Set REGHC is configured.

This is required to apply setting before enabling REGHC.

Note
This API is available for CAT1C devices.

◆ Cy_SysPm_ReghcDisable()

void Cy_SysPm_ReghcDisable ( void  )

Disables REGHC.

Note
This API is available for CAT1C devices.

◆ Cy_SysPm_ReghcEnable()

void Cy_SysPm_ReghcEnable ( void  )

Enables REGHC.

Note
This API is available for CAT1C devices.

◆ Cy_SysPm_ReghcDisablePmicStatusTimeout()

void Cy_SysPm_ReghcDisablePmicStatusTimeout ( void  )

Disables timeout when waiting for REGHC_PMIC_STATUS_OK.

Note
This API is available for CAT1C devices.

◆ Cy_SysPm_ReghcEnablePmicStatusTimeout()

void Cy_SysPm_ReghcEnablePmicStatusTimeout ( uint8_t  timeout)

Enables timeout while waiting for REGHC_PMIC_STATUS_OK==1 when switching to PMIC.

Timeout expiration triggers reset.

Parameters
timeout= 1 - 255 -> (timeout * 128us) delay until reset
Note
This API is available for CAT1C devices.

◆ Cy_SysPm_ReghcIsEnabled()

bool Cy_SysPm_ReghcIsEnabled ( void  )

Indicates the state of the REGHC enable/disable sequencer.

This bit is only valid when REGHC_SEQ_BUSY==0.

Returns
true - Enabled, false - Disabled
Note
This API is available for CAT1C devices.

◆ Cy_SysPm_ReghcIsStatusOk()

bool Cy_SysPm_ReghcIsStatusOk ( void  )

Indicates the PMIC status is ok.

This includes polarity adjustment according to REGHC_PMIC_STATUS_POLARITY.

Returns
false: PMIC status is not ok or PMIC input is disabled (PMIC_STATUS_INEN == 0) true: PMIC status input is enabled and indicates ok
Note
This API is available for CAT1C devices.

◆ Cy_SysPm_ReghcIsSequencerBusy()

bool Cy_SysPm_ReghcIsSequencerBusy ( void  )

Indicates whether the REGHC circuit is busy.

Indicates the REGHC enable/disable sequencer is busy transitioning to/from REGHC.

Returns
true: REGHC busy false: REGHC not busy
Note
This API is available for CAT1C devices.

◆ Cy_SysPm_ReghcDisableVAdj()

void Cy_SysPm_ReghcDisableVAdj ( void  )

Device does not generate VADJ, and it must not be part of the PMIC feedback loop.

This reduces current by turning off the internal resistor divider that generates VADJ.

Note
This API is available for CAT1C devices.

◆ Cy_SysPm_ReghcEnableVAdj()

void Cy_SysPm_ReghcEnableVAdj ( void  )

Device generates VADJ when PMIC is enabled.

This allows the feedback loop to compensate for voltage drops in the PCB and package.

Note
This API is available for CAT1C devices.

◆ Cy_SysPm_ReghcDisablePmicInDeepSleep()

void Cy_SysPm_ReghcDisablePmicInDeepSleep ( void  )

Device operates from internal regulators during DEEPSLEEP.

If PMIC is enabled at the beginning of the DEEPSLEEP transition, hardware changes to the internal regulators and disables the PMIC.

Note
This API is available for CAT1C devices.

◆ Cy_SysPm_ReghcEnablePmicInDeepSleep()

void Cy_SysPm_ReghcEnablePmicInDeepSleep ( void  )

DEEPSLEEP transition does not change PMIC enable.

Note
This API is available for CAT1C devices.

◆ Cy_SysPm_ReghcIsOcdWithinLimits()

bool Cy_SysPm_ReghcIsOcdWithinLimits ( void  )

Indicates the over-current detector is operating and the current drawn from REGHC is within limits.

OCD is only a choice for transistor mode, and it is disabled for PMIC mode.

Returns
false: Current measurement exceeds limit or detector is OFF, true: Current measurement within limit
Note
This API is available for CAT1C devices.

◆ Cy_SysPm_ReghcIsCircuitEnabledAndOperating()

bool Cy_SysPm_ReghcIsCircuitEnabledAndOperating ( void  )

Indicates the REGHC circuit is enabled and operating.

Returns
false: REGHC Disabled true: REGHC Enabled and Operating
Note
This API is available for CAT1C devices.

◆ Cy_SysPm_ReghcConfigure()

cy_en_syspm_status_t Cy_SysPm_ReghcConfigure ( cy_en_syspm_reghc_mode_t  mode,
cy_en_syspm_reghc_vadj_t  vadj 
)

Configures REGHC.

Parameters
modecy_en_syspm_reghc_mode_t.
vadjcy_en_syspm_reghc_vadj_t.
Returns
  • CY_SYSPM_SUCCESS - REGHC Configured Successfully
  • CY_SYSPM_TIMEOUT - REGHC Configuration Failed
Note
This API is available for CAT1C devices.
This API takes care of the sequence needed for changing from Linear Regulator to REGHC with External Transistor, this API do not support changing to REGHC with External PMIC.

◆ Cy_SysPm_ReghcDeConfigure()

cy_en_syspm_status_t Cy_SysPm_ReghcDeConfigure ( void  )

De-Configures REGHC.

Returns
  • CY_SYSPM_SUCCESS - REGHC De-Configured Successfully
  • CY_SYSPM_TIMEOUT - REGHC De-Configuration Failed
Note
This API is available for CAT1C devices.