Hardware Libraries  20.1
Stratix 10 SoC Hardware Manager
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
alt_generalpurpose_io.h File Reference
#include <stdint.h>
#include "hwlib.h"

Go to the source code of this file.

Detailed Description

Altera - GPIO Module

Data Structures

struct  ALT_GPIO_CONFIG_RECORD_s
 
struct  ALT_GPIO_PIN_RECORD_s
 

Typedefs

typedef enum ALT_GPIO_PIN_DIR_e ALT_GPIO_PIN_DIR_t
 
typedef enum ALT_GPIO_PIN_TYPE_e ALT_GPIO_PIN_TYPE_t
 
typedef enum ALT_GPIO_PIN_POL_e ALT_GPIO_PIN_POL_t
 
typedef enum
ALT_GPIO_PIN_DEBOUNCE_e 
ALT_GPIO_PIN_DEBOUNCE_t
 
typedef enum ALT_GPIO_PIN_SYNC_e ALT_GPIO_PIN_SYNC_t
 
typedef enum ALT_GPIO_PIN_DATA_e ALT_GPIO_PIN_DATA_t
 
typedef enum ALT_GPIO_PORT_e ALT_GPIO_PORT_t
 
typedef enum ALT_GPIO_PORTBIT_e ALT_GPIO_PORTBIT_t
 
typedef enum ALT_GPIO_1BIT_e ALT_GPIO_1BIT_t
 
typedef struct
ALT_GPIO_CONFIG_RECORD_s 
ALT_GPIO_CONFIG_RECORD_t
 
typedef struct
ALT_GPIO_PIN_RECORD_s 
ALT_GPIO_PIN_RECORD_t
 

Enumerations

enum  ALT_GPIO_PIN_DIR_e { ALT_GPIO_PIN_INPUT, ALT_GPIO_PIN_OUTPUT }
 
enum  ALT_GPIO_PIN_TYPE_e { ALT_GPIO_PIN_LEVEL_TRIG_INT, ALT_GPIO_PIN_EDGE_TRIG_INT }
 
enum  ALT_GPIO_PIN_POL_e { ALT_GPIO_PIN_ACTIVE_LOW, ALT_GPIO_PIN_ACTIVE_HIGH }
 
enum  ALT_GPIO_PIN_DEBOUNCE_e { ALT_GPIO_PIN_NODEBOUNCE, ALT_GPIO_PIN_DEBOUNCE }
 
enum  ALT_GPIO_PIN_SYNC_e { ALT_GPIO_PIN_NOSYNC, ALT_GPIO_PIN_SYNC }
 
enum  ALT_GPIO_PIN_DATA_e { ALT_GPIO_PIN_DATAZERO, ALT_GPIO_PIN_DATAONE }
 
enum  ALT_GPIO_PORT_e { ALT_GPIO_PORTA, ALT_GPIO_PORTB, ALT_GPIO_PORT_UNKNOWN }
 
enum  ALT_GPIO_PORTBIT_e {
  ALT_GPIO_BIT0 = ALT_TWO_TO_POW(0), ALT_GPIO_BIT1 = ALT_TWO_TO_POW(1), ALT_GPIO_BIT2 = ALT_TWO_TO_POW(2), ALT_GPIO_BIT3 = ALT_TWO_TO_POW(3),
  ALT_GPIO_BIT4 = ALT_TWO_TO_POW(4), ALT_GPIO_BIT5 = ALT_TWO_TO_POW(5), ALT_GPIO_BIT6 = ALT_TWO_TO_POW(6), ALT_GPIO_BIT7 = ALT_TWO_TO_POW(7),
  ALT_GPIO_BIT8 = ALT_TWO_TO_POW(8), ALT_GPIO_BIT9 = ALT_TWO_TO_POW(9), ALT_GPIO_BIT10 = ALT_TWO_TO_POW(10), ALT_GPIO_BIT11 = ALT_TWO_TO_POW(11),
  ALT_GPIO_BIT12 = ALT_TWO_TO_POW(12), ALT_GPIO_BIT13 = ALT_TWO_TO_POW(13), ALT_GPIO_BIT14 = ALT_TWO_TO_POW(14), ALT_GPIO_BIT15 = ALT_TWO_TO_POW(15),
  ALT_GPIO_BIT16 = ALT_TWO_TO_POW(16), ALT_GPIO_BIT17 = ALT_TWO_TO_POW(17), ALT_GPIO_BIT18 = ALT_TWO_TO_POW(18), ALT_GPIO_BIT19 = ALT_TWO_TO_POW(19),
  ALT_GPIO_BIT20 = ALT_TWO_TO_POW(20), ALT_GPIO_BIT21 = ALT_TWO_TO_POW(21), ALT_GPIO_BIT22 = ALT_TWO_TO_POW(22), ALT_GPIO_BIT23 = ALT_TWO_TO_POW(23)
}
 
