npmx  1.0.0
 
Loading...
Searching...
No Matches
VBUSIN

VBUS input (VBUSIN) peripheral driver. More...

Data Structures

struct  npmx_vbusin_t
 Data structure of the VBUSIN driver instance. More...
 

Enumerations

enum  npmx_vbusin_task_t {
  NPMX_VBUSIN_TASK_APPLY_CURRENT_LIMIT ,
  NPMX_VBUSIN_TASK_COUNT
}
 VBUSIN tasks. More...
 
enum  npmx_vbusin_current_t {
  NPMX_VBUSIN_CURRENT_100_MA = VBUSIN_VBUSINILIM0_VBUSINILIM0_100MA ,
  NPMX_VBUSIN_CURRENT_500_MA = VBUSIN_VBUSINILIM0_VBUSINILIM0_500MA ,
  NPMX_VBUSIN_CURRENT_600_MA = VBUSIN_VBUSINILIM0_VBUSINILIM0_600MA ,
  NPMX_VBUSIN_CURRENT_700_MA = VBUSIN_VBUSINILIM0_VBUSINILIM0_700MA ,
  NPMX_VBUSIN_CURRENT_800_MA = VBUSIN_VBUSINILIM0_VBUSINILIM0_800MA ,
  NPMX_VBUSIN_CURRENT_900_MA = VBUSIN_VBUSINILIM0_VBUSINILIM0_900MA ,
  NPMX_VBUSIN_CURRENT_1000_MA = VBUSIN_VBUSINILIM0_VBUSINILIM0_1000MA ,
  NPMX_VBUSIN_CURRENT_1100_MA = VBUSIN_VBUSINILIM0_VBUSINILIM0_1100MA ,
  NPMX_VBUSIN_CURRENT_1200_MA = VBUSIN_VBUSINILIM0_VBUSINILIM0_1200MA ,
  NPMX_VBUSIN_CURRENT_1300_MA = VBUSIN_VBUSINILIM0_VBUSINILIM0_1300MA ,
  NPMX_VBUSIN_CURRENT_1400_MA = VBUSIN_VBUSINILIM0_VBUSINILIM0_1400MA ,
  NPMX_VBUSIN_CURRENT_1500_MA = VBUSIN_VBUSINILIM0_VBUSINILIM0_1500MA ,
  NPMX_VBUSIN_CURRENT_COUNT ,
  NPMX_VBUSIN_CURRENT_DEFAULT = NPMX_VBUSIN_CURRENT_500_MA ,
  NPMX_VBUSIN_CURRENT_MAX = NPMX_VBUSIN_CURRENT_1500_MA ,
  NPMX_VBUSIN_CURRENT_INVALID = NPMX_INVALID_ENUM_VALUE
}
 Available current limits for VBUS. More...
 
enum  npmx_vbusin_cc_t {
  NPMX_VBUSIN_CC_NOT_CONNECTED = VBUSIN_USBCDETECTSTATUS_VBUSINCC1CMP_NOCONNECTION ,
  NPMX_VBUSIN_CC_DEFAULT = VBUSIN_USBCDETECTSTATUS_VBUSINCC1CMP_DEFAULTUSB ,
  NPMX_VBUSIN_CC_HIGH_POWER_1A5 = VBUSIN_USBCDETECTSTATUS_VBUSINCC1CMP_1A5HIGHPOWER ,
  NPMX_VBUSIN_CC_HIGH_POWER_3A0 = VBUSIN_USBCDETECTSTATUS_VBUSINCC1CMP_3AHIGHPOWER ,
  NPMX_VBUSIN_CC_COUNT ,
  NPMX_VBUSIN_CC_INVALID = NPMX_INVALID_ENUM_VALUE
}
 Available CCx pins status connections. More...
 
enum  npmx_vbusin_status_mask_t {
  NPMX_VBUSIN_STATUS_CONNECTED_MASK = VBUSIN_VBUSINSTATUS_VBUSINPRESENT_Msk ,
  NPMX_VBUSIN_STATUS_CURRENT_LIMIT_MASK = VBUSIN_VBUSINSTATUS_VBUSINCURRLIMACTIVE_Msk ,
  NPMX_VBUSIN_STATUS_OVER_VOLTAGE_MASK = VBUSIN_VBUSINSTATUS_VBUSINOVRPROTACTIVE_Msk ,
  NPMX_VBUSIN_STATUS_UNDER_VOLTAGE_MASK = VBUSIN_VBUSINSTATUS_VBUSINUNDERVOLTAGE_Msk ,
  NPMX_VBUSIN_STATUS_SUSPEND_MODE_MASK = VBUSIN_VBUSINSTATUS_VBUSINSUSPENDMODEACTIVE_Msk
}
 VBUS status flag mask. More...
 

Functions

npmx_vbusin_tnpmx_vbusin_get (npmx_instance_t *p_pmic, uint8_t idx)
 Function for returning VBUSIN instance based on index.
 
npmx_vbusin_current_t npmx_vbusin_current_convert (uint32_t milliamperes)
 Function for converting milliamperes to npmx_vbusin_current_t enumeration.
 
