HPM SDK
HPMicro Software Development Kit
GPIOM driver APIs

GPIOM driver APIs. More...

Typedefs

typedef enum gpiom_pin_visibility gpiom_pin_visibility_t
 
typedef enum gpiom_gpio gpiom_gpio_t
 
typedef enum gpiom_gpio gpiom_gpio_t
 
typedef enum gpiom_gpio gpiom_gpio_t
 
typedef enum gpiom_gpio gpiom_gpio_t
 
typedef enum gpiom_gpio gpiom_gpio_t
 
typedef enum gpiom_gpio gpiom_gpio_t
 
typedef enum gpiom_gpio gpiom_gpio_t
 
typedef enum gpiom_gpio gpiom_gpio_t
 

Enumerations

enum  gpiom_pin_visibility { gpiom_pin_visible = 0 , gpiom_pin_invisible = 1 }
 
enum  gpiom_gpio {
  gpiom_soc_gpio0 = 0 , gpiom_core0_fast = 2 , gpiom_soc_gpio0 = 0 , gpiom_core0_fast = 2 ,
  gpiom_soc_gpio0 = 0 , gpiom_soc_gpio1 = 1 , gpiom_core0_fast = 2 , gpiom_core1_fast = 3 ,
  gpiom_soc_gpio0 = 0 , gpiom_core0_fast = 1 , gpiom_soc_gpio0 = 0 , gpiom_soc_gpio1 = 1 ,
  gpiom_core0_fast = 2 , gpiom_core1_fast = 3 , gpiom_soc_gpio0 = 0 , gpiom_core0_fast = 2 ,
  gpiom_soc_gpio0 = 0 , gpiom_soc_gpio1 = 1 , gpiom_core0_fast = 2 , gpiom_core1_fast = 3 ,
  gpiom_soc_gpio0 = 0 , gpiom_soc_gpio1 = 1 , gpiom_core0_fast = 2 , gpiom_core1_fast = 3
}
 
enum  gpiom_gpio {
  gpiom_soc_gpio0 = 0 , gpiom_core0_fast = 2 , gpiom_soc_gpio0 = 0 , gpiom_core0_fast = 2 ,
  gpiom_soc_gpio0 = 0 , gpiom_soc_gpio1 = 1 , gpiom_core0_fast = 2 , gpiom_core1_fast = 3 ,
  gpiom_soc_gpio0 = 0 , gpiom_core0_fast = 1 , gpiom_soc_gpio0 = 0 , gpiom_soc_gpio1 = 1 ,
  gpiom_core0_fast = 2 , gpiom_core1_fast = 3 , gpiom_soc_gpio0 = 0 , gpiom_core0_fast = 2 ,
  gpiom_soc_gpio0 = 0 , gpiom_soc_gpio1 = 1 , gpiom_core0_fast = 2 , gpiom_core1_fast = 3 ,
  gpiom_soc_gpio0 = 0 , gpiom_soc_gpio1 = 1 , gpiom_core0_fast = 2 , gpiom_core1_fast = 3
}
 
enum  gpiom_gpio {
  gpiom_soc_gpio0 = 0 , gpiom_core0_fast = 2 , gpiom_soc_gpio0 = 0 , gpiom_core0_fast = 2 ,
  gpiom_soc_gpio0 = 0 , gpiom_soc_gpio1 = 1 , gpiom_core0_fast = 2 , gpiom_core1_fast = 3 ,
  gpiom_soc_gpio0 = 0 , gpiom_core0_fast = 1 , gpiom_soc_gpio0 = 0 , gpiom_soc_gpio1 = 1 ,
  gpiom_core0_fast = 2 , gpiom_core1_fast = 3 , gpiom_soc_gpio0 = 0 , gpiom_core0_fast = 2 ,
  gpiom_soc_gpio0 = 0 , gpiom_soc_gpio1 = 1 , gpiom_core0_fast = 2 , gpiom_core1_fast = 3 ,
  gpiom_soc_gpio0 = 0 , gpiom_soc_gpio1 = 1 , gpiom_core0_fast = 2 , gpiom_core1_fast = 3
}
 
