BeRTOS
Defines
sam3_pio.h File Reference

Go to the source code of this file.

Defines

#define PIO_PERIPH_SEL(base, mask, function)
 Set peripheral on I/O ports.
#define PIOA_BASE   0x400E0E00
 PIO registers base addresses.
#define PIOB_BASE   0x400E1000
 PIO registers base addresses.
#define PIOC_BASE   0x400E1200
 PIO registers base addresses.
#define PIO_PER_OFF   0x00000000
 PIO Register Offsets.
#define PIO_PDR_OFF   0x00000004
 PIO disable register offset.
#define PIO_PSR_OFF   0x00000008
 PIO status register offset.
#define PIO_OER_OFF   0x00000010
 Output enable register offset.
#define PIO_ODR_OFF   0x00000014
 Output disable register offset.
#define PIO_OSR_OFF   0x00000018
 Output status register offset.
#define PIO_IFER_OFF   0x00000020
 Input filter enable register offset.
#define PIO_IFDR_OFF   0x00000024
 Input filter disable register offset.
#define PIO_IFSR_OFF   0x00000028
 Input filter status register offset.
#define PIO_SODR_OFF   0x00000030
 Set output data register offset.
#define PIO_CODR_OFF   0x00000034
 Clear output data register offset.
#define PIO_ODSR_OFF   0x00000038
 Output data status register offset.
#define PIO_PDSR_OFF   0x0000003C
 Pin data status register offset.
#define PIO_IER_OFF   0x00000040
 Interrupt enable register offset.
#define PIO_IDR_OFF   0x00000044
 Interrupt disable register offset.
#define PIO_IMR_OFF   0x00000048
 Interrupt mask register offset.
#define PIO_ISR_OFF   0x0000004C
 Interrupt status register offset.
#define PIO_MDER_OFF   0x00000050
 Multi-driver enable register offset.
#define PIO_MDDR_OFF   0x00000054
 Multi-driver disable register offset.
#define PIO_MDSR_OFF   0x00000058
 Multi-driver status register offset.
#define PIO_PUDR_OFF   0x00000060
 Pull-up disable register offset.
#define PIO_PUER_OFF   0x00000064
 Pull-up enable register offset.
#define PIO_PUSR_OFF   0x00000068
 Pull-up status register offset.
#define PIO_OWER_OFF   0x000000A0
 PIO output write enable register offset.
#define PIO_OWDR_OFF   0x000000A4
 PIO output write disable register offset.
#define PIO_OWSR_OFF   0x000000A8
 PIO output write status register offset.
#define PIOA_ACCESS(offset)   (*((reg32_t *)(PIOA_BASE + (offset))))
 PIO A Register Addresses.
#define PIOA_PER   PIOA_ACCESS(PIO_PER_OFF)
 PIO enable register address.
#define PIOA_PDR   PIOA_ACCESS(PIO_PDR_OFF)
 PIO disable register address.
#define PIOA_PSR   PIOA_ACCESS(PIO_PSR_OFF)
 PIO status register address.
#define PIOA_OER   PIOA_ACCESS(PIO_OER_OFF)
 Output enable register address.
#define PIOA_ODR   PIOA_ACCESS(PIO_ODR_OFF)
 Output disable register address.
#define PIOA_OSR   PIOA_ACCESS(PIO_OSR_OFF)
 Output status register address.
#define PIOA_IFER   PIOA_ACCESS(PIO_IFER_OFF)
 Input filter enable register address.
#define PIOA_IFDR   PIOA_ACCESS(PIO_IFDR_OFF)
 Input filter disable register address.
#define PIOA_IFSR   PIOA_ACCESS(PIO_IFSR_OFF)
 Input filter status register address.
#define PIOA_SODR   PIOA_ACCESS(PIO_SODR_OFF)
 Set output data register address.
#define PIOA_CODR   PIOA_ACCESS(PIO_CODR_OFF)
 Clear output data register address.
#define PIOA_ODSR   PIOA_ACCESS(PIO_ODSR_OFF)
 Output data status register address.
#define PIOA_PDSR   PIOA_ACCESS(PIO_PDSR_OFF)
 Pin data status register address.
#define PIOA_IER   PIOA_ACCESS(PIO_IER_OFF)
 Interrupt enable register address.
#define PIOA_IDR   PIOA_ACCESS(PIO_IDR_OFF)
 Interrupt disable register address.
#define PIOA_IMR   PIOA_ACCESS(PIO_IMR_OFF)
 Interrupt mask register address.
#define PIOA_ISR   PIOA_ACCESS(PIO_ISR_OFF)
 Interrupt status register address.
