FreeRTOS port on GAP8/RISC-V
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
gap9/pmsis/include/pmsis/implem/hal/gpio/gpio.h File Reference

Macros

#define ARCHI_GPIO_NB_DEVICE
 
#define ARCHI_GPIO_DEVICE_SIZE
 
#define ARCHI_GPIO_NB_GPIO_PER_DEVICE
 
#define ARCHI_GPIO_NB_GPIO_PER_DEVICE_MASK
 
#define ARCHI_GPIO_DEVICE_ID(gpio)
 
#define ARCHI_GPIO_DEVICE_OFFSET(id)
 
#define ARCHI_GPIO_NB_PADCFG_REG
 
#define ARCHI_GPIO_NB_PADCFG_REG_LOG2
 
#define ARCHI_GPIO_NB_GPIO_PER_PADCFG
 
#define ARCHI_GPIO_PADCFG_REG_OFFSET(gpio)
 
#define ARCHI_GPIO_PADCFG_POS_OFFSET(gpio)
 

Functions

static uint32_t gpio_paddir_get (uint32_t base, uint32_t dev_offset)
 
static void gpio_paddir_set (uint32_t base, uint32_t dev_offset, uint32_t value)
 
static uint32_t gpio_gpioen_get (uint32_t base, uint32_t dev_offset)
 
static void gpio_gpioen_set (uint32_t base, uint32_t dev_offset, uint32_t value)
 
static uint32_t gpio_padin_get (uint32_t base, uint32_t dev_offset)
 
static void gpio_padin_set (uint32_t base, uint32_t dev_offset, uint32_t value)
 
static uint32_t gpio_padout_get (uint32_t base, uint32_t dev_offset)
 
static void gpio_padout_set (uint32_t base, uint32_t dev_offset, uint32_t value)
 
static void gpio_padout_clear (uint32_t base, uint32_t dev_offset, uint32_t value)
 
static uint32_t gpio_inten_get (uint32_t base, uint32_t dev_offset)
 
static void gpio_inten_set (uint32_t base, uint32_t dev_offset, uint32_t value)
 
static uint32_t gpio_inttype_get (uint32_t base, uint32_t dev_offset, uint32_t reg_id)
 
static void gpio_inttype_set (uint32_t base, uint32_t dev_offset, uint32_t reg_id, uint32_t value)
 
static uint32_t gpio_intstatus_get (uint32_t base, uint32_t dev_offset)
 
static void gpio_intstatus_set (uint32_t base, uint32_t dev_offset, uint32_t value)
 
static uint32_t gpio_padcfg_get (uint32_t base, uint32_t dev_offset, uint32_t reg_id)
 
static void gpio_padcfg_set (uint32_t base, uint32_t dev_offset, uint32_t reg_id, uint32_t value)
 
static void hal_gpio_pin_direction_set (uint32_t device_id, uint8_t gpio_pin, uint8_t dir)
 
static void hal_gpio_direction_set (uint32_t device_id, uint32_t gpio_mask, uint8_t dir)
 
static uint32_t hal_gpio_direction_get (uint32_t device_id)
 
static void hal_gpio_pin_enable (uint32_t device_id, uint8_t gpio_pin, uint8_t enable)
 
static void hal_gpio_enable (uint32_t device_id, uint32_t gpio_mask, uint8_t enable)
 
static uint32_t hal_gpio_enable_get (uint32_t device_id)
 
static uint32_t hal_gpio_pin_input_value_get (uint32_t device_id, uint8_t gpio_pin)
 
static uint32_t hal_gpio_input_value_get (uint32_t device_id)
 
static void hal_gpio_output_value_set (uint32_t device_id, uint32_t gpio_mask, uint8_t value)
 
static void hal_gpio_pin_output_value_set (uint32_t device_id, uint8_t gpio_pin, uint8_t value)
 
static uint32_t hal_gpio_output_value_get (uint32_t device_id)
 
static void hal_gpio_pin_irq_set (uint32_t device_id, uint8_t gpio_pin, uint8_t enable)
 
static void hal_gpio_irq_set (uint32_t device_id, uint32_t gpio_mask, uint8_t enable)
 
static uint32_t hal_gpio_irq_get (uint32_t device_id)
 
static void hal_gpio_pin_irq_type_set (uint32_t device_id, uint8_t gpio_pin, uint8_t irq_type)
 