bool npmx_vbusin_current_convert_to_ma (npmx_vbusin_current_t enum_value, uint32_t *p_val)
 Function for converting npmx_vbusin_current_t enumeration to milliamperes.
 
const char *const npmx_vbusin_cc_status_map_to_string (npmx_vbusin_cc_t enum_value)
 Function for mapping npmx_vbusin_cc_t enumeration values to string.
 
npmx_error_t npmx_vbusin_task_trigger (npmx_vbusin_t const *p_instance, npmx_vbusin_task_t task)
 Function for activating the specified VBUSIN task.
 
npmx_error_t npmx_vbusin_current_limit_set (npmx_vbusin_t const *p_instance, npmx_vbusin_current_t current_limit)
 Function for setting the current limit for VBUS.
 
npmx_error_t npmx_vbusin_current_limit_get (npmx_vbusin_t const *p_instance, npmx_vbusin_current_t *p_current_limit)
 Function for getting the current limit for VBUS.
 
npmx_error_t npmx_vbusin_suspend_mode_enable_set (npmx_vbusin_t const *p_instance, bool enable)
 Function for enabling and disabling the suspend mode.
 
npmx_error_t npmx_vbusin_suspend_mode_enable_get (npmx_vbusin_t const *p_instance, bool *p_enable)
 Function for reading the suspend mode.
 
npmx_error_t npmx_vbusin_cc_status_get (npmx_vbusin_t const *p_instance, npmx_vbusin_cc_t *p_cc1, npmx_vbusin_cc_t *p_cc2)
 Function for reading status of USB CCx pins.
 
npmx_error_t npmx_vbusin_vbus_status_get (npmx_vbusin_t const *p_instance, uint8_t *p_status_mask)
 Function for reading VBUS status register.
 

Detailed Description

VBUS input (VBUSIN) peripheral driver.

Enumeration Type Documentation

◆ npmx_vbusin_cc_t

Available CCx pins status connections.

Enumerator
NPMX_VBUSIN_CC_NOT_CONNECTED 

No CCx connection.

NPMX_VBUSIN_CC_DEFAULT 

Default USB 100/500 mA.

NPMX_VBUSIN_CC_HIGH_POWER_1A5 

1.5 A High Power.

NPMX_VBUSIN_CC_HIGH_POWER_3A0 

3.0 A High Power.

NPMX_VBUSIN_CC_COUNT 

Pins status connections count.

NPMX_VBUSIN_CC_INVALID 

Invalid CCx pins status connection.

◆ npmx_vbusin_current_t

Available current limits for VBUS.

Enumerator
NPMX_VBUSIN_CURRENT_100_MA 

100 mA.

NPMX_VBUSIN_CURRENT_500_MA 

500 mA.

NPMX_VBUSIN_CURRENT_600_MA 

600 mA.

NPMX_VBUSIN_CURRENT_700_MA 

700 mA.

NPMX_VBUSIN_CURRENT_800_MA 

800 mA.

NPMX_VBUSIN_CURRENT_900_MA 

900 mA.

NPMX_VBUSIN_CURRENT_1000_MA 

1000 mA.

NPMX_VBUSIN_CURRENT_1100_MA 

1100 mA.

NPMX_VBUSIN_CURRENT_1200_MA 

1200 mA.

NPMX_VBUSIN_CURRENT_1300_MA 

1300 mA.

NPMX_VBUSIN_CURRENT_1400_MA 

1400 mA.

NPMX_VBUSIN_CURRENT_1500_MA 

1500 mA.

NPMX_VBUSIN_CURRENT_COUNT 

Available currents count.

NPMX_VBUSIN_CURRENT_DEFAULT 

Default current.

NPMX_VBUSIN_CURRENT_MAX 

Maximum current.

NPMX_VBUSIN_CURRENT_INVALID 

Invalid current.

◆ npmx_vbusin_status_mask_t

VBUS status flag mask.

Enumerator
NPMX_VBUSIN_STATUS_CONNECTED_MASK 

VBUS detected.

NPMX_VBUSIN_STATUS_CURRENT_LIMIT_MASK 

VBUS current limit detected.

NPMX_VBUSIN_STATUS_OVER_VOLTAGE_MASK 

VBUS over voltage protection active.

NPMX_VBUSIN_STATUS_UNDER_VOLTAGE_MASK 

VBUS under voltage detected.

NPMX_VBUSIN_STATUS_SUSPEND_MODE_MASK 

VBUS suspended.

◆ npmx_vbusin_task_t

VBUSIN tasks.

Enumerator
NPMX_VBUSIN_TASK_APPLY_CURRENT_LIMIT 

Applying the selected current limit set with npmx_vbusin_current_limit_set().

NPMX_VBUSIN_TASK_COUNT 

VBUSIN tasks count.

Function Documentation

◆ npmx_vbusin_cc_status_get()

npmx_error_t npmx_vbusin_cc_status_get ( npmx_vbusin_t const * p_instance,
npmx_vbusin_cc_t * p_cc1,
npmx_vbusin_cc_t * p_cc2 )

