libpynq (release 5EWC0-2023 version 0.2.6 of 2025-11-10 09:56)
Loading...
Searching...
No Matches
gpio.c File Reference
#include "gpio.h"
#include "arm_shared_memory_system.h"
#include <log.h>
#include <pinmap.h>
#include <platform.h>
#include <stdio.h>
#include <stdlib.h>
#include <version.h>
Include dependency graph for gpio.c:

Go to the source code of this file.

Enumerations

enum  GPRIO_REG_MAP {
  GPIO_REG_1_OUTPUT_STATE = 0 , GPIO_REG_1_TRI_STATE = 1 , GPIO_REG_2_OUTPUT_STATE = 2 , GPIO_REG_2_TRI_STATE = 3 ,
  GPIO_REG_1_OUTPUT_TOGGLE = 4 , GPIO_REG_1_OUTPUT_SET = 5 , GPIO_REG_1_OUTPUT_CLR = 6 , GPIO_REG_2_OUTPUT_TOGGLE = 7 ,
  GPIO_REG_2_OUTPUT_SET = 8 , GPIO_REG_2_OUTPUT_CLR = 9 , GPIO_REG_1_TRI_SET = 10 , GPIO_REG_1_TRI_CLR = 11 ,
  GPIO_REG_2_TRI_SET = 12 , GPIO_REG_2_TRI_CLR = 13
}
 

Functions

bool gpio_is_initialized (void)
 
void gpio_init (void)
 
void gpio_destroy (void)
 
void gpio_reset_pin (const io_t pin)
 
void gpio_reset (void)
 
void gpio_set_direction (const io_t pin, const gpio_direction_t dir)
 
gpio_direction_t gpio_get_direction (const io_t pin)
 
void gpio_set_level (const io_t pin, const gpio_level_t level)
 
gpio_level_t gpio_get_level (const io_t pin)
 

Variables

volatile uint32_t * gpio = NULL
 
volatile uint32_t * intc0 = NULL
 

Enumeration Type Documentation

◆ GPRIO_REG_MAP

Odd ordering is for preserving backwards compatibility with xilinx and older versions.

Enumerator
GPIO_REG_1_OUTPUT_STATE 
GPIO_REG_1_TRI_STATE 
GPIO_REG_2_OUTPUT_STATE 
GPIO_REG_2_TRI_STATE 
GPIO_REG_1_OUTPUT_TOGGLE 
GPIO_REG_1_OUTPUT_SET 
GPIO_REG_1_OUTPUT_CLR 
GPIO_REG_2_OUTPUT_TOGGLE 
GPIO_REG_2_OUTPUT_SET 
GPIO_REG_2_OUTPUT_CLR 
GPIO_REG_1_TRI_SET 
GPIO_REG_1_TRI_CLR 
GPIO_REG_2_TRI_SET 
GPIO_REG_2_TRI_CLR 

Definition at line 39 of file gpio.c.

Variable Documentation

◆ gpio

volatile uint32_t* gpio = NULL

Definition at line 32 of file gpio.c.

◆ intc0

volatile uint32_t* intc0 = NULL

Definition at line 33 of file gpio.c.