#define PIOA_MDER   PIOA_ACCESS(PIO_MDER_OFF)
 Multi-driver enable register address.
#define PIOA_MDDR   PIOA_ACCESS(PIO_MDDR_OFF)
 Multi-driver disable register address.
#define PIOA_MDSR   PIOA_ACCESS(PIO_MDSR_OFF)
 Multi-driver status register address.
#define PIOA_PUDR   PIOA_ACCESS(PIO_PUDR_OFF)
 Pull-up disable register address.
#define PIOA_PUER   PIOA_ACCESS(PIO_PUER_OFF)
 Pull-up enable register address.
#define PIOA_PUSR   PIOA_ACCESS(PIO_PUSR_OFF)
 Pull-up status register address.
#define PIOA_ABCDSR1   PIOA_ACCESS(PIO_ABCDSR1_OFF)
 PIO peripheral select register 1 address.
#define PIOA_ABCDSR2   PIOA_ACCESS(PIO_ABCDSR2_OFF)
 PIO peripheral select register 2 address.
#define PIOA_OWER   PIOA_ACCESS(PIO_OWER_OFF)
 PIO output write enable register address.
#define PIOA_OWDR   PIOA_ACCESS(PIO_OWDR_OFF)
 PIO output write disable register address.
#define PIOA_OWSR   PIOA_ACCESS(PIO_OWSR_OFF)
 PIO output write status register address.
#define PIOB_ACCESS(offset)   (*((reg32_t *)(PIOB_BASE + (offset))))
 PIO B Register Addresses.
#define PIOB_PER   PIOB_ACCESS(PIO_PER_OFF)
 PIO enable register address.
#define PIOB_PDR   PIOB_ACCESS(PIO_PDR_OFF)
 PIO disable register address.
#define PIOB_PSR   PIOB_ACCESS(PIO_PSR_OFF)
 PIO status register address.
#define PIOB_OER   PIOB_ACCESS(PIO_OER_OFF)
 Output enable register address.
#define PIOB_ODR   PIOB_ACCESS(PIO_ODR_OFF)
 Output disable register address.
#define PIOB_OSR   PIOB_ACCESS(PIO_OSR_OFF)
 Output status register address.
#define PIOB_IFER   PIOB_ACCESS(PIO_IFER_OFF)
 Input filter enable register address.
#define PIOB_IFDR   PIOB_ACCESS(PIO_IFDR_OFF)
 Input filter disable register address.
#define PIOB_IFSR   PIOB_ACCESS(PIO_IFSR_OFF)
 Input filter status register address.
#define PIOB_SODR   PIOB_ACCESS(PIO_SODR_OFF)
 Set output data register address.
#define PIOB_CODR   PIOB_ACCESS(PIO_CODR_OFF)
 Clear output data register address.
#define PIOB_ODSR   PIOB_ACCESS(PIO_ODSR_OFF)
 Output data status register address.
#define PIOB_PDSR   PIOB_ACCESS(PIO_PDSR_OFF)
 Pin data status register address.
#define PIOB_IER   PIOB_ACCESS(PIO_IER_OFF)
 Interrupt enable register address.
#define PIOB_IDR   PIOB_ACCESS(PIO_IDR_OFF)
 Interrupt disable register address.
#define PIOB_IMR   PIOB_ACCESS(PIO_IMR_OFF)
 Interrupt mask register address.
#define PIOB_ISR   PIOB_ACCESS(PIO_ISR_OFF)
 Interrupt status register address.
#define PIOB_MDER   PIOB_ACCESS(PIO_MDER_OFF)
 Multi-driver enable register address.
#define PIOB_MDDR   PIOB_ACCESS(PIO_MDDR_OFF)
 Multi-driver disable register address.
#define PIOB_MDSR   PIOB_ACCESS(PIO_MDSR_OFF)
 Multi-driver status register address.
#define PIOB_PUDR   PIOB_ACCESS(PIO_PUDR_OFF)
 Pull-up disable register address.
#define PIOB_PUER   PIOB_ACCESS(PIO_PUER_OFF)
 Pull-up enable register address.
#define PIOB_PUSR   PIOB_ACCESS(PIO_PUSR_OFF)
 Pull-up status register address.
#define PIOB_ABCDSR1   PIOB_ACCESS(PIO_ABCDSR1_OFF)
 PIO peripheral select register 1 address.
#define PIOB_ABCDSR2   PIOB_ACCESS(PIO_ABCDSR2_OFF)
 PIO peripheral select register 2 address.
#define PIOB_OWER   PIOB_ACCESS(PIO_OWER_OFF)
 PIO output write enable register address.
