24#include "periph_cpu.h" 
   62#define CLOCK_USE_PLL               (1) 
   63#define CLOCK_USE_XOSC32_DFLL       (0) 
   71#define GEN2_ULP32K                 (0) 
   75#define CLOCK_PLL_MUL       (47U)                
   76#define CLOCK_PLL_DIV       (1U)                 
   78#define CLOCK_CORECLOCK     (((CLOCK_PLL_MUL + 1) * 1000000U) / CLOCK_PLL_DIV) 
   79#elif CLOCK_USE_XOSC32_DFLL 
   81#define CLOCK_CORECLOCK     (48000000U) 
   82#define CLOCK_XOSC32K       (32768UL) 
   88#define CLOCK_CORECLOCK     (8000000 / CLOCK_DIV) 
  100        .pm_mask        = PM_APBCMASK_TC3,
 
  101        .gclk_ctrl      = GCLK_CLKCTRL_ID_TCC2_TC3,
 
  102#if CLOCK_USE_PLL || CLOCK_USE_XOSC32_DFLL 
  107        .flags          = TC_CTRLA_MODE_COUNT16,
 
  112        .pm_mask        = PM_APBCMASK_TC4 | PM_APBCMASK_TC5,
 
  113        .gclk_ctrl      = GCLK_CLKCTRL_ID_TC4_TC5,
 
  114#if CLOCK_USE_PLL || CLOCK_USE_XOSC32_DFLL 
  119        .flags          = TC_CTRLA_MODE_COUNT32,
 
  123#define TIMER_0_MAX_VALUE   0xffff 
  126#define TIMER_0_ISR         isr_tc3 
  127#define TIMER_1_ISR         isr_tc4 
  129#define TIMER_NUMOF         ARRAY_SIZE(timer_config) 
  138        .dev      = &SERCOM3->USART,
 
  141#ifdef MODULE_PERIPH_UART_HW_FC 
  152        .dev      = &SERCOM4->USART,
 
  155#ifdef MODULE_PERIPH_UART_HW_FC 
  166        .dev      = &SERCOM4->USART,
 
  169#ifdef MODULE_PERIPH_UART_HW_FC 
  182#define UART_0_ISR          isr_sercom3 
  183#define UART_1_ISR          isr_sercom4 
  184#define UART_2_ISR          isr_sercom5 
  186#define UART_NUMOF          ARRAY_SIZE(uart_config) 
  227        .chan = pwm_chan0_config,
 
  235        .chan = pwm_chan1_config,
 
  243        .chan = pwm_chan2_config,
 
  251#define PWM_NUMOF           ARRAY_SIZE(pwm_config) 
  260        .dev      = &SERCOM0->SPI,
 
  270#ifdef MODULE_PERIPH_DMA 
  271        .tx_trigger = SERCOM0_DMAC_ID_TX,
 
  272        .rx_trigger = SERCOM0_DMAC_ID_RX,
 
  276        .dev      = &SERCOM1->SPI,
 
  286#ifdef MODULE_PERIPH_DMA 
  287        .tx_trigger = SERCOM1_DMAC_ID_TX,
 
  288        .rx_trigger = SERCOM1_DMAC_ID_RX,
 
  292        .dev      = &SERCOM5->SPI,
 
  302#ifdef MODULE_PERIPH_DMA 
  303        .tx_trigger = SERCOM5_DMAC_ID_TX,
 
  304        .rx_trigger = SERCOM5_DMAC_ID_RX,
 
  309#define SPI_NUMOF           ARRAY_SIZE(spi_config) 
  318        .dev      = &(SERCOM2->I2CM),
 
  327#define I2C_NUMOF          ARRAY_SIZE(i2c_config) 
  335#define RTT_FREQUENCY       (32768U)     
  345#define ADC_PRESCALER                       ADC_CTRLB_PRESCALER_DIV512 
  347#define ADC_NEG_INPUT                       ADC_INPUTCTRL_MUXNEG_GND 
  348#define ADC_GAIN_FACTOR_DEFAULT             ADC_INPUTCTRL_GAIN_1X 
  349#define ADC_REF_DEFAULT                     ADC_REFCTRL_REFSEL_INT1V 
  363#define ADC_NUMOF                           ARRAY_SIZE(adc_channels) 
  370#define DAC_CLOCK           SAM0_GCLK_1MHZ 
  372#define DAC_VREF            DAC_CTRLB_REFSEL_AVCC 
  384        .device = &USB->DEVICE,
 
#define GPIO_PIN(x, y)
Define a CPU specific GPIO pin generator macro.
#define GPIO_UNDEF
Definition of a fitting UNDEF value.
@ I2C_SPEED_NORMAL
normal mode: ~100 kbit/s
#define ARRAY_SIZE(a)
Calculate the number of elements in a static array.
@ UART_PAD_RX_1
select pad 1
@ UART_PAD_RX_3
select pad 3
@ I2C_FLAG_NONE
No flags set.
#define TC_CONFIG(tim)
Static initializer for TC timer configuration.
@ SPI_PAD_MISO_0
use pad 0 for MISO line
@ UART_FLAG_NONE
No flags set.
@ UART_PAD_TX_0
select pad 0
@ UART_PAD_TX_2
select pad 2
#define TCC_CONFIG(tim)
Static initializer for TCC timer configuration.
@ GPIO_MUX_E
select peripheral function E
@ GPIO_MUX_D
select peripheral function D
@ GPIO_MUX_G
select peripheral function G
@ GPIO_MUX_C
select peripheral function C
@ SPI_PAD_MOSI_2_SCK_3
use pad 2 for MOSI, pad 3 for SCK
#define ADC_INPUTCTRL_MUXPOS_PA10
Alias for PIN18.
#define ADC_INPUTCTRL_MUXPOS_PA11
Alias for PIN19.
#define ADC_INPUTCTRL_MUXPOS_PB01
Alias for PIN9.
@ SAM0_GCLK_1MHZ
1 MHz clock for xTimer
#define ADC_INPUTCTRL_MUXPOS_PA02
ADC pin aliases.
#define ADC_INPUTCTRL_MUXPOS_PA03
Alias for PIN1.
#define ADC_INPUTCTRL_MUXPOS_PB00
Alias for PIN8.
#define SAM0_GCLK_MAIN
120 MHz main clock
ADC Channel Configuration.
I2C configuration structure.
PWM channel configuration data structure.
PWM device configuration.
USB peripheral parameters.
SPI device configuration.
Timer device configuration.
UART device configuration.