Loading...
Searching...
No Matches
periph_conf.h File Reference

Peripheral MCU configuration for the Microchip SAML10 & SAML11 Xplained Pro board. More...

Detailed Description

Peripheral MCU configuration for the Microchip SAML10 & SAML11 Xplained Pro board.

Author
Dylan Laduranty dylan.nosp@m..lad.nosp@m.urant.nosp@m.y@me.nosp@m.sotic.nosp@m..com

Definition in file periph_conf.h.

#include "periph_cpu.h"
+ Include dependency graph for periph_conf.h:

Go to the source code of this file.

#define CLOCK_CORECLOCK   (16000000U)
 GCLK reference speed.
 
#define USE_VREG_BUCK   (1)
 Enable the internal DC/DC converter The board is equipped with the necessary inductor.
 

Timer peripheral configuration

#define TIMER_0_CHANNELS   2
 
#define TIMER_0_ISR   isr_tc0
 
#define TIMER_1_CHANNELS   2
 
#define TIMER_1_ISR   isr_tc2
 
#define TIMER_1_MAX_VALUE   0xffff
 
#define TIMER_NUMOF   ARRAY_SIZE(timer_config)
 
static const tc32_conf_t timer_config []
 

UART configuration

#define UART_0_ISR   isr_sercom2_2
 
#define UART_0_ISR_TX   isr_sercom2_0
 
#define UART_1_ISR   isr_sercom1_2
 
#define UART_1_ISR_TX   isr_sercom1_0
 
#define UART_NUMOF   ARRAY_SIZE(uart_config)
 
static const uart_conf_t uart_config []
 

PWM configuration

#define PWM_0_EN   1
 
#define PWM_1_EN   0
 
#define PWM_NUMOF   ARRAY_SIZE(pwm_config)
 
static const pwm_conf_t pwm_config []
 

SPI configuration

#define SPI_NUMOF   ARRAY_SIZE(spi_config)
 
static const spi_conf_t spi_config []
 

I2C configuration

#define I2C_NUMOF   ARRAY_SIZE(i2c_config)
 
static const i2c_conf_t i2c_config []
 

RTC configuration

#define EXTERNAL_OSC32_SOURCE   1
 
#define ULTRA_LOW_POWER_INTERNAL_OSC_SOURCE   0
 

RTT configuration

#define RTT_FREQUENCY   (32768U)
 

ADC Configuration

#define ADC_PRESCALER   ADC_CTRLB_PRESCALER_DIV256
 
#define ADC_NEG_INPUT   ADC_INPUTCTRL_MUXNEG(0x18u)
 
#define ADC_REF_DEFAULT   ADC_REFCTRL_REFSEL_INTVCC2
 
#define ADC_NUMOF   ARRAY_SIZE(adc_channels)
 
static const adc_conf_chan_t adc_channels []
 

DAC configuration

#define DAC_CLOCK   SAM0_GCLK_32KHZ
 
#define DAC_VREF   DAC_CTRLB_REFSEL_AVCC
 

Macro Definition Documentation

◆ ADC_NEG_INPUT

#define ADC_NEG_INPUT   ADC_INPUTCTRL_MUXNEG(0x18u)

Definition at line 239 of file periph_conf.h.

◆ ADC_NUMOF

#define ADC_NUMOF   ARRAY_SIZE(adc_channels)

Definition at line 247 of file periph_conf.h.

◆ ADC_PRESCALER

#define ADC_PRESCALER   ADC_CTRLB_PRESCALER_DIV256

Definition at line 237 of file periph_conf.h.

◆ ADC_REF_DEFAULT

#define ADC_REF_DEFAULT   ADC_REFCTRL_REFSEL_INTVCC2

Definition at line 240 of file periph_conf.h.

◆ CLOCK_CORECLOCK

#define CLOCK_CORECLOCK   (16000000U)

GCLK reference speed.

Definition at line 32 of file periph_conf.h.

◆ DAC_CLOCK

#define DAC_CLOCK   SAM0_GCLK_32KHZ

Definition at line 254 of file periph_conf.h.

◆ DAC_VREF

#define DAC_VREF   DAC_CTRLB_REFSEL_AVCC

Definition at line 256 of file periph_conf.h.

◆ EXTERNAL_OSC32_SOURCE

#define EXTERNAL_OSC32_SOURCE   1

Definition at line 218 of file periph_conf.h.

◆ I2C_NUMOF

#define I2C_NUMOF   ARRAY_SIZE(i2c_config)

Definition at line 211 of file periph_conf.h.

◆ PWM_0_EN

#define PWM_0_EN   1

Definition at line 127 of file periph_conf.h.

◆ PWM_1_EN

#define PWM_1_EN   0

Definition at line 128 of file periph_conf.h.

◆ PWM_NUMOF

#define PWM_NUMOF   ARRAY_SIZE(pwm_config)

Definition at line 166 of file periph_conf.h.

◆ RTT_FREQUENCY

#define RTT_FREQUENCY   (32768U)

Definition at line 227 of file periph_conf.h.

◆ SPI_NUMOF

#define SPI_NUMOF   ARRAY_SIZE(spi_config)

Definition at line 192 of file periph_conf.h.

◆ TIMER_0_CHANNELS

#define TIMER_0_CHANNELS   2

Definition at line 66 of file periph_conf.h.

