1818 * @author Hauke Petersen <hauke.petersen@fu-berlin.de>
1919 * @author Peter Kietzmann <peter.kietzmann@haw-hamburg.de>
2020 * @author Alexandre Abadie <alexandre.abadie@inria.fr>
21+ * @author Bumsik kim <kbumsik@gmail.com>
2122 */
2223
2324#ifndef PERIPH_CONF_H
@@ -98,7 +99,6 @@ extern "C" {
9899#define TIMER_1_CHANNELS 2
99100#define TIMER_1_MAX_VALUE (0xffffffff)
100101#define TIMER_1_ISR isr_tc4
101-
102102/** @} */
103103
104104/**
@@ -108,8 +108,8 @@ extern "C" {
108108static const uart_conf_t uart_config [] = {
109109 {
110110 .dev = & SERCOM5 -> USART ,
111- .rx_pin = GPIO_PIN (PB ,23 ),
112- .tx_pin = GPIO_PIN (PB ,22 ),
111+ .rx_pin = GPIO_PIN (PB ,23 ), /* ARDUINO_PIN_13, RX Pin */
112+ .tx_pin = GPIO_PIN (PB ,22 ), /* ARDUINO_PIN_14, TX Pin */
113113 .mux = GPIO_MUX_D ,
114114 .rx_pad = UART_PAD_RX_3 ,
115115 .tx_pad = UART_PAD_TX_2
@@ -159,16 +159,33 @@ static const pwm_conf_t pwm_config[] = {
159159 * @name ADC configuration
160160 * @{
161161 */
162- #define ADC_CONFIG { \
163- { GPIO_PIN(PA, 2), 0, 0 }, \
164- { GPIO_PIN(PB, 2), 0, 2 }, \
165- { GPIO_PIN(PB, 3), 0, 3 }, \
166- { GPIO_PIN(PA, 4), 0, 4 }, \
167- { GPIO_PIN(PA, 5), 0, 5 }, \
168- { GPIO_PIN(PA, 6), 0, 10 }, \
169- { GPIO_PIN(PA, 7), 0, 10 }}
170-
171- #define ADC_NUMOF (6)
162+ #define ADC_0_EN 1
163+ #define ADC_MAX_CHANNELS 14
164+ /* ADC 0 device configuration */
165+ #define ADC_0_DEV ADC
166+ #define ADC_0_IRQ ADC_IRQn
167+
168+ /* ADC 0 Default values */
169+ #define ADC_0_CLK_SOURCE 0 /* GCLK_GENERATOR_0 */
170+ #define ADC_0_PRESCALER ADC_CTRLB_PRESCALER_DIV512
171+
172+ #define ADC_0_NEG_INPUT ADC_INPUTCTRL_MUXNEG_GND
173+ #define ADC_0_GAIN_FACTOR_DEFAULT ADC_INPUTCTRL_GAIN_1X
174+ #define ADC_0_REF_DEFAULT ADC_REFCTRL_REFSEL_INT1V
175+
176+ static const adc_conf_chan_t adc_channels [] = {
177+ /* port, pin, muxpos */
178+ {GPIO_PIN (PA , 2 ), ADC_INPUTCTRL_MUXPOS_PIN0 }, /* A0 */
179+ {GPIO_PIN (PB , 2 ), ADC_INPUTCTRL_MUXPOS_PIN10 }, /* A1 */
180+ {GPIO_PIN (PB , 3 ), ADC_INPUTCTRL_MUXPOS_PIN11 }, /* A2 */
181+ {GPIO_PIN (PA , 4 ), ADC_INPUTCTRL_MUXPOS_PIN4 }, /* A3 */
182+ {GPIO_PIN (PA , 5 ), ADC_INPUTCTRL_MUXPOS_PIN5 }, /* A4 */
183+ {GPIO_PIN (PA , 6 ), ADC_INPUTCTRL_MUXPOS_PIN6 }, /* A5 */
184+ {GPIO_PIN (PA , 7 ), ADC_INPUTCTRL_MUXPOS_PIN7 }, /* A6 */
185+ };
186+
187+ #define ADC_0_CHANNELS (7U)
188+ #define ADC_NUMOF ADC_0_CHANNELS
172189/** @} */
173190
174191/**
@@ -178,16 +195,16 @@ static const pwm_conf_t pwm_config[] = {
178195static const spi_conf_t spi_config [] = {
179196 {
180197 .dev = & SERCOM1 -> SPI ,
181- .miso_pin = GPIO_PIN (PA , 19 ),
182- .mosi_pin = GPIO_PIN (PB , 16 ),
183- .clk_pin = GPIO_PIN (PB , 17 ),
184- .miso_mux = GPIO_MUX_D ,
185- .mosi_mux = GPIO_MUX_D ,
186- .clk_mux = GPIO_MUX_D ,
198+ .miso_pin = GPIO_PIN (PA , 19 ), /* ARDUINO_PIN_8, SERCOM1-MISO */
199+ .mosi_pin = GPIO_PIN (PA , 16 ), /* ARDUINO_PIN_10, SERCOM1-MOSI */
200+ .clk_pin = GPIO_PIN (PA , 17 ), /* ARDUINO_PIN_9, SERCOM1-SCK */
201+ .miso_mux = GPIO_MUX_C ,
202+ .mosi_mux = GPIO_MUX_C ,
203+ .clk_mux = GPIO_MUX_C ,
187204 .miso_pad = SPI_PAD_MISO_3 ,
188205 .mosi_pad = SPI_PAD_MOSI_0_SCK_1
189206 },
190- {
207+ { /* SPI Pins connected to WINC1500 wifi module */
191208 .dev = & SERCOM2 -> SPI ,
192209 .miso_pin = GPIO_PIN (PA , 15 ),
193210 .mosi_pin = GPIO_PIN (PA , 12 ),
@@ -196,7 +213,7 @@ static const spi_conf_t spi_config[] = {
196213 .mosi_mux = GPIO_MUX_D ,
197214 .clk_mux = GPIO_MUX_D ,
198215 .miso_pad = SPI_PAD_MISO_3 ,
199- .mosi_pad = SPI_PAD_MOSI_2_SCK_3
216+ .mosi_pad = SPI_PAD_MOSI_0_SCK_1
200217 }
201218};
202219
@@ -221,11 +238,33 @@ static const spi_conf_t spi_config[] = {
221238#define I2C_0_GCLK_ID SERCOM0_GCLK_ID_CORE
222239#define I2C_0_GCLK_ID_SLOW SERCOM0_GCLK_ID_SLOW
223240/* I2C 0 pin configuration */
224- #define I2C_0_SDA GPIO_PIN(PA, 8)
225- #define I2C_0_SCL GPIO_PIN(PA, 9)
241+ #define I2C_0_SDA GPIO_PIN(PA, 8) /* SERCOM0-SDA, on-board pull-up */
242+ #define I2C_0_SCL GPIO_PIN(PA, 9) /* SERCOM0-SCL, on-board pull-up */
226243#define I2C_0_MUX GPIO_MUX_C
227244/** @} */
228245
246+ /**
247+ * @name RTC configuration
248+ * @{
249+ */
250+ #define RTC_NUMOF (1U)
251+ #define RTC_DEV RTC->MODE2
252+ /** @} */
253+
254+ /**
255+ * @name RTT configuration
256+ * @{
257+ */
258+ #define RTT_NUMOF (1U)
259+ #define RTT_DEV RTC->MODE0
260+ #define RTT_IRQ RTC_IRQn
261+ #define RTT_IRQ_PRIO 10
262+ #define RTT_ISR isr_rtc
263+ #define RTT_MAX_VALUE (0xffffffff)
264+ #define RTT_FREQUENCY (32768U) /* in Hz. For changes see `rtt.c` */
265+ #define RTT_RUNSTDBY (1) /* Keep RTT running in sleep states */
266+ /** @} */
267+
229268#ifdef __cplusplus
230269}
231270#endif
0 commit comments