aboutsummaryrefslogtreecommitdiffstats
path: root/src/atsam/spi.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/atsam/spi.c')
-rw-r--r--src/atsam/spi.c23
1 files changed, 22 insertions, 1 deletions
diff --git a/src/atsam/spi.c b/src/atsam/spi.c
index 7d304284..d64f0df7 100644
--- a/src/atsam/spi.c
+++ b/src/atsam/spi.c
@@ -22,6 +22,27 @@ struct spi_info {
uint8_t miso_pin, mosi_pin, sck_pin, rxtx_periph, sck_periph;
};
+#if CONFIG_MACH_SAM3X
+DECL_ENUMERATION("spi_bus", "spi0", 0);
+DECL_ENUMERATION_RANGE("spi_bus", "usart0", 1, 3);
+DECL_CONSTANT_STR("BUS_PINS_spi0", "PA25,PA26,PA27");
+DECL_CONSTANT_STR("BUS_PINS_usart0", "PA10,PA11,PA17");
+DECL_CONSTANT_STR("BUS_PINS_usart1", "PA12,PA13,PA16");
+DECL_CONSTANT_STR("BUS_PINS_usart2", "PB21,PB20,PB24");
+#elif CONFIG_MACH_SAM4S
+DECL_ENUMERATION("spi_bus", "spi", 0);
+DECL_ENUMERATION_RANGE("spi_bus", "usart0", 1, 2);
+DECL_CONSTANT_STR("BUS_PINS_spi", "PA12,PA13,PA14");
+DECL_CONSTANT_STR("BUS_PINS_usart0", "PA5,PA6,PA2");
+DECL_CONSTANT_STR("BUS_PINS_usart1", "PA21,PA22,PA23");
+#elif CONFIG_MACH_SAM4E
+DECL_ENUMERATION("spi_bus", "spi", 0);
+DECL_ENUMERATION_RANGE("spi_bus", "usart0", 1, 2);
+DECL_CONSTANT_STR("BUS_PINS_spi", "PA12,PA13,PA14");
+DECL_CONSTANT_STR("BUS_PINS_usart0", "PB0,PB1,PB13");
+DECL_CONSTANT_STR("BUS_PINS_usart1", "PA21,PA22,PA23");
+#endif
+
static const struct spi_info spi_bus[] = {
#if CONFIG_MACH_SAM3X
{ SPI0, ID_SPI0, GPIO('A', 25), GPIO('A', 26), GPIO('A', 27), 'A', 'A' },
@@ -33,9 +54,9 @@ static const struct spi_info spi_bus[] = {
{ USART0, ID_USART0, GPIO('A', 5), GPIO('A', 6), GPIO('A', 2), 'A', 'B' },
{ USART1, ID_USART1, GPIO('A', 21), GPIO('A', 22), GPIO('A', 23), 'A', 'A'},
#elif CONFIG_MACH_SAM4E
+ { SPI, ID_SPI, GPIO('A', 12), GPIO('A', 13), GPIO('A', 14), 'A', 'A' },
{ USART0, ID_USART0, GPIO('B', 0), GPIO('B', 1), GPIO('B', 13), 'C', 'C' },
{ USART1, ID_USART1, GPIO('A', 21), GPIO('A', 22), GPIO('A', 23), 'A', 'A'},
- { SPI, ID_SPI, GPIO('A', 12), GPIO('A', 13), GPIO('A', 14), 'A', 'A' },
#endif
};