enum  gpiom_gpio {
  gpiom_soc_gpio0 = 0 , gpiom_core0_fast = 2 , gpiom_soc_gpio0 = 0 , gpiom_core0_fast = 2 ,
  gpiom_soc_gpio0 = 0 , gpiom_soc_gpio1 = 1 , gpiom_core0_fast = 2 , gpiom_core1_fast = 3 ,
  gpiom_soc_gpio0 = 0 , gpiom_core0_fast = 1 , gpiom_soc_gpio0 = 0 , gpiom_soc_gpio1 = 1 ,
  gpiom_core0_fast = 2 , gpiom_core1_fast = 3 , gpiom_soc_gpio0 = 0 , gpiom_core0_fast = 2 ,
  gpiom_soc_gpio0 = 0 , gpiom_soc_gpio1 = 1 , gpiom_core0_fast = 2 , gpiom_core1_fast = 3 ,
  gpiom_soc_gpio0 = 0 , gpiom_soc_gpio1 = 1 , gpiom_core0_fast = 2 , gpiom_core1_fast = 3
}
 
enum  gpiom_gpio {
  gpiom_soc_gpio0 = 0 , gpiom_core0_fast = 2 , gpiom_soc_gpio0 = 0 , gpiom_core0_fast = 2 ,
  gpiom_soc_gpio0 = 0 , gpiom_soc_gpio1 = 1 , gpiom_core0_fast = 2 , gpiom_core1_fast = 3 ,
  gpiom_soc_gpio0 = 0 , gpiom_core0_fast = 1 , gpiom_soc_gpio0 = 0 , gpiom_soc_gpio1 = 1 ,
  gpiom_core0_fast = 2 , gpiom_core1_fast = 3 , gpiom_soc_gpio0 = 0 , gpiom_core0_fast = 2 ,
  gpiom_soc_gpio0 = 0 , gpiom_soc_gpio1 = 1 , gpiom_core0_fast = 2 , gpiom_core1_fast = 3 ,
  gpiom_soc_gpio0 = 0 , gpiom_soc_gpio1 = 1 , gpiom_core0_fast = 2 , gpiom_core1_fast = 3
}
 
enum  gpiom_gpio {
  gpiom_soc_gpio0 = 0 , gpiom_core0_fast = 2 , gpiom_soc_gpio0 = 0 , gpiom_core0_fast = 2 ,
  gpiom_soc_gpio0 = 0 , gpiom_soc_gpio1 = 1 , gpiom_core0_fast = 2 , gpiom_core1_fast = 3 ,
  gpiom_soc_gpio0 = 0 , gpiom_core0_fast = 1 , gpiom_soc_gpio0 = 0 , gpiom_soc_gpio1 = 1 ,
  gpiom_core0_fast = 2 , gpiom_core1_fast = 3 , gpiom_soc_gpio0 = 0 , gpiom_core0_fast = 2 ,
  gpiom_soc_gpio0 = 0 , gpiom_soc_gpio1 = 1 , gpiom_core0_fast = 2 , gpiom_core1_fast = 3 ,
  gpiom_soc_gpio0 = 0 , gpiom_soc_gpio1 = 1 , gpiom_core0_fast = 2 , gpiom_core1_fast = 3
}
 
enum  gpiom_gpio {
  gpiom_soc_gpio0 = 0 , gpiom_core0_fast = 2 , gpiom_soc_gpio0 = 0 , gpiom_core0_fast = 2 ,
  gpiom_soc_gpio0 = 0 , gpiom_soc_gpio1 = 1 , gpiom_core0_fast = 2 , gpiom_core1_fast = 3 ,
  gpiom_soc_gpio0 = 0 , gpiom_core0_fast = 1 , gpiom_soc_gpio0 = 0 , gpiom_soc_gpio1 = 1 ,
  gpiom_core0_fast = 2 , gpiom_core1_fast = 3 , gpiom_soc_gpio0 = 0 , gpiom_core0_fast = 2 ,
  gpiom_soc_gpio0 = 0 , gpiom_soc_gpio1 = 1 , gpiom_core0_fast = 2 , gpiom_core1_fast = 3 ,
  gpiom_soc_gpio0 = 0 , gpiom_soc_gpio1 = 1 , gpiom_core0_fast = 2 , gpiom_core1_fast = 3
}
 
enum  gpiom_gpio {
  gpiom_soc_gpio0 = 0 , gpiom_core0_fast = 2 , gpiom_soc_gpio0 = 0 , gpiom_core0_fast = 2 ,
  gpiom_soc_gpio0 = 0 , gpiom_soc_gpio1 = 1 , gpiom_core0_fast = 2 , gpiom_core1_fast = 3 ,
  gpiom_soc_gpio0 = 0 , gpiom_core0_fast = 1 , gpiom_soc_gpio0 = 0 , gpiom_soc_gpio1 = 1 ,
  gpiom_core0_fast = 2 , gpiom_core1_fast = 3 , gpiom_soc_gpio0 = 0 , gpiom_core0_fast = 2 ,
  gpiom_soc_gpio0 = 0 , gpiom_soc_gpio1 = 1 , gpiom_core0_fast = 2 , gpiom_core1_fast = 3 ,
  gpiom_soc_gpio0 = 0 , gpiom_soc_gpio1 = 1 , gpiom_core0_fast = 2 , gpiom_core1_fast = 3
}
 

