forked from micropython/micropython
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #541 from ladyada/itsybitsy_m0_fixes
Itsybitsy m0 fixes
- Loading branch information
Showing
9 changed files
with
99 additions
and
18 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
/* | ||
* This file is part of the MicroPython project, http://micropython.org/ | ||
* | ||
* The MIT License (MIT) | ||
* | ||
* Copyright (c) 2017 Scott Shawcroft for Adafruit Industries | ||
* | ||
* Permission is hereby granted, free of charge, to any person obtaining a copy | ||
* of this software and associated documentation files (the "Software"), to deal | ||
* in the Software without restriction, including without limitation the rights | ||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
* copies of the Software, and to permit persons to whom the Software is | ||
* furnished to do so, subject to the following conditions: | ||
* | ||
* The above copyright notice and this permission notice shall be included in | ||
* all copies or substantial portions of the Software. | ||
* | ||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | ||
* THE SOFTWARE. | ||
*/ | ||
|
||
#ifndef MICROPY_INCLUDED_ATMEL_SAMD_BOARD_FLASH_W25Q16FW_H | ||
#define MICROPY_INCLUDED_ATMEL_SAMD_BOARD_FLASH_W25Q16FW_H | ||
|
||
// The total flash size in bytes. | ||
#define SPI_FLASH_TOTAL_SIZE (1 << 21) // 2 MiB | ||
|
||
// The size of the smallest erase unit thats erased with command 0x20. | ||
#define SPI_FLASH_ERASE_SIZE (1 << 12) // 4 KiB | ||
|
||
// The size of a page that is programmed with page program command 0x02. | ||
#define SPI_FLASH_PAGE_SIZE (256) // 256 bytes | ||
|
||
// These are the first three response bytes to the JEDEC ID command 0x9f that is | ||
// used to confirm we're talking to the flash we expect. | ||
#ifndef SPI_FLASH_JEDEC_MANUFACTURER | ||
#define SPI_FLASH_JEDEC_MANUFACTURER 0xef | ||
#define SPI_FLASH_SECTOR_PROTECTION false | ||
#define SPI_FLASH_JEDEC_MEMORY_TYPE 0x60 | ||
#else | ||
#define SPI_FLASH_JEDEC_MANUFACTURER_2 0xef | ||
#define SPI_FLASH_SECTOR_PROTECTION_2 false | ||
#define SPI_FLASH_JEDEC_MEMORY_TYPE_2 0x60 | ||
#endif | ||
|
||
#define SPI_FLASH_JEDEC_CAPACITY 0x15 | ||
|
||
#endif // MICROPY_INCLUDED_ATMEL_SAMD_BOARD_FLASH_W25Q16BV_H |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,36 +1,55 @@ | ||
#define USB_REPL | ||
|
||
#define MICROPY_HW_BOARD_NAME "Adafruit ItsyBitsy M0" | ||
#define MICROPY_HW_BOARD_NAME "Adafruit Itsy Bitsy M0 Express" | ||
#define MICROPY_HW_MCU_NAME "samd21g18" | ||
|
||
#define CIRCUITPY_BITBANG_APA102 | ||
#define MICROPY_HW_APA102_MOSI (&pin_PA01) | ||
#define MICROPY_HW_APA102_SCK (&pin_PA00) | ||
|
||
#define MICROPY_PORT_A (PORT_PA00 | PORT_PA01 | PORT_PA27 | PORT_PA24 | PORT_PA25) | ||
#define MICROPY_PORT_B (PORT_PB22 | PORT_PB23 | PORT_PB03 ) | ||
|
||
// Salae reads 12mhz which is the limit even though we set it to the safer 8mhz. | ||
#define SPI_FLASH_BAUDRATE (8000000) | ||
|
||
#define SPI_FLASH_MUX_SETTING SPI_SIGNAL_MUX_SETTING_F | ||
#define SPI_FLASH_PAD2_PINMUX PINMUX_PB22D_SERCOM5_PAD2 // MOSI | ||
#define SPI_FLASH_PAD0_PINMUX PINMUX_UNUSED // CS | ||
// Use default pinmux for the chip select since we manage it ourselves. | ||
#define SPI_FLASH_PAD3_PINMUX PINMUX_PB23D_SERCOM5_PAD3 // SCK | ||
#define SPI_FLASH_PAD1_PINMUX PINMUX_PB03D_SERCOM5_PAD1 // MISO | ||
#define SPI_FLASH_PAD0_PINMUX PINMUX_UNUSED // | ||
#define SPI_FLASH_SERCOM SERCOM5 | ||
#define SPI_FLASH_MISO_PAD 1 | ||
#define SPI_FLASH_PAD2_PINMUX PINMUX_PB22D_SERCOM5_PAD2 // MOSI | ||
#define SPI_FLASH_MOSI_PAD 2 | ||
#define SPI_FLASH_PAD3_PINMUX PINMUX_PB23D_SERCOM5_PAD3 // SCK | ||
#define SPI_FLASH_SCK_PAD 3 | ||
|
||
#define SPI_FLASH_CS PIN_PA27 | ||
#define SPI_FLASH_SERCOM SERCOM5 | ||
|
||
#define SPI_FLASH_MOSI PIN_PB22 | ||
#define SPI_FLASH_MISO PIN_PB03 | ||
#define SPI_FLASH_SCK PIN_PB23 | ||
#define SPI_FLASH_SERCOM_INDEX 5 | ||
// <o> Transmit Data Pinout | ||
// <0x0=>PAD[0,1]_DO_SCK | ||
// <0x1=>PAD[2,3]_DO_SCK | ||
// <0x2=>PAD[3,1]_DO_SCK | ||
// <0x3=>PAD[0,3]_DO_SCK | ||
#define SPI_FLASH_DOPO 1 | ||
#define SPI_FLASH_DIPO 1 // same as MISO pad | ||
#define SPI_FLASH_MUX_SETTING SPI_SIGNAL_MUX_SETTING_F | ||
|
||
|
||
// These are pins not to reset. | ||
#define MICROPY_PORT_A (PORT_PA00 | PORT_PA01 | PORT_PA27 | PORT_PA24 | PORT_PA25) | ||
#define MICROPY_PORT_B (PORT_PB22 | PORT_PB23 | PORT_PB03 ) | ||
#define MICROPY_PORT_C (0) | ||
|
||
#include "spi_flash.h" | ||
|
||
// If you change this, then make sure to update the linker scripts as well to | ||
// make sure you don't overwrite code. | ||
#define CIRCUITPY_INTERNAL_NVM_SIZE 256 | ||
|
||
#define BOARD_FLASH_SIZE (0x00040000 - 0x2000 - CIRCUITPY_INTERNAL_NVM_SIZE) | ||
|
||
//#include "flash_S25FL216K.h" | ||
#include "flash_W25Q80DV.h" | ||
//#include "flash_GD25Q16C.h" | ||
#include "flash_GD25Q16C.h" | ||
#include "flash_W25Q16FW.h" | ||
|
||
#define CALIBRATE_CRYSTALLESS 1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,11 @@ | ||
LD_FILE = boards/samd21x18-bootloader-external-flash-crystalless.ld | ||
USB_VID = 0x239A | ||
USB_PID = 0x8012 | ||
USB_PRODUCT = "Itsy Bitsy M0 Express" | ||
USB_MANUFACTURER = "Adafruit Industries LLC" | ||
|
||
SPI_FLASH_FILESYSTEM = 1 | ||
|
||
CHIP_VARIANT = SAMD21G18A | ||
CHIP_FAMILY = samd21 | ||
|