static uint32_t hal_gpio_irq_type_get (uint32_t device_id, uint32_t reg_offset)
 
static uint32_t hal_gpio_pin_irq_status_get (uint32_t device_id, uint8_t gpio_pin)
 
static uint32_t hal_gpio_irq_status_get (uint32_t device_id)
 
static void hal_gpio_pin_pull_enable (uint32_t device_id, uint8_t gpio_pin, uint8_t pe)
 
static void hal_gpio_pin_drive_strength_set (uint32_t device_id, uint8_t gpio_pin, uint8_t ds)
 
static void hal_gpio_pin_config_set (uint32_t device_id, uint8_t gpio_pin, uint8_t pe, uint8_t ds)
 
static void hal_gpio_config_set (uint32_t device_id, uint32_t gpio_mask, uint8_t pe, uint8_t ds)
 
static uint32_t hal_gpio_config_get (uint32_t device_id, uint32_t gpio_reg)
 

Macro Definition Documentation

#define ARCHI_GPIO_DEVICE_SIZE
#define ARCHI_GPIO_NB_DEVICE
#define ARCHI_GPIO_NB_GPIO_PER_DEVICE
#define ARCHI_GPIO_NB_GPIO_PER_DEVICE_MASK
#define ARCHI_GPIO_NB_GPIO_PER_PADCFG
#define ARCHI_GPIO_NB_PADCFG_REG
#define ARCHI_GPIO_NB_PADCFG_REG_LOG2
#define ARCHI_GPIO_PADCFG_POS_OFFSET (   gpio)
#define ARCHI_GPIO_PADCFG_REG_OFFSET (   gpio)

Function Documentation

static uint32_t gpio_gpioen_get ( uint32_t  base,
uint32_t  dev_offset 
)
inlinestatic

GPIOEN Register.

References GAP_READ, and GPIO_GPIOEN_00_31_OFFSET.

Referenced by hal_gpio_enable(), hal_gpio_enable_get(), and hal_gpio_pin_enable().

static void gpio_gpioen_set ( uint32_t  base,
uint32_t  dev_offset,
uint32_t  value 
)
inlinestatic
static uint32_t gpio_inten_get ( uint32_t  base,
uint32_t  dev_offset 
)
inlinestatic

INTEN Register.

References GAP_READ, and GPIO_INTEN_00_31_OFFSET.

Referenced by hal_gpio_irq_get(), hal_gpio_irq_set(), and hal_gpio_pin_irq_set().

static void gpio_inten_set ( uint32_t  base,
uint32_t  dev_offset,
uint32_t  value 
)
inlinestatic
static uint32_t gpio_intstatus_get ( uint32_t  base,
uint32_t  dev_offset 
)
inlinestatic

INTSTATUS Register.

References GAP_READ, and GPIO_INTSTATUS_00_31_OFFSET.

Referenced by hal_gpio_irq_status_get(), and hal_gpio_pin_irq_status_get().

static void gpio_intstatus_set ( uint32_t  base,
uint32_t  dev_offset,
uint32_t  value 
)
inlinestatic
static uint32_t gpio_inttype_get ( uint32_t  base,
uint32_t  dev_offset,
uint32_t  reg_id 
)
inlinestatic

INTTYPE Register.

References GAP_READ, and GPIO_INTTYPE_00_15_OFFSET.

Referenced by hal_gpio_irq_type_get(), and hal_gpio_pin_irq_type_set().

static void gpio_inttype_set ( uint32_t  base,
uint32_t  dev_offset,
uint32_t  reg_id,
uint32_t  value 
)
inlinestatic
static uint32_t gpio_padcfg_get ( uint32_t  base,
uint32_t  dev_offset,
uint32_t  reg_id 
)
inlinestatic
static void gpio_padcfg_set ( uint32_t  base,
uint32_t  dev_offset,
uint32_t  reg_id,
uint32_t  value 
)
inlinestatic
static uint32_t gpio_paddir_get ( uint32_t  base,
uint32_t  dev_offset 
)
inlinestatic
static void gpio_paddir_set ( uint32_t  base,
uint32_t  dev_offset,
uint32_t  value 
)
inlinestatic
static uint32_t gpio_padin_get ( uint32_t  base,
uint32_t  dev_offset 
)
inlinestatic

PADIN Register.

