RTEMS  5.1
Data Structures | Macros | Typedefs | Enumerations | Functions
alt_generalpurpose_io.h File Reference
#include <stdint.h>
#include "hwlib.h"

Go to the source code of this file.

Data Structures

struct  ALT_GPIO_CONFIG_RECORD_s
 
struct  ALT_GPIO_PIN_RECORD_s
 

Macros

#define ALT_GPIO_BITMASK   0x1FFFFFFF
 
#define ALT_GPIO_DATAREAD_TEST_MODE   false
 

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_PORTC, ALT_GPIO_PORT_UNKNOWN }
 
enum  ALT_GPIO_PORTBIT_e {
  ALT_GPIO_BIT0 = ALT_TWO_TO_POW0, ALT_GPIO_BIT1 = ALT_TWO_TO_POW1, ALT_GPIO_BIT2 = ALT_TWO_TO_POW2, ALT_GPIO_BIT3 = ALT_TWO_TO_POW3,
  ALT_GPIO_BIT4 = ALT_TWO_TO_POW4, ALT_GPIO_BIT5 = ALT_TWO_TO_POW5, ALT_GPIO_BIT6 = ALT_TWO_TO_POW6, ALT_GPIO_BIT7 = ALT_TWO_TO_POW7,
  ALT_GPIO_BIT8 = ALT_TWO_TO_POW8, ALT_GPIO_BIT9 = ALT_TWO_TO_POW9, ALT_GPIO_BIT10 = ALT_TWO_TO_POW10, ALT_GPIO_BIT11 = ALT_TWO_TO_POW11,
  ALT_GPIO_BIT12 = ALT_TWO_TO_POW12, ALT_GPIO_BIT13 = ALT_TWO_TO_POW13, ALT_GPIO_BIT14 = ALT_TWO_TO_POW14, ALT_GPIO_BIT15 = ALT_TWO_TO_POW15,
  ALT_GPIO_BIT16 = ALT_TWO_TO_POW16, ALT_GPIO_BIT17 = ALT_TWO_TO_POW17, ALT_GPIO_BIT18 = ALT_TWO_TO_POW18, ALT_GPIO_BIT19 = ALT_TWO_TO_POW19,
  ALT_GPIO_BIT20 = ALT_TWO_TO_POW20, ALT_GPIO_BIT21 = ALT_TWO_TO_POW21, ALT_GPIO_BIT22 = ALT_TWO_TO_POW22, ALT_GPIO_BIT23 = ALT_TWO_TO_POW23,
  ALT_GPIO_BIT24 = ALT_TWO_TO_POW24, ALT_GPIO_BIT25 = ALT_TWO_TO_POW25, ALT_GPIO_BIT26 = ALT_TWO_TO_POW26, ALT_GPIO_BIT27 = ALT_TWO_TO_POW27,
  ALT_GPIO_BIT28 = ALT_TWO_TO_POW28, ALT_GPIO_BIT29 = ALT_TWO_TO_POW29, ALT_GPIO_BIT30 = ALT_TWO_TO_POW30, ALT_GPIO_BIT31 = (int32_t) (1UL<<31),
  ALT_GPIO_BITNUM_MAX = (28), ALT_GPIO_BIT_MAX = (1 << ALT_GPIO_BITNUM_MAX), ALT_END_OF_GPIO_PORT_SIGNALS = (32)
}
 
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,
  ALT_GPIO_1BIT_48, ALT_GPIO_1BIT_49, ALT_GPIO_1BIT_50, ALT_GPIO_1BIT_51,
  ALT_GPIO_1BIT_52, ALT_GPIO_1BIT_53, ALT_GPIO_1BIT_54, ALT_GPIO_1BIT_55,
  ALT_GPIO_1BIT_56, ALT_GPIO_1BIT_57, ALT_GPIO_1BIT_58, ALT_GPIO_1BIT_59,
  ALT_GPIO_1BIT_60, ALT_GPIO_1BIT_61, ALT_GPIO_1BIT_62, ALT_GPIO_1BIT_63,
  ALT_GPIO_1BIT_64, ALT_GPIO_1BIT_65, ALT_GPIO_1BIT_66, ALT_GPIO_1BIT_67,
  ALT_GPIO_1BIT_68, ALT_GPIO_1BIT_69, ALT_GPIO_1BIT_70, ALT_HLGPI_0,
  ALT_HLGPI_1, ALT_HLGPI_2, ALT_HLGPI_3, ALT_HLGPI_4,
  ALT_HLGPI_5, ALT_HLGPI_6, ALT_HLGPI_7, ALT_HLGPI_8,
  ALT_HLGPI_9, ALT_HLGPI_10, ALT_HLGPI_11, ALT_HLGPI_12,
  ALT_HLGPI_13, ALT_HLGPI_14, ALT_HLGPI_15, ALT_GPIO_INVALID,
  ALT_END_OF_GPIO_SIGNALS = -1, ALT_LAST_VALID_GPIO_BIT = ALT_HLGPI_15
}
 

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 debounc, 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_get2 (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)
 

Detailed Description

Altera - GPIO Module