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
Go to the documentation of this file.
1
2// Copyright (C) 2013-2026 Efinix Inc. All rights reserved.
3// Full license header: bsp/efinix/EfxSapphireSocRV64/include/LICENSE.MD
5
6#ifndef GPIO_H
7#define GPIO_H
8
19
20#include "type.h"
21#include "soc.h"
22#include "riscv.h"
23
24#ifdef __cplusplus
25extern "C" {
26#endif
27
37
38/* ========================================================================== */
39/* SUB-GROUP : DATA STRUCTS */
40/* ========================================================================== */
62
79
94 // End of GPIO_Types group
96
97/* ========================================================================== */
98/* SUB-GROUP: FUNCTIONS */
99/* ========================================================================== */
100
107
117
128
135
142
149
156
163
171
177
183 void gpio_setOutput(gpio_instance_t *inst, u32 value);
184
190 void gpio_setOutputEnable(gpio_instance_t *inst, u32 value);
191
198
205
212
220 // End of GPIO_Funcs group
222#ifdef __cplusplus
223}
224#endif
225 // End of MAIN GPIO Group
227
228#endif // GPIO_H
u32 gpio_getInterruptFallEnable(gpio_instance_t *inst)
Get Falling Edge Interrupt Mask.
Definition gpio.c:72
u32 gpio_getInput(gpio_instance_t *inst)
Read GPIO Input Register.
Definition gpio.c:52
u32 gpio_getOutputEnable(gpio_instance_t *inst)
Get stored GPIO Output Enable Mask.
Definition gpio.c:62
void gpio_setInterruptHighEnable(gpio_instance_t *inst, u32 value)
Set High Level Interrupt Enable.
Definition gpio.c:42
u32 gpio_getInterruptLowEnable(gpio_instance_t *inst)
Get Low Level Interrupt Mask.
Definition gpio.c:82
void gpio_setOutputEnable(gpio_instance_t *inst, u32 value)
Set GPIO Output Enable (Direction).
Definition gpio.c:27
void gpio_setOutput(gpio_instance_t *inst, u32 value)
Set GPIO Output Value.
Definition gpio.c:22
u32 gpio_getInterruptRiseEnable(gpio_instance_t *inst)
Get Rising Edge Interrupt Mask.
Definition gpio.c:67
void gpio_applyConfig(gpio_instance_t *inst)
Apply stored GPIO configuration to hardware.
Definition gpio.c:87
u32 gpio_getOutput(gpio_instance_t *inst)
Get stored GPIO Output Value.
Definition gpio.c:57
u32 gpio_getInterruptHighEnable(gpio_instance_t *inst)
Get High Level Interrupt Mask.
Definition gpio.c:77
void gpio_setInterruptFallEnable(gpio_instance_t *inst, u32 value)
Set Falling Edge Interrupt Enable.
Definition gpio.c:37
void gpio_setInterruptRiseEnable(gpio_instance_t *inst, u32 value)
Set Rising Edge Interrupt Enable.
Definition gpio.c:32
void gpio_setInterruptLowEnable(gpio_instance_t *inst, u32 value)
Set Low Level Interrupt Enable.
Definition gpio.c:47
RISC-V related functions and definitions.
GPIO hardware register map.
Definition gpio.h:69
u32 INTERRUPT_FALL_ENABLE
Address Offset: 0x24 - Falling Edge IRQ *‍/.
Definition gpio.h:75
u32 INTERRUPT_HIGH_ENABLE
Address Offset: 0x28 - High Level IRQ *‍/.
Definition gpio.h:76
u32 INTERRUPT_RISE_ENABLE
Address Offset: 0x20 - Rising Edge IRQ *‍/.
Definition gpio.h:74
u32 OUTPUT
Address Offset: 0x04 - Output Value *‍/.
Definition gpio.h:71
u32 RESERVED0[5]
Reserved Space (0x0C to 0x1F) *‍/.
Definition gpio.h:73
u32 INTERRUPT_LOW_ENABLE
Address Offset: 0x2C - Low Level IRQ *‍/.
Definition gpio.h:77
u32 INPUT
Address Offset: 0x00 - Input Value *‍/.
Definition gpio.h:70
u32 OUTPUT_ENABLE
Address Offset: 0x08 - Output Enable (Direction) *‍/.
Definition gpio.h:72
GPIO instance.
Definition gpio.h:85
u32 interruptHighEnable
Stored High IRQ Mask *‍/.
Definition gpio.h:91
u32 interruptRiseEnable
Stored Rise IRQ Mask *‍/.
Definition gpio.h:89
u32 interruptLowEnable
Stored Low IRQ Mask *‍/.
Definition gpio.h:92
gpio_hwreg_t * hwreg
Pointer to Hardware Register Map *‍/.
Definition gpio.h:86
u32 interruptFallEnable
Stored Fall IRQ Mask *‍/.
Definition gpio.h:90
u32 output
Stored Output Value *‍/.
Definition gpio.h:87
u32 outputEnable
Stored Output Enable Mask *‍/.
Definition gpio.h:88
uint32_t u32
Definition type.h:22