Functions

static gpiom_gpio_t gpiom_get_pin_controller (GPIOM_Type *ptr, uint8_t gpio_index, uint8_t pin_index)
 Get pin's controller. More...
 
static void gpiom_set_pin_controller (GPIOM_Type *ptr, uint8_t gpio_index, uint8_t pin_index, gpiom_gpio_t gpio)
 set pin's controller More...
 
static bool gpiom_check_pin_visibility (GPIOM_Type *ptr, uint8_t gpio_index, uint8_t pin_index, gpiom_gpio_t gpio)
 Check if pin is visibility for specified module. More...
 
static void gpiom_enable_pin_visibility (GPIOM_Type *ptr, uint8_t gpio_index, uint8_t pin_index, gpiom_gpio_t gpio)
 enable pin visibility for specified module More...
 
static void gpiom_disable_pin_visibility (GPIOM_Type *ptr, uint8_t gpio_index, uint8_t pin_index, gpiom_gpio_t gpio)
 disable pin visibility for specified module More...
 
static bool gpiom_pin_is_locked (GPIOM_Type *ptr, uint8_t gpio_index, uint8_t pin_index)
 Check if pin management is locked. More...
 
static void gpiom_lock_pin (GPIOM_Type *ptr, uint8_t gpio_index, uint8_t pin_index)
 lock pin management More...
 

Detailed Description

GPIOM driver APIs.

Typedef Documentation

◆ gpiom_gpio_t [1/8]

◆ gpiom_gpio_t [2/8]

◆ gpiom_gpio_t [3/8]

◆ gpiom_gpio_t [4/8]

◆ gpiom_gpio_t [5/8]

◆ gpiom_gpio_t [6/8]

◆ gpiom_gpio_t [7/8]

◆ gpiom_gpio_t [8/8]

◆ gpiom_pin_visibility_t

Enumeration Type Documentation

◆ gpiom_gpio [1/8]

enum gpiom_gpio

#include <soc/HPM5300/HPM5301/hpm_gpiom_soc_drv.h>

Enumerator
gpiom_soc_gpio0 
gpiom_core0_fast 
gpiom_soc_gpio0 
gpiom_core0_fast 
gpiom_soc_gpio0 
gpiom_soc_gpio1 
gpiom_core0_fast 
gpiom_core1_fast 
gpiom_soc_gpio0 
gpiom_core0_fast 
gpiom_soc_gpio0 
gpiom_soc_gpio1 
gpiom_core0_fast 
gpiom_core1_fast 
gpiom_soc_gpio0 
gpiom_core0_fast 
gpiom_soc_gpio0 
gpiom_soc_gpio1 
gpiom_core0_fast 
gpiom_core1_fast 
gpiom_soc_gpio0 
gpiom_soc_gpio1 
gpiom_core0_fast 
gpiom_core1_fast 

◆ gpiom_gpio [2/8]

enum gpiom_gpio

#include <soc/HPM5300/HPM5361/hpm_gpiom_soc_drv.h>

Enumerator
gpiom_soc_gpio0 
gpiom_core0_fast 
gpiom_soc_gpio0 
gpiom_core0_fast 
gpiom_soc_gpio0 
gpiom_soc_gpio1 
gpiom_core0_fast 
gpiom_core1_fast 
gpiom_soc_gpio0 
gpiom_core0_fast 
gpiom_soc_gpio0 
gpiom_soc_gpio1 
gpiom_core0_fast 
gpiom_core1_fast 
gpiom_soc_gpio0 
gpiom_core0_fast 
gpiom_soc_gpio0 
gpiom_soc_gpio1 
gpiom_core0_fast 
gpiom_core1_fast 
gpiom_soc_gpio0 
gpiom_soc_gpio1 
gpiom_core0_fast 
gpiom_core1_fast 

◆ gpiom_gpio [3/8]

enum gpiom_gpio

#include <soc/HPM6200/HPM6280/hpm_gpiom_soc_drv.h>

