Skip to content

Commit

Permalink
atmel-samd: New revs which isolate the SPI for the external flash.
Browse files Browse the repository at this point in the history
  • Loading branch information
tannewt committed Jan 5, 2017
1 parent e52fbf2 commit 89f4a55
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 27 deletions.
23 changes: 17 additions & 6 deletions atmel-samd/boards/cplay_m0_flash/mpconfigboard.h
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
43 changes: 22 additions & 21 deletions atmel-samd/boards/metro_m0_flash/mpconfigboard.h
Original file line number Diff line number Diff line change
@@ -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

Expand Down

0 comments on commit 89f4a55

Please sign in to comment.