enum  ALT_GPIO_1BIT_e {
  ALT_GPIO_1BIT_0, ALT_GPIO_1BIT_1, ALT_GPIO_1BIT_2, ALT_GPIO_1BIT_3,
  ALT_GPIO_1BIT_4, ALT_GPIO_1BIT_5, ALT_GPIO_1BIT_6, ALT_GPIO_1BIT_7,
  ALT_GPIO_1BIT_8, ALT_GPIO_1BIT_9, ALT_GPIO_1BIT_10, ALT_GPIO_1BIT_11,
  ALT_GPIO_1BIT_12, ALT_GPIO_1BIT_13, ALT_GPIO_1BIT_14, ALT_GPIO_1BIT_15,
  ALT_GPIO_1BIT_16, ALT_GPIO_1BIT_17, ALT_GPIO_1BIT_18, ALT_GPIO_1BIT_19,
  ALT_GPIO_1BIT_20, ALT_GPIO_1BIT_21, ALT_GPIO_1BIT_22, ALT_GPIO_1BIT_23,
  ALT_GPIO_1BIT_24, ALT_GPIO_1BIT_25, ALT_GPIO_1BIT_26, ALT_GPIO_1BIT_27,
  ALT_GPIO_1BIT_28, ALT_GPIO_1BIT_29, ALT_GPIO_1BIT_30, ALT_GPIO_1BIT_31,
  ALT_GPIO_1BIT_32, ALT_GPIO_1BIT_33, ALT_GPIO_1BIT_34, ALT_GPIO_1BIT_35,
  ALT_GPIO_1BIT_36, ALT_GPIO_1BIT_37, ALT_GPIO_1BIT_38, ALT_GPIO_1BIT_39,
  ALT_GPIO_1BIT_40, ALT_GPIO_1BIT_41, ALT_GPIO_1BIT_42, ALT_GPIO_1BIT_43,
  ALT_GPIO_1BIT_44, ALT_GPIO_1BIT_45, ALT_GPIO_1BIT_46, ALT_GPIO_1BIT_47
}
 

Functions

ALT_STATUS_CODE alt_gpio_init (void)
 
ALT_STATUS_CODE alt_gpio_uninit (void)
 
ALT_STATUS_CODE alt_gpio_port_datadir_set (ALT_GPIO_PORT_t gpio_pid, uint32_t mask, uint32_t config)
 
uint32_t alt_gpio_port_datadir_get (ALT_GPIO_PORT_t gpio_pid, uint32_t mask)
 
ALT_STATUS_CODE alt_gpio_port_data_write (ALT_GPIO_PORT_t gpio_pid, uint32_t mask, uint32_t val)
 
uint32_t alt_gpio_port_data_read (ALT_GPIO_PORT_t gpio_pid, uint32_t mask)
 
ALT_STATUS_CODE alt_gpio_port_int_type_set (ALT_GPIO_PORT_t gpio_pid, uint32_t mask, uint32_t config)
 
uint32_t alt_gpio_port_int_type_get (ALT_GPIO_PORT_t gpio_pid, uint32_t mask)
 
