diff --git a/configs/samd20-xplained/include/board.h b/configs/samd20-xplained/include/board.h index 7b04891a0f..a17d630ad3 100644 --- a/configs/samd20-xplained/include/board.h +++ b/configs/samd20-xplained/include/board.h @@ -355,7 +355,65 @@ #endif /* SERCOM definitions ***************************************************************/ -/* SERCOM4 is available on connectors EXT1, EXT2, and EXT3 +/* This is the source clock generator for the GCLK_SERCOM_SLOW clock that is common + * to all SERCOM modules. + */ + +#define BOARD_SERCOM_SLOW_GCLKGEN (GCLK_CLKCTRL_GEN0 >> GCLK_CLKCTRL_GEN_SHIFT) + +/* SERCOM0 SPI is available on EXT1 + * + * PIN PORT SERCOM FUNCTION + * --- ------------------ ----------- + * 15 PA5 SERCOM0 PAD1 SPI SS + * 16 PA6 SERCOM0 PAD2 SPI MOSI + * 17 PA4 SERCOM0 PAD0 SPI MISO + * 18 PA7 SERCOM0 PAD3 SPI SCK + */ + +#define BOARD_SERCOM0_CLKGEN GCLK_CLKCTRL_GEN0 +#define BOARD_SERCOM0_MUX_SETTING (SPI_CTRLA_DOPO_DOPAD231 | SPI_CTRLA_DIPAD0) +#define BOARD_SERCOM0_PINMUX_PAD0 PINMUX_PA04D_SERCOM0_PAD0 /* SPI_MISO */ +#define BOARD_SERCOM0_PINMUX_PAD1 0 /* microSD_SS */ +#define BOARD_SERCOM0_PINMUX_PAD2 PINMUX_PA06D_SERCOM0_PAD2 /* SPI_MOSI */ +#define BOARD_SERCOM0_PINMUX_PAD3 PINMUX_PA07D_SERCOM0_PAD3 /* SPI_SCK */ + +/* SERCOM1 SPI is available on EXT2 + * + * PIN PORT SERCOM FUNCTION + * --- ------------------ ----------- + * 15 PA17 SERCOM1 PAD1 SPI SS + * 16 PA18 SERCOM1 PAD2 SPI MOSI + * 17 PA16 SERCOM1 PAD0 SPI MISO + * 18 PA19 SERCOM1 PAD3 SPI SCK + */ + +#define BOARD_SERCOM1_CLKGEN GCLK_CLKCTRL_GEN0 +#define BOARD_SERCOM1_MUX_SETTING (SPI_CTRLA_DOPO_DOPAD231 | SPI_CTRLA_DIPAD0) +#define BOARD_SERCOM1_PINMUX_PAD0 PINMUX_PA16C_SERCOM1_PAD0 /* SPI_MISO */ +#define BOARD_SERCOM1_PINMUX_PAD1 0 /* microSD_SS */ +#define BOARD_SERCOM1_PINMUX_PAD2 PINMUX_PA18C_SERCOM1_PAD2 /* SPI_MOSI */ +#define BOARD_SERCOM1_PINMUX_PAD3 PINMUX_PA19C_SERCOM1_PAD3 /* SPI_SCK */ + +/* The SAMD20 Xplained Pro contains an Embedded Debugger (EDBG) that can be + * used to program and debug the ATSAMD20J18A using Serial Wire Debug (SWD). + * The Embedded debugger also include a Virtual COM port interface over + * SERCOM3. Virtual COM port connections: + * + * PA24 SERCOM3 / USART TXD + * PA25 SERCOM3 / USART RXD + */ + +#define BOARD_SERCOM3_GCLKGEN GCLK_CLKCTRL_GEN0 +#define BOARD_SERCOM3_MUXCONFIG (USART_CTRLA_RXPAD3 | USART_CTRLA_TXPAD2) +#define BOARD_SERCOM3_PINMAP_PAD0 0 +#define BOARD_SERCOM3_PINMAP_PAD1 0 +#define BOARD_SERCOM3_PINMAP_PAD2 PORT_SERCOM3_PAD2_1 /* USART TX */ +#define BOARD_SERCOM3_PINMAP_PAD3 PORT_SERCOM3_PAD3_1 /* USART RX */ + +#define BOARD_SERCOM3_FREQUENCY BOARD_GCLK0_FREQUENCY + +/* The SERCOM4 USART is available on connectors EXT1, EXT2, and EXT3 * * PIN EXT1 EXT2 EXT3 GPIO Function * ---- ---- ---- ---- ------------------ @@ -374,43 +432,42 @@ #if defined(CONFIG_SAMD20_XPLAINED_USART4_EXT1) # define BOARD_SERCOM4_MUXCONFIG (USART_CTRLA_RXPAD1 | USART_CTRLA_TXPAD0) -# define BOARD_SERCOM4_PINMAP_PAD0 PORT_SERCOM4_PAD0_3 -# define BOARD_SERCOM4_PINMAP_PAD1 PORT_SERCOM4_PAD1_3 +# define BOARD_SERCOM4_PINMAP_PAD0 PORT_SERCOM4_PAD0_3 /* USART TX */ +# define BOARD_SERCOM4_PINMAP_PAD1 PORT_SERCOM4_PAD1_3 /* USART RX */ # define BOARD_SERCOM4_PINMAP_PAD2 0 # define BOARD_SERCOM4_PINMAP_PAD3 0 #elif defined(CONFIG_SAMD20_XPLAINED_USART4_EXT2) # define BOARD_SERCOM4_MUXCONFIG (USART_CTRLA_RXPAD1 | USART_CTRLA_TXPAD0) -# define BOARD_SERCOM4_PINMAP_PAD0 PORT_SERCOM4_PAD0_1 -# define BOARD_SERCOM4_PINMAP_PAD1 PORT_SERCOM4_PAD1_1 +# define BOARD_SERCOM4_PINMAP_PAD0 PORT_SERCOM4_PAD0_1 /* USART TX */ +# define BOARD_SERCOM4_PINMAP_PAD1 PORT_SERCOM4_PAD1_1 /* USART RX */ # define BOARD_SERCOM4_PINMAP_PAD2 0 # define BOARD_SERCOM4_PINMAP_PAD3 0 #else /* if defined(CONFIG_SAMD20_XPLAINED_USART4_EXT3) */ # define BOARD_SERCOM4_MUXCONFIG (USART_CTRLA_RXPAD3 | USART_CTRLA_TXPAD2) # define BOARD_SERCOM4_PINMAP_PAD0 0 # define BOARD_SERCOM4_PINMAP_PAD1 0 -# define BOARD_SERCOM4_PINMAP_PAD2 PORT_SERCOM4_PAD2_3 -# define BOARD_SERCOM4_PINMAP_PAD3 PORT_SERCOM4_PAD3_3 +# define BOARD_SERCOM4_PINMAP_PAD2 PORT_SERCOM4_PAD2_3 /* USART TX */ +# define BOARD_SERCOM4_PINMAP_PAD3 PORT_SERCOM4_PAD3_3 /* USART RX */ #endif #define BOARD_SERCOM4_FREQUENCY BOARD_GCLK0_FREQUENCY -/* The SAMD20 Xplained Pro contains an Embedded Debugger (EDBG) that can be - * used to program and debug the ATSAMD20J18A using Serial Wire Debug (SWD). - * The Embedded debugger also include a Virtual COM port interface over - * SERCOM3. Virtual COM port connections: +/* SERCOM5 SPI is available on EXT3 * - * PA24 SERCOM3 / USART TXD - * PA25 SERCOM3 / USART RXD + * PIN PORT SERCOM FUNCTION + * --- ------------------ ----------- + * 15 PB17 SERCOM5 PAD1 SPI SS + * 16 PB22 SERCOM5 PAD2 SPI MOSI + * 17 PB16 SERCOM5 PAD0 SPI MISO + * 18 PB23 SERCOM5 PAD3 SPI SCK */ -#define BOARD_SERCOM3_GCLKGEN GCLK_CLKCTRL_GEN0 -#define BOARD_SERCOM3_MUXCONFIG (USART_CTRLA_RXPAD3 | USART_CTRLA_TXPAD2) -#define BOARD_SERCOM3_PINMAP_PAD0 0 -#define BOARD_SERCOM3_PINMAP_PAD1 0 -#define BOARD_SERCOM3_PINMAP_PAD2 PORT_SERCOM3_PAD2_1 -#define BOARD_SERCOM3_PINMAP_PAD3 PORT_SERCOM3_PAD3_1 - -#define BOARD_SERCOM3_FREQUENCY BOARD_GCLK0_FREQUENCY +#define BOARD_SERCOM5_CLKGEN GCLK_CLKCTRL_GEN0 +#define BOARD_SERCOM5_MUX_SETTING (SPI_CTRLA_DOPO_DOPAD231 | SPI_CTRLA_DIPAD0) +#define BOARD_SERCOM5_PINMUX_PAD0 PINMUX_PB16C_SERCOM5_PAD0 /* SPI_MISO */ +#define BOARD_SERCOM5_PINMUX_PAD1 0 /* microSD_SS */ +#define BOARD_SERCOM5_PINMUX_PAD2 PINMUX_PB22D_SERCOM5_PAD2 /* SPI_MOSI */ +#define BOARD_SERCOM5_PINMUX_PAD3 PINMUX_PB23D_SERCOM5_PAD3 /* SPI_SCK */ /* LED definitions ******************************************************************/ /* There are three LEDs on board the SAMD20 Xplained Pro board: The EDBG