Skip to content

Itsybitsy m0 fixes #541

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jan 20, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion atmel-samd/boards/flash_GD25Q16C.h
Original file line number Diff line number Diff line change
Expand Up @@ -44,11 +44,12 @@
// used to confirm we're talking to the flash we expect.
#define SPI_FLASH_JEDEC_MANUFACTURER 0xc8
#define SPI_FLASH_SECTOR_PROTECTION true
#define SPI_FLASH_JEDEC_MEMORY_TYPE 0x40
#else
#define SPI_FLASH_JEDEC_MANUFACTURER_2 0xc8
#define SPI_FLASH_SECTOR_PROTECTION_2 true
#define SPI_FLASH_JEDEC_MEMORY_TYPE_2 0x40
#endif
#define SPI_FLASH_JEDEC_MEMORY_TYPE 0x40
#define SPI_FLASH_JEDEC_CAPACITY 0x15


Expand Down
3 changes: 2 additions & 1 deletion atmel-samd/boards/flash_S25FL064L.h
Original file line number Diff line number Diff line change
Expand Up @@ -45,11 +45,12 @@
#ifndef SPI_FLASH_JEDEC_MANUFACTURER
#define SPI_FLASH_JEDEC_MANUFACTURER 0x01
#define SPI_FLASH_SECTOR_PROTECTION false
#define SPI_FLASH_JEDEC_MEMORY_TYPE 0x60
#else
#define SPI_FLASH_JEDEC_MANUFACTURER_2 0x013
#define SPI_FLASH_SECTOR_PROTECTION_2 false
#define SPI_FLASH_JEDEC_MEMORY_TYPE_2 0x60
#endif
#define SPI_FLASH_JEDEC_MEMORY_TYPE 0x60
#define SPI_FLASH_JEDEC_CAPACITY 0x17

#endif // MICROPY_INCLUDED_ATMEL_SAMD_BOARD_FLASH_S25FL216K_H
3 changes: 2 additions & 1 deletion atmel-samd/boards/flash_S25FL216K.h
Original file line number Diff line number Diff line change
Expand Up @@ -44,11 +44,12 @@
#ifndef SPI_FLASH_JEDEC_MANUFACTURER
#define SPI_FLASH_JEDEC_MANUFACTURER 0x01
#define SPI_FLASH_SECTOR_PROTECTION false
#define SPI_FLASH_JEDEC_MEMORY_TYPE 0x40
#else
#define SPI_FLASH_JEDEC_MANUFACTURER_2 0x01
#define SPI_FLASH_SECTOR_PROTECTION_2 false
#define SPI_FLASH_JEDEC_MEMORY_TYPE_2 0x40
#endif
#define SPI_FLASH_JEDEC_MEMORY_TYPE 0x40
#define SPI_FLASH_JEDEC_CAPACITY 0x15

#endif // MICROPY_INCLUDED_ATMEL_SAMD_BOARD_FLASH_S25FL216K_H
53 changes: 53 additions & 0 deletions atmel-samd/boards/flash_W25Q16FW.h
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
3 changes: 2 additions & 1 deletion atmel-samd/boards/flash_W25Q32BV.h
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,12 @@
#ifndef SPI_FLASH_JEDEC_MANUFACTURER
#define SPI_FLASH_JEDEC_MANUFACTURER 0xef
#define SPI_FLASH_SECTOR_PROTECTION false
#define SPI_FLASH_JEDEC_MEMORY_TYPE 0x40
#else
#define SPI_FLASH_JEDEC_MANUFACTURER_2 0xef
#define SPI_FLASH_SECTOR_PROTECTION_2 false
#define SPI_FLASH_JEDEC_MEMORY_TYPE_2 0x40
#endif
#define SPI_FLASH_JEDEC_MEMORY_TYPE 0x40
#define SPI_FLASH_JEDEC_CAPACITY 0x16

#endif // MICROPY_INCLUDED_ATMEL_SAMD_BOARD_FLASH_W25Q32BV_H
3 changes: 2 additions & 1 deletion atmel-samd/boards/flash_W25Q80DV.h
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,12 @@
#ifndef SPI_FLASH_JEDEC_MANUFACTURER
#define SPI_FLASH_JEDEC_MANUFACTURER 0xef
#define SPI_FLASH_SECTOR_PROTECTION false
#define SPI_FLASH_JEDEC_MEMORY_TYPE_2 0x40
#else
#define SPI_FLASH_JEDEC_MANUFACTURER_2 0xef
#define SPI_FLASH_SECTOR_PROTECTION_2 false
#define SPI_FLASH_JEDEC_MEMORY_TYPE_2 0x40
#endif
#define SPI_FLASH_JEDEC_MEMORY_TYPE 0x40
#define SPI_FLASH_JEDEC_CAPACITY 0x14

#endif // MICROPY_INCLUDED_ATMEL_SAMD_BOARD_FLASH_W25Q80DV_H
2 changes: 1 addition & 1 deletion atmel-samd/boards/itsybitsy_m0/conf_usb.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
#endif

#ifndef USB_DEVICE_PRODUCT_NAME
# define USB_DEVICE_PRODUCT_NAME "ItsyBitsy M0"
# define USB_DEVICE_PRODUCT_NAME "ItsyBitsy M0 Express"
#endif
// #define USB_DEVICE_SERIAL_NAME "12...EF"
#define USB_DEVICE_GET_SERIAL_NAME_POINTER serial_number
Expand Down
43 changes: 31 additions & 12 deletions atmel-samd/boards/itsybitsy_m0/mpconfigboard.h
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
4 changes: 4 additions & 0 deletions atmel-samd/boards/itsybitsy_m0/mpconfigboard.mk
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

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy