28#include "periph_cpu.h"
66#define CLOCK_USE_PLL (1)
67#define CLOCK_USE_XOSC32_DFLL (0)
75#define GEN2_ULP32K (0)
79#define CLOCK_PLL_MUL (47U)
80#define CLOCK_PLL_DIV (1U)
82#define CLOCK_CORECLOCK (((CLOCK_PLL_MUL + 1) * 1000000U) / CLOCK_PLL_DIV)
83#elif CLOCK_USE_XOSC32_DFLL
85#define CLOCK_CORECLOCK (48000000U)
86#define CLOCK_XOSC32K (32768UL)
92#define CLOCK_CORECLOCK (8000000 / CLOCK_DIV)
104 .pm_mask = PM_APBCMASK_TC3,
105 .gclk_ctrl = GCLK_CLKCTRL_ID_TCC2_TC3,
106#if CLOCK_USE_PLL || CLOCK_USE_XOSC32_DFLL
111 .flags = TC_CTRLA_MODE_COUNT16,
116 .pm_mask = PM_APBCMASK_TC4 | PM_APBCMASK_TC5,
117 .gclk_ctrl = GCLK_CLKCTRL_ID_TC4_TC5,
118#if CLOCK_USE_PLL || CLOCK_USE_XOSC32_DFLL
123 .flags = TC_CTRLA_MODE_COUNT32,
127#define TIMER_0_MAX_VALUE 0xffff
130#define TIMER_0_ISR isr_tc3
131#define TIMER_1_ISR isr_tc4
133#define TIMER_NUMOF ARRAY_SIZE(timer_config)
142 .dev = &SERCOM0->USART,
145#ifdef MODULE_PERIPH_UART_HW_FC
151#ifdef MODULE_PERIPH_UART_HW_FC
160 .dev = &SERCOM5->USART,
163#ifdef MODULE_PERIPH_UART_HW_FC
169#ifdef MODULE_PERIPH_UART_HW_FC
180#define UART_0_ISR isr_sercom0
181#define UART_1_ISR isr_sercom5
183#define UART_NUMOF ARRAY_SIZE(uart_config)
216 .chan = pwm_chan0_config,
224 .chan = pwm_chan1_config,
232#define PWM_NUMOF ARRAY_SIZE(pwm_config)
241 .dev = &SERCOM4->SPI,
251#ifdef MODULE_PERIPH_DMA
252 .tx_trigger = SERCOM4_DMAC_ID_TX,
253 .rx_trigger = SERCOM4_DMAC_ID_RX,
257 .dev = &SERCOM5->SPI,
267#ifdef MODULE_PERIPH_DMA
268 .tx_trigger = SERCOM5_DMAC_ID_TX,
269 .rx_trigger = SERCOM5_DMAC_ID_RX,
274#define SPI_NUMOF ARRAY_SIZE(spi_config)
283 .dev = &(SERCOM3->I2CM),
292#define I2C_NUMOF ARRAY_SIZE(i2c_config)
300#define RTT_FREQUENCY (32768U)
302#define RTT_MIN_OFFSET (10U)
311#define ADC_PRESCALER ADC_CTRLB_PRESCALER_DIV512
313#define ADC_NEG_INPUT ADC_INPUTCTRL_MUXNEG_GND
314#define ADC_GAIN_FACTOR_DEFAULT ADC_INPUTCTRL_GAIN_1X
315#define ADC_REF_DEFAULT ADC_REFCTRL_REFSEL_INT1V
323#define ADC_NUMOF ARRAY_SIZE(adc_channels)
335 .device = &USB->DEVICE,
#define GPIO_PIN(x, y)
Define a CPU specific GPIO pin generator macro.
@ 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
@ I2C_FLAG_NONE
No flags set.
@ SPI_PAD_MISO_0
use pad 0 for MISO line
@ UART_FLAG_NONE
No flags set.
@ UART_PAD_TX_0_RTS_2_CTS_3
TX is pad 0, on top RTS on pad 2 and CTS on pad 3.
@ UART_PAD_TX_0
select pad 0
#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_F
select peripheral function F
@ SPI_PAD_MOSI_2_SCK_3
use pad 2 for MOSI, pad 3 for SCK
@ SAM0_GCLK_1MHZ
1 MHz clock for xTimer
#define ADC_INPUTCTRL_MUXPOS_PA07
Alias for PIN7.
#define ADC_INPUTCTRL_MUXPOS_PA06
Alias for PIN6.
#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.