ALT_STATUS_CODE alt_gpio_port_int_pol_set (ALT_GPIO_PORT_t gpio_pid, uint32_t mask, uint32_t config)
 
uint32_t alt_gpio_port_int_pol_get (ALT_GPIO_PORT_t gpio_pid, uint32_t mask)
 
ALT_STATUS_CODE alt_gpio_port_debounce_set (ALT_GPIO_PORT_t gpio_pid, uint32_t mask, uint32_t config)
 
uint32_t alt_gpio_port_debounce_get (ALT_GPIO_PORT_t gpio_pid, uint32_t mask)
 
ALT_STATUS_CODE alt_gpio_port_sync_set (ALT_GPIO_PORT_t gpio_pid, uint32_t config)
 
ALT_STATUS_CODE alt_gpio_port_sync_get (ALT_GPIO_PORT_t gpio_pid)
 
ALT_STATUS_CODE alt_gpio_port_config (ALT_GPIO_PORT_t gpio_pid, uint32_t mask, ALT_GPIO_PIN_DIR_t dir, ALT_GPIO_PIN_TYPE_t type, ALT_GPIO_PIN_POL_t pol, ALT_GPIO_PIN_DEBOUNCE_t debounce, uint32_t data)
 
ALT_STATUS_CODE alt_gpio_port_int_enable (ALT_GPIO_PORT_t gpio_pid, uint32_t config)
 
ALT_STATUS_CODE alt_gpio_port_int_disable (ALT_GPIO_PORT_t gpio_pid, uint32_t config)
 
uint32_t alt_gpio_port_int_enable_get (ALT_GPIO_PORT_t gpio_pid)
 
ALT_STATUS_CODE alt_gpio_port_int_mask_set (ALT_GPIO_PORT_t gpio_pid, uint32_t mask, uint32_t val)
 
uint32_t alt_gpio_port_int_mask_get (ALT_GPIO_PORT_t gpio_pid)
 
uint32_t alt_gpio_port_int_status_get (ALT_GPIO_PORT_t gpio_pid)
 
ALT_STATUS_CODE alt_gpio_port_int_status_clear (ALT_GPIO_PORT_t gpio_pid, uint32_t clrmask)
 
ALT_STATUS_CODE alt_gpio_bit_config (ALT_GPIO_1BIT_t signal_num, ALT_GPIO_PIN_DIR_t dir, ALT_GPIO_PIN_TYPE_t type, ALT_GPIO_PIN_POL_t pol, ALT_GPIO_PIN_DEBOUNCE_t debounce, ALT_GPIO_PIN_DATA_t data)
 
ALT_STATUS_CODE alt_gpio_bitconfig_get (ALT_GPIO_1BIT_t signal_num, ALT_GPIO_CONFIG_RECORD_t *config)
 
ALT_STATUS_CODE alt_gpio_group_config (ALT_GPIO_CONFIG_RECORD_t *config_array, uint32_t len)
 
ALT_STATUS_CODE alt_gpio_group_config_get (ALT_GPIO_CONFIG_RECORD_t *config_array, uint32_t len)
 
ALT_STATUS_CODE alt_gpio_group_config_given_pinid_list_get (ALT_GPIO_1BIT_t *pinid_array, ALT_GPIO_CONFIG_RECORD_t *config_array, uint32_t len)
 
uint32_t alt_gpio_port_idcode_get (ALT_GPIO_PORT_t gpio_pid)
 
uint32_t alt_gpio_port_ver_get (ALT_GPIO_PORT_t gpio_pid)
 
ALT_GPIO_PORT_t alt_gpio_bit_to_pid (ALT_GPIO_1BIT_t pin_num)
 
ALT_GPIO_PORTBIT_t alt_gpio_bit_to_port_pin (ALT_GPIO_1BIT_t pin_num)
 
ALT_GPIO_1BIT_t alt_gpio_port_pin_to_bit (ALT_GPIO_PORT_t pid, uint32_t bitmask)