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

GPIO peripheral driver. More...

Data Structures

struct  npmx_gpio_t
 Data structure of the GPIO driver instance. More...
 
struct  npmx_gpio_config_t
 Configuration structure for GPIO. More...
 

Enumerations

enum  npmx_gpio_mode_t {
  NPMX_GPIO_MODE_INPUT = GPIOS_GPIOMODE0_GPIOMODE_GPIINPUT ,
  NPMX_GPIO_MODE_INPUT_OVERRIDE_1 = GPIOS_GPIOMODE0_GPIOMODE_GPILOGIC1 ,
  NPMX_GPIO_MODE_INPUT_OVERRIDE_0 = GPIOS_GPIOMODE0_GPIOMODE_GPILOGIC0 ,
  NPMX_GPIO_MODE_INPUT_RISING_EDGE = GPIOS_GPIOMODE0_GPIOMODE_GPIEVENTRISE ,
  NPMX_GPIO_MODE_INPUT_FALLING_EDGE = GPIOS_GPIOMODE0_GPIOMODE_GPIEVENTFALL ,
  NPMX_GPIO_MODE_OUTPUT_IRQ = GPIOS_GPIOMODE0_GPIOMODE_GPOIRQ ,
  NPMX_GPIO_MODE_OUTPUT_RESET = GPIOS_GPIOMODE0_GPIOMODE_GPORESET ,
  NPMX_GPIO_MODE_OUTPUT_PLW = GPIOS_GPIOMODE0_GPIOMODE_GPOPLW ,
  NPMX_GPIO_MODE_OUTPUT_OVERRIDE_1 = GPIOS_GPIOMODE0_GPIOMODE_GPOLOGIC1 ,
  NPMX_GPIO_MODE_OUTPUT_OVERRIDE_0 = GPIOS_GPIOMODE0_GPIOMODE_GPOLOGIC0 ,
  NPMX_GPIO_MODE_COUNT ,
  NPMX_GPIO_MODE_INVALID = NPMX_INVALID_ENUM_VALUE
}
 Configuration for GPIO mode selection. More...
 
enum  npmx_gpio_drive_t {
  NPMX_GPIO_DRIVE_1_MA = GPIOS_GPIODRIVE1_GPIODRIVE_1MA ,
  NPMX_GPIO_DRIVE_6_MA = GPIOS_GPIODRIVE1_GPIODRIVE_6MA ,
  NPMX_GPIO_DRIVE_COUNT ,
  NPMX_GPIO_DRIVE_MIN = NPMX_GPIO_DRIVE_1_MA ,
  NPMX_GPIO_DRIVE_DEFAULT = NPMX_GPIO_DRIVE_1_MA ,
  NPMX_GPIO_DRIVE_MAX = NPMX_GPIO_DRIVE_6_MA ,
  NPMX_GPIO_DRIVE_INVALID = NPMX_INVALID_ENUM_VALUE
}
 Configuration for GPIO drive current. More...
 
enum  npmx_gpio_pull_t {
  NPMX_GPIO_PULL_DOWN ,
  NPMX_GPIO_PULL_UP ,
  NPMX_GPIO_PULL_NONE ,
  NPMX_GPIO_PULL_COUNT ,
  NPMX_GPIO_PULL_INVALID = NPMX_INVALID_ENUM_VALUE
}
 Configuration for GPIO pull resistors. By default, all GPIOs are in NPMX_GPIO_PULL_DOWN mode. More...
 

Functions

npmx_gpio_tnpmx_gpio_get (npmx_instance_t *p_pmic, uint8_t idx)
 Function for returning GPIO instance based on index.
 
npmx_gpio_drive_t npmx_gpio_drive_convert (uint32_t milliamperes)
 Function for converting milliamperes to npmx_gpio_drive_t enumeration.
 
bool npmx_gpio_drive_convert_to_ma (npmx_gpio_drive_t enum_value, uint32_t *p_val)
 Function for converting npmx_gpio_drive_t enumeration to milliamperes.
 
npmx_error_t npmx_gpio_config_set (npmx_gpio_t const *p_instance, npmx_gpio_config_t const *p_config)
 Function for configuring GPIO.
 
npmx_error_t npmx_gpio_config_get (npmx_gpio_t const *p_instance, npmx_gpio_config_t *p_config)
 Function for reading GPIO configuration.
 
npmx_error_t npmx_gpio_mode_set (npmx_gpio_t const *p_instance, npmx_gpio_mode_t mode)
 Function for setting GPIO mode.
 
npmx_error_t npmx_gpio_mode_get (npmx_gpio_t const *p_instance, npmx_gpio_mode_t *p_mode)
 Function for reading GPIO mode.
 
npmx_error_t npmx_gpio_status_check (npmx_gpio_t const *p_instance, bool *p_status)
 Function for checking GPIO status of specified GPIO pin.
 

Detailed Description

GPIO peripheral driver.

Enumeration Type Documentation

◆ npmx_gpio_drive_t

Configuration for GPIO drive current.

Enumerator
NPMX_GPIO_DRIVE_1_MA 

1 mA.

NPMX_GPIO_DRIVE_6_MA 

6 mA.

