From 89f4a5597b832caaa8bc380f93ff4d2897325647 Mon Sep 17 00:00:00 2001 From: Scott Shawcroft Date: Thu, 5 Jan 2017 14:36:33 -0800 Subject: [PATCH] atmel-samd: New revs which isolate the SPI for the external flash. --- .../boards/cplay_m0_flash/mpconfigboard.h | 23 +++++++--- .../boards/metro_m0_flash/mpconfigboard.h | 43 ++++++++++--------- 2 files changed, 39 insertions(+), 27 deletions(-) diff --git a/atmel-samd/boards/cplay_m0_flash/mpconfigboard.h b/atmel-samd/boards/cplay_m0_flash/mpconfigboard.h index c863da6e486b..7ccd955596bd 100644 --- a/atmel-samd/boards/cplay_m0_flash/mpconfigboard.h +++ b/atmel-samd/boards/cplay_m0_flash/mpconfigboard.h @@ -9,16 +9,27 @@ // On-board flash #define SPI_FLASH_MUX_SETTING SPI_SIGNAL_MUX_SETTING_E -#define SPI_FLASH_PAD0_PINMUX PINMUX_PA12D_SERCOM4_PAD0 // MISO // Use default pinmux for the chip select since we manage it ourselves. + +// Rev B: +// #define SPI_FLASH_PAD0_PINMUX PINMUX_PA12D_SERCOM4_PAD0 // MISO +// #define SPI_FLASH_PAD1_PINMUX PINMUX_DEFAULT // CS +// #define SPI_FLASH_PAD2_PINMUX PINMUX_PB10D_SERCOM4_PAD2 // MOSI +// #define SPI_FLASH_PAD3_PINMUX PINMUX_PB11D_SERCOM4_PAD3 // SCK + +// Rev C: +#define SPI_FLASH_PAD0_PINMUX PINMUX_PA16D_SERCOM3_PAD0 // MISO #define SPI_FLASH_PAD1_PINMUX PINMUX_DEFAULT // CS -#define SPI_FLASH_PAD2_PINMUX PINMUX_PB10D_SERCOM4_PAD2 // MOSI -#define SPI_FLASH_PAD3_PINMUX PINMUX_PB11D_SERCOM4_PAD3 // SCK +#define SPI_FLASH_PAD2_PINMUX PINMUX_PA20D_SERCOM3_PAD2 // MOSI +#define SPI_FLASH_PAD3_PINMUX PINMUX_PA21D_SERCOM3_PAD3 // SCK + #define SPI_FLASH_CS PIN_PB22 -#define SPI_FLASH_SERCOM SERCOM4 +// rev B: #define SPI_FLASH_SERCOM SERCOM4 +#define SPI_FLASH_SERCOM SERCOM3 -#define MICROPY_PORT_A (PORT_PA12 | PORT_PA24 | PORT_PA25) -#define MICROPY_PORT_B (PORT_PB10 | PORT_PB11 | PORT_PB22) +// PA24 and PA25 are USB. +#define MICROPY_PORT_A (PORT_PA16 | PORT_PA20 | PORT_PA21 | PORT_PA24 | PORT_PA25) +#define MICROPY_PORT_B (PORT_PB22) #define AUTORESET_DELAY_MS 500 diff --git a/atmel-samd/boards/metro_m0_flash/mpconfigboard.h b/atmel-samd/boards/metro_m0_flash/mpconfigboard.h index f3afe90a5a2d..d859f2198008 100644 --- a/atmel-samd/boards/metro_m0_flash/mpconfigboard.h +++ b/atmel-samd/boards/metro_m0_flash/mpconfigboard.h @@ -1,39 +1,40 @@ -// #define UART_REPL #define USB_REPL #define MICROPY_HW_BOARD_NAME "Adafruit Metro M0 with Flash (Experimental)" #define MICROPY_HW_MCU_NAME "samd21g18" -//#define MICROPY_HW_LED_MSC PIN_PA17 #define MICROPY_HW_LED_TX PIN_PA27 -#define MICROPY_HW_LED_RX PIN_PB03 +#define MICROPY_HW_LED_RX PIN_PA31 #define MICROPY_HW_NEOPIXEL &pin_PA30 #define SPI_FLASH_BAUDRATE (1000000) -// Off-board flash +// Rev E // #define SPI_FLASH_MUX_SETTING SPI_SIGNAL_MUX_SETTING_E -// #define SPI_FLASH_PAD0_PINMUX PINMUX_PA16C_SERCOM1_PAD0 // MISO D11 +// #define SPI_FLASH_PAD0_PINMUX PINMUX_PA12D_SERCOM4_PAD0 // MISO +// // Use default pinmux for the chip select since we manage it ourselves. +// #define SPI_FLASH_PAD1_PINMUX PINMUX_DEFAULT // CS +// #define SPI_FLASH_PAD2_PINMUX PINMUX_PB10D_SERCOM4_PAD2 // MOSI +// #define SPI_FLASH_PAD3_PINMUX PINMUX_PB11D_SERCOM4_PAD3 // SCK +// #define SPI_FLASH_CS PIN_PA13 +// #define SPI_FLASH_SERCOM SERCOM4 +// +// #define MICROPY_PORT_A (PORT_PA12 | PORT_PA13 |PORT_PA24 | PORT_PA25 | PORT_PA27 | PORT_PA30) +// #define MICROPY_PORT_B (PORT_PB03 | PORT_PB10 | PORT_PB11) + +// Rev F +#define SPI_FLASH_MUX_SETTING SPI_SIGNAL_MUX_SETTING_F +#define SPI_FLASH_PAD0_PINMUX PINMUX_DEFAULT // CS // Use default pinmux for the chip select since we manage it ourselves. -// #define SPI_FLASH_PAD1_PINMUX PINMUX_DEFAULT -// #define SPI_FLASH_PAD2_PINMUX PINMUX_PA18C_SERCOM1_PAD2 // MOSI D10 -// #define SPI_FLASH_PAD3_PINMUX PINMUX_PA19C_SERCOM1_PAD3 // SCK D12 -// #define SPI_FLASH_CS PIN_PA17 -// #define SPI_FLASH_SERCOM SERCOM1 - -// On-board flash -#define SPI_FLASH_MUX_SETTING SPI_SIGNAL_MUX_SETTING_E -#define SPI_FLASH_PAD0_PINMUX PINMUX_PA12D_SERCOM4_PAD0 // MISO -// Use default pinmux for the chip select since we manage it ourselves. -#define SPI_FLASH_PAD1_PINMUX PINMUX_DEFAULT // CS -#define SPI_FLASH_PAD2_PINMUX PINMUX_PB10D_SERCOM4_PAD2 // MOSI -#define SPI_FLASH_PAD3_PINMUX PINMUX_PB11D_SERCOM4_PAD3 // SCK +#define SPI_FLASH_PAD1_PINMUX PINMUX_PB03D_SERCOM5_PAD1 // MISO +#define SPI_FLASH_PAD2_PINMUX PINMUX_PB22D_SERCOM5_PAD2 // MOSI +#define SPI_FLASH_PAD3_PINMUX PINMUX_PB23D_SERCOM5_PAD3 // SCK #define SPI_FLASH_CS PIN_PA13 -#define SPI_FLASH_SERCOM SERCOM4 +#define SPI_FLASH_SERCOM SERCOM5 -#define MICROPY_PORT_A (PORT_PA12 | PORT_PA13 |PORT_PA24 | PORT_PA25 | PORT_PA27 | PORT_PA30) -#define MICROPY_PORT_B (PORT_PB03 | PORT_PB10 | PORT_PB11) +#define MICROPY_PORT_A (PORT_PA13 |PORT_PA24 | PORT_PA25 | PORT_PA27 | PORT_PA30 | PORT_PA31) +#define MICROPY_PORT_B (PORT_PB03 | PORT_PB22 | PORT_PB23) #define AUTORESET_DELAY_MS 500