References GAP_READ, and GPIO_PADIN_00_31_OFFSET.

Referenced by hal_gpio_input_value_get(), and hal_gpio_pin_input_value_get().

static void gpio_padin_set ( uint32_t  base,
uint32_t  dev_offset,
uint32_t  value 
)
inlinestatic
static void gpio_padout_clear ( uint32_t  base,
uint32_t  dev_offset,
uint32_t  value 
)
inlinestatic
static uint32_t gpio_padout_get ( uint32_t  base,
uint32_t  dev_offset 
)
inlinestatic

PADOUT Register.

References GAP_READ, and GPIO_PADOUT_00_31_OFFSET.

Referenced by hal_gpio_output_value_get().

static void gpio_padout_set ( uint32_t  base,
uint32_t  dev_offset,
uint32_t  value 
)
inlinestatic
static uint32_t hal_gpio_config_get ( uint32_t  device_id,
uint32_t  gpio_reg 
)
inlinestatic
static void hal_gpio_config_set ( uint32_t  device_id,
uint32_t  gpio_mask,
uint8_t  pe,
uint8_t  ds 
)
inlinestatic
static uint32_t hal_gpio_direction_get ( uint32_t  device_id)
inlinestatic
static void hal_gpio_direction_set ( uint32_t  device_id,
uint32_t  gpio_mask,
uint8_t  dir 
)
inlinestatic
static void hal_gpio_enable ( uint32_t  device_id,
uint32_t  gpio_mask,
uint8_t  enable 
)
inlinestatic
static uint32_t hal_gpio_enable_get ( uint32_t  device_id)
inlinestatic
static uint32_t hal_gpio_input_value_get ( uint32_t  device_id)
inlinestatic
static uint32_t hal_gpio_irq_get ( uint32_t  device_id)
inlinestatic
static void hal_gpio_irq_set ( uint32_t  device_id,
uint32_t  gpio_mask,
uint8_t  enable 
)
inlinestatic
static uint32_t hal_gpio_irq_status_get ( uint32_t  device_id)
inlinestatic
static uint32_t hal_gpio_irq_type_get ( uint32_t  device_id,
uint32_t  reg_offset 
)
inlinestatic
static uint32_t hal_gpio_output_value_get ( uint32_t  device_id)
inlinestatic
static void hal_gpio_output_value_set ( uint32_t  device_id,
uint32_t  gpio_mask,
uint8_t  value 
)
inlinestatic
static void hal_gpio_pin_config_set ( uint32_t  device_id,
uint8_t  gpio_pin,
uint8_t  pe,
uint8_t  ds 
)
inlinestatic
static void hal_gpio_pin_direction_set ( uint32_t  device_id,
uint8_t  gpio_pin,
uint8_t  dir 
)
inlinestatic

Paddir. Set direction mode of a GPIO pad. 0 = Input 1 = Output.

References ARCHI_GPIO_DEVICE_OFFSET, gpio, gpio_paddir_get(), and gpio_paddir_set().

static void hal_gpio_pin_drive_strength_set ( uint32_t  device_id,
uint8_t  gpio_pin,
uint8_t  ds 
)
inlinestatic
static void hal_gpio_pin_enable ( uint32_t  device_id,
uint8_t  gpio_pin,
uint8_t  enable 
)
inlinestatic
static uint32_t hal_gpio_pin_input_value_get ( uint32_t  device_id,
uint8_t  gpio_pin 
)
inlinestatic
static void hal_gpio_pin_irq_set ( uint32_t  device_id,
uint8_t  gpio_pin,
uint8_t  enable 
)
inlinestatic
static uint32_t hal_gpio_pin_irq_status_get ( uint32_t  device_id,
uint8_t  gpio_pin 
)
inlinestatic

Intstatus.

References ARCHI_GPIO_DEVICE_OFFSET, gpio, and gpio_intstatus_get().

static void hal_gpio_pin_irq_type_set ( uint32_t  device_id,
uint8_t  gpio_pin,
uint8_t  irq_type 
)
inlinestatic
static void hal_gpio_pin_output_value_set ( uint32_t  device_id,
uint8_t  gpio_pin,
uint8_t  value 
)
inlinestatic
static void hal_gpio_pin_pull_enable ( uint32_t  device_id,
uint8_t  gpio_pin,
uint8_t  pe 
)
inlinestatic