#define PIOB_OWDR   PIOB_ACCESS(PIO_OWDR_OFF)
 PIO output write disable register address.
#define PIOB_OWSR   PIOB_ACCESS(PIO_OWSR_OFF)
 PIO output write status register address.
#define PIOC_ACCESS(offset)   (*((reg32_t *)(PIOC_BASE + (offset))))
 PIO C Register Addresses.
#define PIOC_PER   PIOC_ACCESS(PIO_PER_OFF)
 PIO enable register address.
#define PIOC_PDR   PIOC_ACCESS(PIO_PDR_OFF)
 PIO disable register address.
#define PIOC_PSR   PIOC_ACCESS(PIO_PSR_OFF)
 PIO status register address.
#define PIOC_OER   PIOC_ACCESS(PIO_OER_OFF)
 Output enable register address.
#define PIOC_ODR   PIOC_ACCESS(PIO_ODR_OFF)
 Output disable register address.
#define PIOC_OSR   PIOC_ACCESS(PIO_OSR_OFF)
 Output status register address.
#define PIOC_IFER   PIOC_ACCESS(PIO_IFER_OFF)
 Input filter enable register address.
#define PIOC_IFDR   PIOC_ACCESS(PIO_IFDR_OFF)
 Input filter disable register address.
#define PIOC_IFSR   PIOC_ACCESS(PIO_IFSR_OFF)
 Input filter status register address.
#define PIOC_SODR   PIOC_ACCESS(PIO_SODR_OFF)
 Set output data register address.
#define PIOC_CODR   PIOC_ACCESS(PIO_CODR_OFF)
 Clear output data register address.
#define PIOC_ODSR   PIOC_ACCESS(PIO_ODSR_OFF)
 Output data status register address.
#define PIOC_PDSR   PIOC_ACCESS(PIO_PDSR_OFF)
 Pin data status register address.
#define PIOC_IER   PIOC_ACCESS(PIO_IER_OFF)
 Interrupt enable register address.
#define PIOC_IDR   PIOC_ACCESS(PIO_IDR_OFF)
 Interrupt disable register address.
#define PIOC_IMR   PIOC_ACCESS(PIO_IMR_OFF)
 Interrupt mask register address.
#define PIOC_ISR   PIOC_ACCESS(PIO_ISR_OFF)
 Interrupt status register address.
#define PIOC_MDER   PIOC_ACCESS(PIO_MDER_OFF)
 Multi-driver enable register address.
#define PIOC_MDDR   PIOC_ACCESS(PIO_MDDR_OFF)
 Multi-driver disable register address.
#define PIOC_MDSR   PIOC_ACCESS(PIO_MDSR_OFF)
 Multi-driver status register address.
#define PIOC_PUDR   PIOC_ACCESS(PIO_PUDR_OFF)
 Pull-up disable register address.
#define PIOC_PUER   PIOC_ACCESS(PIO_PUER_OFF)
 Pull-up enable register address.
#define PIOC_PUSR   PIOC_ACCESS(PIO_PUSR_OFF)
 Pull-up status register address.
#define PIOC_ABCDSR1   PIOC_ACCESS(PIO_ABCDSR1_OFF)
 PIO peripheral select register 1 address.
#define PIOC_ABCDSR2   PIOC_ACCESS(PIO_ABCDSR2_OFF)
 PIO peripheral select register 2 address.
#define PIOC_OWER   PIOC_ACCESS(PIO_OWER_OFF)
 PIO output write enable register address.
#define PIOC_OWDR   PIOC_ACCESS(PIO_OWDR_OFF)
 PIO output write disable register address.
#define PIOC_OWSR   PIOC_ACCESS(PIO_OWSR_OFF)
 PIO output write status register address.

Detailed Description

Author:
Francesco Sacchi <batt@develer.com>

Atmel SAM3 Parallel input/output controller. This file is based on NUT/OS implementation. See license below.

Definition in file sam3_pio.h.


Define Documentation

#define PIO_PER_OFF   0x00000000

PIO Register Offsets.

PIO enable register offset.

Definition at line 92 of file sam3_pio.h.

#define PIO_PERIPH_SEL (   base,
  mask,
  function 
)
Value:
do { \
        HWREG((base) + PIO_ABSR_OFF) &= ~(mask); \
        if ((function) & 1) \
            HWREG((base) + PIO_ABSR_OFF) |= (mask); \
    } while (0)

Set peripheral on I/O ports.

Parameters:
basePIO port base
maskmask of I/O pin to manipulate
functionfunction to assign to selected pins (PIO_PERIPH_A, B, ...)

Definition at line 394 of file sam3_pio.h.