NPMX_GPIO_DRIVE_COUNT 

GPIO drive currents count.

NPMX_GPIO_DRIVE_MIN 

Minimum current.

NPMX_GPIO_DRIVE_DEFAULT 

Default current.

NPMX_GPIO_DRIVE_MAX 

Maximum current.

NPMX_GPIO_DRIVE_INVALID 

Invalid current.

◆ npmx_gpio_mode_t

Configuration for GPIO mode selection.

Enumerator
NPMX_GPIO_MODE_INPUT 

GPI Input.

NPMX_GPIO_MODE_INPUT_OVERRIDE_1 

GPI Logic1.

NPMX_GPIO_MODE_INPUT_OVERRIDE_0 

GPI Logic0.

NPMX_GPIO_MODE_INPUT_RISING_EDGE 

GPI Rising Edge Event.

NPMX_GPIO_MODE_INPUT_FALLING_EDGE 

GPI Falling Edge Event.

NPMX_GPIO_MODE_OUTPUT_IRQ 

GPO Interrupt.

NPMX_GPIO_MODE_OUTPUT_RESET 

GPO Reset.

NPMX_GPIO_MODE_OUTPUT_PLW 

GPO PwrLossWarn.

NPMX_GPIO_MODE_OUTPUT_OVERRIDE_1 

GPO Logic1.

NPMX_GPIO_MODE_OUTPUT_OVERRIDE_0 

GPO Logic0.

NPMX_GPIO_MODE_COUNT 

GPIO modes count.

NPMX_GPIO_MODE_INVALID 

Invalid GPIO mode.

◆ npmx_gpio_pull_t

Configuration for GPIO pull resistors. By default, all GPIOs are in NPMX_GPIO_PULL_DOWN mode.

Enumerator
NPMX_GPIO_PULL_DOWN 

GPIO pull-down enable.

NPMX_GPIO_PULL_UP 

GPIO pull-up enable.

NPMX_GPIO_PULL_NONE 

GPIO pull-down and pull-up disable.

NPMX_GPIO_PULL_COUNT 

GPIO pull configs count.

NPMX_GPIO_PULL_INVALID 

Invalid GPIO pull configuration.

Function Documentation

◆ npmx_gpio_config_get()

npmx_error_t npmx_gpio_config_get ( npmx_gpio_t const * p_instance,
npmx_gpio_config_t * p_config )

Function for reading GPIO configuration.

Parameters
[in]p_instancePointer to the GPIO instance.
[out]p_configPointer to the configuration of GPIO.
Return values
NPMX_SUCCESSOperation performed successfully.
NPMX_ERROR_IOError using IO bus line.

◆ npmx_gpio_config_set()

npmx_error_t npmx_gpio_config_set ( npmx_gpio_t const * p_instance,
npmx_gpio_config_t const * p_config )

Function for configuring GPIO.

Parameters
[in]p_instancePointer to the GPIO instance.
[in]p_configPointer to the configuration of GPIO to be applied.
Return values
NPMX_SUCCESSOperation performed successfully.
NPMX_ERROR_IOError using IO bus line.

◆ npmx_gpio_drive_convert()

npmx_gpio_drive_t npmx_gpio_drive_convert ( uint32_t milliamperes)

Function for converting milliamperes to npmx_gpio_drive_t enumeration.

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

◆ npmx_gpio_drive_convert_to_ma()

bool npmx_gpio_drive_convert_to_ma ( npmx_gpio_drive_t enum_value,
uint32_t * p_val )

Function for converting npmx_gpio_drive_t enumeration to milliamperes.

Parameters
[in]enum_valueCurrent defined as npmx_gpio_drive_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_gpio_get()

npmx_gpio_t * npmx_gpio_get ( npmx_instance_t * p_pmic,
uint8_t idx )

Function for returning GPIO instance based on index.

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

◆ npmx_gpio_mode_get()

npmx_error_t npmx_gpio_mode_get ( npmx_gpio_t const * p_instance,
npmx_gpio_mode_t * p_mode )

Function for reading GPIO mode.

Parameters
[in]p_instancePointer to the GPIO instance.
[out]p_modePointer to mode of GPIO.
Return values
NPMX_SUCCESSOperation performed successfully.
NPMX_ERROR_IOError using IO bus line.

◆ npmx_gpio_mode_set()

npmx_error_t npmx_gpio_mode_set ( npmx_gpio_t const * p_instance,
npmx_gpio_mode_t mode )

Function for setting GPIO mode.

Parameters
[in]p_instancePointer to the GPIO instance.
[in]modeMode of GPIO to set.
Return values
NPMX_SUCCESSOperation performed successfully.
NPMX_ERROR_IOError using IO bus line.

◆ npmx_gpio_status_check()

npmx_error_t npmx_gpio_status_check ( npmx_gpio_t const * p_instance,
bool * p_status )

Function for checking GPIO status of specified GPIO pin.

Parameters
[in]p_instancePointer to the GPIO instance.
[out]p_statusPointer to the status of GPIO. True if specified GPIO is in a high state, false otherwise.
Return values
NPMX_SUCCESSOperation performed successfully.
NPMX_ERROR_IOError using IO bus line.