SAM architecture specific IOPORT service implementation header file.
Copyright (c) 2012-2018 Microchip Technology Inc. and its subsidiaries.
#include <sysclk.h>
Macros | |
#define | IOPORT_BASE_ADDRESS (uintptr_t)PIOA |
#define | IOPORT_CREATE_PIN(port, pin) ((IOPORT_ ## port) * 32 + (pin)) |
Create IOPORT pin number. More... | |
#define | IOPORT_PIO_OFFSET ((uintptr_t)PIOB - (uintptr_t)PIOA) |
#define | IOPORT_PIOA 0 |
#define | IOPORT_PIOB 1 |
#define | IOPORT_PIOC 2 |
#define | IOPORT_PIOD 3 |
#define | IOPORT_PIOE 4 |
#define | IOPORT_PIOF 5 |
IOPORT Mode bit definitions | |
#define | IOPORT_MODE_MUX_MASK (0x7 << 0) |
#define | IOPORT_MODE_MUX_BIT0 ( 1 << 0) |
#define | IOPORT_MODE_MUX_A ( 0 << 0) |
#define | IOPORT_MODE_MUX_B ( 1 << 0) |
#define | IOPORT_MODE_PULLUP ( 1 << 3) |
#define | IOPORT_MODE_OPEN_DRAIN ( 1 << 5) |
#define | IOPORT_MODE_GLITCH_FILTER ( 1 << 6) |
#define | IOPORT_MODE_DEBOUNCE ( 1 << 7) |
Typedefs | |
typedef uint32_t | ioport_mode_t |
typedef uint32_t | ioport_pin_t |
typedef uint32_t | ioport_port_mask_t |
typedef uint32_t | ioport_port_t |
#define IOPORT_BASE_ADDRESS (uintptr_t)PIOA |
Referenced by arch_ioport_port_to_base().
#define IOPORT_PIO_OFFSET ((uintptr_t)PIOB - (uintptr_t)PIOA) |
Referenced by arch_ioport_port_to_base().
#define IOPORT_PIOA 0 |
#define IOPORT_PIOB 1 |
#define IOPORT_PIOC 2 |
Referenced by arch_ioport_port_to_base().
#define IOPORT_PIOD 3 |
Referenced by arch_ioport_port_to_base().
#define IOPORT_PIOE 4 |
#define IOPORT_PIOF 5 |
typedef uint32_t ioport_mode_t |
typedef uint32_t ioport_pin_t |
typedef uint32_t ioport_port_mask_t |
typedef uint32_t ioport_port_t |
|
static |
References arch_ioport_disable_port(), arch_ioport_pin_to_mask(), and arch_ioport_pin_to_port_id().
Referenced by ioport_disable_pin().
|
static |
References arch_ioport_port_to_base().
Referenced by arch_ioport_disable_pin(), and ioport_disable_port().
|
static |
References arch_ioport_enable_port(), arch_ioport_pin_to_mask(), and arch_ioport_pin_to_port_id().
Referenced by ioport_enable_pin().
|
static |
References arch_ioport_port_to_base().
Referenced by arch_ioport_enable_pin(), and ioport_enable_port().
|
static |
References arch_ioport_pin_to_base(), and arch_ioport_pin_to_mask().
Referenced by ioport_get_pin_level().
|
static |
References arch_ioport_port_to_base().
Referenced by ioport_get_port_level().
|
static |
References sysclk_enable_peripheral_clock().
Referenced by ioport_init().
|
static |
References arch_ioport_pin_to_port_id(), and arch_ioport_port_to_base().
Referenced by arch_ioport_get_pin_level(), arch_ioport_set_pin_dir(), arch_ioport_set_pin_level(), and arch_ioport_toggle_pin_level().
|
static |
|
static |
|
static |
References IOPORT_BASE_ADDRESS, IOPORT_PIO_OFFSET, IOPORT_PIOC, and IOPORT_PIOD.
Referenced by arch_ioport_disable_port(), arch_ioport_enable_port(), arch_ioport_get_port_level(), arch_ioport_pin_to_base(), arch_ioport_set_port_dir(), arch_ioport_set_port_level(), arch_ioport_set_port_mode(), arch_ioport_set_port_sense_mode(), and arch_ioport_toggle_port_level().
|
static |
References arch_ioport_pin_to_base(), arch_ioport_pin_to_mask(), IOPORT_DIR_INPUT, and IOPORT_DIR_OUTPUT.
Referenced by ioport_set_pin_dir().
|
static |
References arch_ioport_pin_to_base(), and arch_ioport_pin_to_mask().
Referenced by ioport_set_pin_level().
|
static |
References arch_ioport_pin_to_mask(), arch_ioport_pin_to_port_id(), and arch_ioport_set_port_mode().
Referenced by ioport_reset_pin_mode(), and ioport_set_pin_mode().
|
static |
References arch_ioport_pin_to_mask(), arch_ioport_pin_to_port_id(), and arch_ioport_set_port_sense_mode().
Referenced by ioport_set_pin_sense_mode().
|
static |
References arch_ioport_port_to_base(), IOPORT_DIR_INPUT, and IOPORT_DIR_OUTPUT.
Referenced by ioport_set_port_dir().
|
static |
References arch_ioport_port_to_base().
Referenced by ioport_set_port_level().
|
static |
|
static |
References arch_ioport_port_to_base(), IOPORT_SENSE_FALLING, and IOPORT_SENSE_RISING.
Referenced by arch_ioport_set_pin_sense_mode(), and ioport_set_port_sense_mode().
|
static |
References arch_ioport_pin_to_base(), and arch_ioport_pin_to_mask().
Referenced by ioport_toggle_pin_level().
|
static |
References arch_ioport_port_to_base().
Referenced by ioport_toggle_port_level().