CPU specific definitions for internal peripheral handling. More...
CPU specific definitions for internal peripheral handling.
CPU specific definitions for internal peripheral handling
Definition in file periph_cpu.h.
#include <limits.h>
#include "periph_cpu_common.h"
Go to the source code of this file.
Data Structures | |
struct | sam0_aux_cfg_mapping |
NVM User Row Mapping - Dedicated Entries Config values will be applied at power-on. More... | |
Macros | |
#define | PM_BLOCKER_INITIAL { 1, 0, 0, 0 } |
Override the default initial PM blocker Idle modes are enabled by default, deep sleep mode blocked. | |
#define | SPI_HWCS(x) (UINT_MAX - 1) |
Override SPI hardware chip select macro. More... | |
#define | DAC_RES_BITS (10) |
The MCU has a 10 bit DAC. | |
#define | DAC_NUMOF (1) |
The MCU has one DAC Output. | |
Functions | |
static int | _sercom_id (SercomUsart *sercom) |
Return the numeric id of a SERCOM device derived from its address. More... | |
Variables | |
static const gpio_t | sam0_adc_pins [1][20] |
Pins that can be used for ADC input. More... | |
Power mode configuration | |
#define | PM_NUM_MODES (4) |
SAMD21 sleep modes for PM | |
#define | SAMD21_PM_STANDBY (0U) |
Standby mode (stops main clock) | |
#define | SAMD21_PM_IDLE_2 (1U) |
Idle 2 (stops AHB, APB and CPU) | |
#define | SAMD21_PM_IDLE_1 (2U) |
Idle 1 (stops AHB and CPU) | |
#define | SAMD21_PM_IDLE_0 (3U) |
Idle 0 (stops CPU) | |
SPI configuration | |
#define | SAM0_SPI_PM_BLOCK SAMD21_PM_IDLE_1 |
Stay in Idle 0 mode. | |
USB configuration | |
#define | SAM0_USB_ACTIVE_PM_BLOCK SAMD21_PM_IDLE_1 |
Stay in Idle 0 mode. | |
#define | ADC_INPUTCTRL_MUXPOS_PA02 ADC_INPUTCTRL_MUXPOS_PIN0 |
ADC pin aliases. More... | |
#define | ADC_INPUTCTRL_MUXPOS_PA03 ADC_INPUTCTRL_MUXPOS_PIN1 |
Alias for PIN1. | |
#define | ADC_INPUTCTRL_MUXPOS_PB08 ADC_INPUTCTRL_MUXPOS_PIN2 |
Alias for PIN2. | |
#define | ADC_INPUTCTRL_MUXPOS_PB09 ADC_INPUTCTRL_MUXPOS_PIN3 |
Alias for PIN3. | |
#define | ADC_INPUTCTRL_MUXPOS_PA04 ADC_INPUTCTRL_MUXPOS_PIN4 |
Alias for PIN4. | |
#define | ADC_INPUTCTRL_MUXPOS_PA05 ADC_INPUTCTRL_MUXPOS_PIN5 |
Alias for PIN5. | |
#define | ADC_INPUTCTRL_MUXPOS_PA06 ADC_INPUTCTRL_MUXPOS_PIN6 |
Alias for PIN6. | |
#define | ADC_INPUTCTRL_MUXPOS_PA07 ADC_INPUTCTRL_MUXPOS_PIN7 |
Alias for PIN7. | |
#define | ADC_INPUTCTRL_MUXPOS_PB00 ADC_INPUTCTRL_MUXPOS_PIN8 |
Alias for PIN8. | |
#define | ADC_INPUTCTRL_MUXPOS_PB01 ADC_INPUTCTRL_MUXPOS_PIN9 |
Alias for PIN9. | |
#define | ADC_INPUTCTRL_MUXPOS_PB02 ADC_INPUTCTRL_MUXPOS_PIN10 |
Alias for PIN10. | |
#define | ADC_INPUTCTRL_MUXPOS_PB03 ADC_INPUTCTRL_MUXPOS_PIN11 |
Alias for PIN11. | |
#define | ADC_INPUTCTRL_MUXPOS_PB04 ADC_INPUTCTRL_MUXPOS_PIN12 |
Alias for PIN12. | |
#define | ADC_INPUTCTRL_MUXPOS_PB05 ADC_INPUTCTRL_MUXPOS_PIN13 |
Alias for PIN13. | |
#define | ADC_INPUTCTRL_MUXPOS_PB06 ADC_INPUTCTRL_MUXPOS_PIN14 |
Alias for PIN14. | |
#define | ADC_INPUTCTRL_MUXPOS_PB07 ADC_INPUTCTRL_MUXPOS_PIN15 |
Alias for PIN15. | |
#define | ADC_INPUTCTRL_MUXPOS_PA08 ADC_INPUTCTRL_MUXPOS_PIN16 |
Alias for PIN16. | |
#define | ADC_INPUTCTRL_MUXPOS_PA09 ADC_INPUTCTRL_MUXPOS_PIN17 |
Alias for PIN17. | |
#define | ADC_INPUTCTRL_MUXPOS_PA10 ADC_INPUTCTRL_MUXPOS_PIN18 |
Alias for PIN18. | |
#define | ADC_INPUTCTRL_MUXPOS_PA11 ADC_INPUTCTRL_MUXPOS_PIN19 |
Alias for PIN19. | |
#define | ADC_INPUTCTRL_MUXNEG_PA02 ADC_INPUTCTRL_MUXPOS_PIN0 |
Alias for PIN0. | |
#define | ADC_INPUTCTRL_MUXNEG_PA03 ADC_INPUTCTRL_MUXPOS_PIN1 |
Alias for PIN1. | |
#define | ADC_INPUTCTRL_MUXNEG_PB08 ADC_INPUTCTRL_MUXPOS_PIN2 |
Alias for PIN2. | |
#define | ADC_INPUTCTRL_MUXNEG_PB09 ADC_INPUTCTRL_MUXPOS_PIN3 |
Alias for PIN3. | |
#define | ADC_INPUTCTRL_MUXNEG_PA04 ADC_INPUTCTRL_MUXPOS_PIN4 |
Alias for PIN4. | |
#define | ADC_INPUTCTRL_MUXNEG_PA05 ADC_INPUTCTRL_MUXPOS_PIN5 |
Alias for PIN5. | |
#define | ADC_INPUTCTRL_MUXNEG_PA06 ADC_INPUTCTRL_MUXPOS_PIN6 |
Alias for PIN6. | |
#define | ADC_INPUTCTRL_MUXNEG_PA07 ADC_INPUTCTRL_MUXPOS_PIN7 |
Alias for PIN7. | |
Real time counter configuration | |
#define | RTT_RUNSTDBY (1) /* Keep RTT running in sleep states */ |
#define | RTT_MAX_VALUE (0xffffffff) |
#define | RTT_CLOCK_FREQUENCY (32768U) /* in Hz */ |
#define | RTT_MIN_FREQUENCY (RTT_CLOCK_FREQUENCY / 1024U) /* in Hz */ |
#define | RTT_MAX_FREQUENCY (RTT_CLOCK_FREQUENCY) /* in Hz */ |
SAMD21 GCLK definitions | |
enum | { SAM0_GCLK_MAIN = 0 , SAM0_GCLK_1MHZ , SAM0_GCLK_32KHZ , SAM0_GCLK_1KHZ , SAM0_GCLK_DISABLED = 0xF } |
#define ADC_INPUTCTRL_MUXPOS_PA02 ADC_INPUTCTRL_MUXPOS_PIN0 |
#define SPI_HWCS | ( | x | ) | (UINT_MAX - 1) |
Override SPI hardware chip select macro.
As of now, we do not support HW CS, so we always set it to a fixed value
Definition at line 88 of file periph_cpu.h.
anonymous enum |
Enumerator | |
---|---|
SAM0_GCLK_MAIN | 48 MHz main clock |
SAM0_GCLK_1MHZ | 1 MHz clock for xTimer |
SAM0_GCLK_32KHZ | 32 kHz clock |
SAM0_GCLK_1KHZ | 1 kHz clock |
SAM0_GCLK_DISABLED | disabled GCLK |
Definition at line 74 of file periph_cpu.h.
|
inlinestatic |
Return the numeric id of a SERCOM device derived from its address.
[in] | sercom | SERCOM device |
Definition at line 97 of file periph_cpu.h.
|
static |
Pins that can be used for ADC input.
Definition at line 105 of file periph_cpu.h.