Function for reading status of USB CCx pins.

Parameters
[in]p_instancePointer to the VBUSIN instance.
[out]p_cc1Pointer to the CC1 status variable.
[out]p_cc2Pointer to the CC2 status variable.
Return values
NPMX_SUCCESSOperation performed successfully.
NPMX_ERROR_IOError using IO bus line.

◆ npmx_vbusin_cc_status_map_to_string()

const char *const npmx_vbusin_cc_status_map_to_string ( npmx_vbusin_cc_t enum_value)

Function for mapping npmx_vbusin_cc_t enumeration values to string.

Parameters
[in]enum_valueCC status defined as npmx_vbusin_cc_t enumeration to be mapped to string.
Returns
Result of conversion.

◆ npmx_vbusin_current_convert()

npmx_vbusin_current_t npmx_vbusin_current_convert ( uint32_t milliamperes)

Function for converting milliamperes to npmx_vbusin_current_t enumeration.

Parameters
[in]milliamperesCurrent in milliamperes to be converted into npmx_vbusin_current_t enumeration.
Returns
Result of conversion. NPMX_VBUSIN_CURRENT_INVALID if given current is not represented in enumeration.

◆ npmx_vbusin_current_convert_to_ma()

bool npmx_vbusin_current_convert_to_ma ( npmx_vbusin_current_t enum_value,
uint32_t * p_val )

Function for converting npmx_vbusin_current_t enumeration to milliamperes.

Parameters
[in]enum_valueCurrent defined as npmx_vbusin_current_t enumeration to be converted into milliamperes.
[out]p_valPointer to the variable that stores the conversion result.
Return values
trueConversion is valid.
falseConversion is invalid - an invalid argument was passed to the function.

◆ npmx_vbusin_current_limit_get()

npmx_error_t npmx_vbusin_current_limit_get ( npmx_vbusin_t const * p_instance,
npmx_vbusin_current_t * p_current_limit )

Function for getting the current limit for VBUS.

Parameters
[in]p_instancePointer to the VBUSIN instance.
[out]p_current_limitPointer to the current limit variable.
Return values
NPMX_SUCCESSOperation performed successfully.
NPMX_ERROR_IOError using IO bus line.

◆ npmx_vbusin_current_limit_set()

npmx_error_t npmx_vbusin_current_limit_set ( npmx_vbusin_t const * p_instance,
npmx_vbusin_current_t current_limit )

Function for setting the current limit for VBUS.

Parameters
[in]p_instancePointer to the VBUSIN instance.
[in]current_limitCurrent limit to set.
Return values
NPMX_SUCCESSOperation performed successfully.
NPMX_ERROR_IOError using IO bus line.

◆ npmx_vbusin_get()

npmx_vbusin_t * npmx_vbusin_get ( npmx_instance_t * p_pmic,
uint8_t idx )

Function for returning VBUSIN instance based on index.

Parameters
[in]p_pmicPointer to the PMIC instance.
[in]idxIndex of the VBUSIN instance.
Returns
Pointer to the VBUSIN instance.

◆ npmx_vbusin_suspend_mode_enable_get()

npmx_error_t npmx_vbusin_suspend_mode_enable_get ( npmx_vbusin_t const * p_instance,
bool * p_enable )

Function for reading the suspend mode.

Parameters
[in]p_instancePointer to the VBUSIN instance.
[out]p_enablePointer to the suspend mode variable.
Return values
NPMX_SUCCESSOperation performed successfully.
NPMX_ERROR_IOError using IO bus line.

◆ npmx_vbusin_suspend_mode_enable_set()

npmx_error_t npmx_vbusin_suspend_mode_enable_set ( npmx_vbusin_t const * p_instance,
bool enable )

Function for enabling and disabling the suspend mode.

Parameters
[in]p_instancePointer to the VBUSIN instance.
[in]enableTrue if device is to enter the suspend mode, false if it is to exit from the suspend mode.
Return values
NPMX_SUCCESSOperation performed successfully.
NPMX_ERROR_IOError using IO bus line.

◆ npmx_vbusin_task_trigger()

npmx_error_t npmx_vbusin_task_trigger ( npmx_vbusin_t const * p_instance,
npmx_vbusin_task_t task )

Function for activating the specified VBUSIN task.

Parameters
p_instancePointer to the VBUSIN instance.
taskTask to be activated.
Return values
NPMX_SUCCESSOperation performed successfully.
NPMX_ERROR_IOError using IO bus line.

◆ npmx_vbusin_vbus_status_get()

npmx_error_t npmx_vbusin_vbus_status_get ( npmx_vbusin_t const * p_instance,
uint8_t * p_status_mask )

Function for reading VBUS status register.

Parameters
[in]p_instancePointer to the VBUSIN instance.
[out]p_status_maskPointer to the VBUS status mask composed of values from npmx_vbusin_status_mask_t.
Return values
NPMX_SUCCESSOperation performed successfully.
NPMX_ERROR_IOError using IO bus line.