Sapphire SoC DS Sapphire SoC UG Sapphire HP SoC DS Sapphire HP SoC UG RISC-V Embedded IDE UG Board Support Package
Loading...
Searching...
No Matches
gpio.h File Reference
#include "type.h"
#include "soc.h"
#include "riscv.h"

Go to the source code of this file.

Overview

GPIO driver API definitions.

Author
Efinix Inc

This file provides data structures and APIs for controlling the GPIO peripheral on the EfxSapphireSoC platform.

Definition in file gpio.h.

Data Structures

struct  gpio_hwreg_t
 GPIO hardware register map. More...
struct  gpio_instance_t
 GPIO instance. More...

Functions

void gpio_applyConfig (gpio_instance_t *inst)
 Apply stored GPIO configuration to hardware.
GPIO (Get Functions)

Read values from the GPIO hardware registers.

u32 gpio_getInput (gpio_instance_t *inst)
 Read GPIO Input Register.
u32 gpio_getOutput (gpio_instance_t *inst)
 Get stored GPIO Output Value.
u32 gpio_getOutputEnable (gpio_instance_t *inst)
 Get stored GPIO Output Enable Mask.
u32 gpio_getInterruptRiseEnable (gpio_instance_t *inst)
 Get Rising Edge Interrupt Mask.
u32 gpio_getInterruptFallEnable (gpio_instance_t *inst)
 Get Falling Edge Interrupt Mask.
u32 gpio_getInterruptHighEnable (gpio_instance_t *inst)
 Get High Level Interrupt Mask.
u32 gpio_getInterruptLowEnable (gpio_instance_t *inst)
 Get Low Level Interrupt Mask.
GPIO (Set Functions)

Write values to the GPIO registers.

Note
Call gpio_applyConfig() to make these changes effective.
void gpio_setOutput (gpio_instance_t *inst, u32 value)
 Set GPIO Output Value.
void gpio_setOutputEnable (gpio_instance_t *inst, u32 value)
 Set GPIO Output Enable (Direction).
void gpio_setInterruptRiseEnable (gpio_instance_t *inst, u32 value)
 Set Rising Edge Interrupt Enable.
void gpio_setInterruptFallEnable (gpio_instance_t *inst, u32 value)
 Set Falling Edge Interrupt Enable.
void gpio_setInterruptHighEnable (gpio_instance_t *inst, u32 value)
 Set High Level Interrupt Enable.
void gpio_setInterruptLowEnable (gpio_instance_t *inst, u32 value)
 Set Low Level Interrupt Enable.