Enumerator
gpiom_soc_gpio0 
gpiom_core0_fast 
gpiom_soc_gpio0 
gpiom_core0_fast 
gpiom_soc_gpio0 
gpiom_soc_gpio1 
gpiom_core0_fast 
gpiom_core1_fast 
gpiom_soc_gpio0 
gpiom_core0_fast 
gpiom_soc_gpio0 
gpiom_soc_gpio1 
gpiom_core0_fast 
gpiom_core1_fast 
gpiom_soc_gpio0 
gpiom_core0_fast 
gpiom_soc_gpio0 
gpiom_soc_gpio1 
gpiom_core0_fast 
gpiom_core1_fast 
gpiom_soc_gpio0 
gpiom_soc_gpio1 
gpiom_core0_fast 
gpiom_core1_fast 

◆ gpiom_gpio [4/8]

enum gpiom_gpio

#include <soc/HPM6300/HPM6360/hpm_gpiom_soc_drv.h>

Enumerator
gpiom_soc_gpio0 
gpiom_core0_fast 
gpiom_soc_gpio0 
gpiom_core0_fast 
gpiom_soc_gpio0 
gpiom_soc_gpio1 
gpiom_core0_fast 
gpiom_core1_fast 
gpiom_soc_gpio0 
gpiom_core0_fast 
gpiom_soc_gpio0 
gpiom_soc_gpio1 
gpiom_core0_fast 
gpiom_core1_fast 
gpiom_soc_gpio0 
gpiom_core0_fast 
gpiom_soc_gpio0 
gpiom_soc_gpio1 
gpiom_core0_fast 
gpiom_core1_fast 
gpiom_soc_gpio0 
gpiom_soc_gpio1 
gpiom_core0_fast 
gpiom_core1_fast 

◆ gpiom_gpio [5/8]

enum gpiom_gpio

#include <soc/HPM6700/HPM6750/hpm_gpiom_soc_drv.h>

Enumerator
gpiom_soc_gpio0 
gpiom_core0_fast 
gpiom_soc_gpio0 
gpiom_core0_fast 
gpiom_soc_gpio0 
gpiom_soc_gpio1 
gpiom_core0_fast 
gpiom_core1_fast 
gpiom_soc_gpio0 
gpiom_core0_fast 
gpiom_soc_gpio0 
gpiom_soc_gpio1 
gpiom_core0_fast 
gpiom_core1_fast 
gpiom_soc_gpio0 
gpiom_core0_fast 
gpiom_soc_gpio0 
gpiom_soc_gpio1 
gpiom_core0_fast 
gpiom_core1_fast 
gpiom_soc_gpio0 
gpiom_soc_gpio1 
gpiom_core0_fast 
gpiom_core1_fast 

◆ gpiom_gpio [6/8]

enum gpiom_gpio

#include <soc/HPM6800/HPM6880/hpm_gpiom_soc_drv.h>

Enumerator
gpiom_soc_gpio0 
gpiom_core0_fast 
gpiom_soc_gpio0 
gpiom_core0_fast 
gpiom_soc_gpio0 
gpiom_soc_gpio1 
gpiom_core0_fast 
gpiom_core1_fast 
gpiom_soc_gpio0 
gpiom_core0_fast 
gpiom_soc_gpio0 
gpiom_soc_gpio1 
gpiom_core0_fast 
gpiom_core1_fast 
gpiom_soc_gpio0 
gpiom_core0_fast 
gpiom_soc_gpio0 
gpiom_soc_gpio1 
gpiom_core0_fast 
gpiom_core1_fast 
gpiom_soc_gpio0 
gpiom_soc_gpio1 
gpiom_core0_fast 
gpiom_core1_fast 

◆ gpiom_gpio [7/8]

enum gpiom_gpio

#include <soc/HPM6E00/HPM6E80/hpm_gpiom_soc_drv.h>

Enumerator
gpiom_soc_gpio0 
gpiom_core0_fast 
gpiom_soc_gpio0 
gpiom_core0_fast 
gpiom_soc_gpio0 
gpiom_soc_gpio1 
gpiom_core0_fast 
gpiom_core1_fast 
gpiom_soc_gpio0 
gpiom_core0_fast 
gpiom_soc_gpio0 
gpiom_soc_gpio1 
gpiom_core0_fast 
gpiom_core1_fast 
gpiom_soc_gpio0 
gpiom_core0_fast 
gpiom_soc_gpio0 
gpiom_soc_gpio1 
gpiom_core0_fast 
gpiom_core1_fast 
gpiom_soc_gpio0 
gpiom_soc_gpio1 
gpiom_core0_fast 
gpiom_core1_fast 

