RTEMS 6.1-rc4
Loading...
Searching...
No Matches
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