◆ TIMER_0_ISR

#define TIMER_0_ISR   isr_tc0

Definition at line 67 of file periph_conf.h.

◆ TIMER_1_CHANNELS

#define TIMER_1_CHANNELS   2

Definition at line 70 of file periph_conf.h.

◆ TIMER_1_ISR

#define TIMER_1_ISR   isr_tc2

Definition at line 71 of file periph_conf.h.

◆ TIMER_1_MAX_VALUE

#define TIMER_1_MAX_VALUE   0xffff

Definition at line 72 of file periph_conf.h.

◆ TIMER_NUMOF

#define TIMER_NUMOF   ARRAY_SIZE(timer_config)

Definition at line 74 of file periph_conf.h.

◆ UART_0_ISR

#define UART_0_ISR   isr_sercom2_2

Definition at line 115 of file periph_conf.h.

◆ UART_0_ISR_TX

#define UART_0_ISR_TX   isr_sercom2_0

Definition at line 116 of file periph_conf.h.

◆ UART_1_ISR

#define UART_1_ISR   isr_sercom1_2

Definition at line 117 of file periph_conf.h.

◆ UART_1_ISR_TX

#define UART_1_ISR_TX   isr_sercom1_0

Definition at line 118 of file periph_conf.h.

◆ UART_NUMOF

#define UART_NUMOF   ARRAY_SIZE(uart_config)

Definition at line 120 of file periph_conf.h.

◆ ULTRA_LOW_POWER_INTERNAL_OSC_SOURCE

#define ULTRA_LOW_POWER_INTERNAL_OSC_SOURCE   0

Definition at line 219 of file periph_conf.h.

◆ USE_VREG_BUCK

#define USE_VREG_BUCK   (1)

Enable the internal DC/DC converter The board is equipped with the necessary inductor.

Definition at line 38 of file periph_conf.h.

Variable Documentation

◆ adc_channels

const adc_conf_chan_t adc_channels[]
static
Initial value:
= {
{ .inputctrl = ADC_INPUTCTRL_MUXPOS_PA10 },
}
#define ADC_INPUTCTRL_MUXPOS_PA10
Alias for PIN18.
Definition periph_cpu.h:137

Definition at line 242 of file periph_conf.h.

◆ i2c_config

const i2c_conf_t i2c_config[]
static
Initial value:
= {
{
.dev = &(SERCOM1->I2CM),
.speed = I2C_SPEED_NORMAL,
.scl_pin = GPIO_PIN(PA, 17),
.sda_pin = GPIO_PIN(PA, 16),
.mux = GPIO_MUX_C,
.gclk_src = SAM0_GCLK_MAIN,
.flags = I2C_FLAG_NONE
}
}
#define GPIO_PIN(x, y)
Define a CPU specific GPIO pin generator macro.
Definition periph_cpu.h:46
@ I2C_SPEED_NORMAL
normal mode: ~100 kbit/s
Definition periph_cpu.h:278
@ PA
port A
@ I2C_FLAG_NONE
No flags set.
@ GPIO_MUX_C
select peripheral function C
#define SAM0_GCLK_MAIN
120 MHz main clock
Definition periph_cpu.h:74

Definition at line 199 of file periph_conf.h.

◆ pwm_config

const pwm_conf_t pwm_config[]
static
Initial value:
= {
}

Definition at line 147 of file periph_conf.h.

◆ spi_config

const spi_conf_t spi_config[]
static
Initial value:
= {
{
.dev = &(SERCOM0->SPI),
.miso_pin = GPIO_PIN(PA, 4),
.mosi_pin = GPIO_PIN(PA, 14),
.clk_pin = GPIO_PIN(PA, 15),
.miso_mux = GPIO_MUX_D,
.mosi_mux = GPIO_MUX_D,
.clk_mux = GPIO_MUX_D,
.miso_pad = SPI_PAD_MISO_0,
.mosi_pad = SPI_PAD_MOSI_2_SCK_3,
.gclk_src = SAM0_GCLK_MAIN,
}
}
@ SPI_PAD_MISO_0
use pad 0 for MISO line
@ GPIO_MUX_D
select peripheral function D
@ SPI_PAD_MOSI_2_SCK_3
use pad 2 for MOSI, pad 3 for SCK

Definition at line 173 of file periph_conf.h.

◆ timer_config

const tc32_conf_t timer_config[]
static
Initial value:
= {
{
.dev = TC0,
.irq = TC0_IRQn,
.mclk = &MCLK->APBCMASK.reg,
.mclk_mask = MCLK_APBCMASK_TC0_Msk | MCLK_APBCMASK_TC1_Msk,
.gclk_id = TC0_GCLK_ID,
.gclk_src = SAM0_GCLK_MAIN,
.flags = TC_CTRLA_MODE_COUNT32,
},
{
.dev = TC2,
.irq = TC2_IRQn,
.mclk = &MCLK->APBCMASK.reg,
.mclk_mask = MCLK_APBCMASK_TC2_Msk,
.gclk_id = TC2_GCLK_ID,
.gclk_src = SAM0_GCLK_MAIN,
.flags = TC_CTRLA_MODE_COUNT16,
}
}

Definition at line 44 of file periph_conf.h.

◆ uart_config

const uart_conf_t uart_config[]
static

Definition at line 81 of file periph_conf.h.