◆ gpiom_gpio [8/8]

enum gpiom_gpio

#include <soc/HPM6P00/HPM6P81/hpm_gpiom_soc_drv.h>

Enumerator
gpiom_soc_gpio0 
gpiom_core0_fast 
gpiom_soc_gpio0 
gpiom_core0_fast 
gpiom_soc_gpio0 
gpiom_soc_gpio1 
gpiom_core0_fast 
gpiom_core1_fast 
gpiom_soc_gpio0 
gpiom_core0_fast 
gpiom_soc_gpio0 
gpiom_soc_gpio1 
gpiom_core0_fast 
gpiom_core1_fast 
gpiom_soc_gpio0 
gpiom_core0_fast 
gpiom_soc_gpio0 
gpiom_soc_gpio1 
gpiom_core0_fast 
gpiom_core1_fast 
gpiom_soc_gpio0 
gpiom_soc_gpio1 
gpiom_core0_fast 
gpiom_core1_fast 

◆ gpiom_pin_visibility

#include <drivers/inc/hpm_gpiom_drv.h>

Enumerator
gpiom_pin_visible 
gpiom_pin_invisible 

Function Documentation

◆ gpiom_check_pin_visibility()

static bool gpiom_check_pin_visibility ( GPIOM_Type ptr,
uint8_t  gpio_index,
uint8_t  pin_index,
gpiom_gpio_t  gpio 
)
inlinestatic

#include <drivers/inc/hpm_gpiom_drv.h>

Check if pin is visibility for specified module.

Parameters
ptrGPIOM base address
gpio_indexgpio port index
pin_indexpin index
gpiogpio module index
Return values
trueif pin is visible by specified module
falseif pin is not visible by specified module

◆ gpiom_disable_pin_visibility()

static void gpiom_disable_pin_visibility ( GPIOM_Type ptr,
uint8_t  gpio_index,
uint8_t  pin_index,
gpiom_gpio_t  gpio 
)
inlinestatic

#include <drivers/inc/hpm_gpiom_drv.h>

disable pin visibility for specified module

Parameters
ptrGPIOM base address
gpio_indexgpio port index
pin_indexpin index
gpiogpio module index

◆ gpiom_enable_pin_visibility()

static void gpiom_enable_pin_visibility ( GPIOM_Type ptr,
uint8_t  gpio_index,
uint8_t  pin_index,
gpiom_gpio_t  gpio 
)
inlinestatic

#include <drivers/inc/hpm_gpiom_drv.h>

enable pin visibility for specified module

Parameters
ptrGPIOM base address
gpio_indexgpio port index
pin_indexpin index
gpiogpio module index

◆ gpiom_get_pin_controller()

static gpiom_gpio_t gpiom_get_pin_controller ( GPIOM_Type ptr,
uint8_t  gpio_index,
uint8_t  pin_index 
)
inlinestatic

#include <drivers/inc/hpm_gpiom_drv.h>

Get pin's controller.

Parameters
ptrGPIOM base address
gpio_indexgpio port index
pin_indexpin index
Return values
pincontrol module

◆ gpiom_lock_pin()

static void gpiom_lock_pin ( GPIOM_Type ptr,
uint8_t  gpio_index,
uint8_t  pin_index 
)
inlinestatic

#include <drivers/inc/hpm_gpiom_drv.h>

lock pin management

Parameters
ptrGPIOM base address
gpio_indexgpio port index
pin_indexpin index

◆ gpiom_pin_is_locked()

static bool gpiom_pin_is_locked ( GPIOM_Type ptr,
uint8_t  gpio_index,
uint8_t  pin_index 
)
inlinestatic

#include <drivers/inc/hpm_gpiom_drv.h>

Check if pin management is locked.

Parameters
ptrGPIOM base address
gpio_indexgpio port index
pin_indexpin index
Return values
trueif pin management is locked
falseif pin management is not locked

◆ gpiom_set_pin_controller()

static void gpiom_set_pin_controller ( GPIOM_Type ptr,
uint8_t  gpio_index,
uint8_t  pin_index,
gpiom_gpio_t  gpio 
)
inlinestatic

#include <drivers/inc/hpm_gpiom_drv.h>

set pin's controller

Parameters
ptrGPIOM base address
gpio_indexgpio port index
pin_indexpin index
gpiogpio module index