diff --git a/atmel-samd/boards/flash_GD25Q16C.h b/atmel-samd/boards/flash_GD25Q16C.h index 90ec6de5cd029..e123265e295c3 100644 --- a/atmel-samd/boards/flash_GD25Q16C.h +++ b/atmel-samd/boards/flash_GD25Q16C.h @@ -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 diff --git a/atmel-samd/boards/flash_S25FL064L.h b/atmel-samd/boards/flash_S25FL064L.h index 40cfa4cf0acad..5a38836874722 100644 --- a/atmel-samd/boards/flash_S25FL064L.h +++ b/atmel-samd/boards/flash_S25FL064L.h @@ -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 diff --git a/atmel-samd/boards/flash_S25FL216K.h b/atmel-samd/boards/flash_S25FL216K.h index 61b6b751469ec..a6a0a12fa2981 100644 --- a/atmel-samd/boards/flash_S25FL216K.h +++ b/atmel-samd/boards/flash_S25FL216K.h @@ -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 diff --git a/atmel-samd/boards/flash_W25Q16FW.h b/atmel-samd/boards/flash_W25Q16FW.h new file mode 100644 index 0000000000000..219a7f058fb4b --- /dev/null +++ b/atmel-samd/boards/flash_W25Q16FW.h @@ -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 diff --git a/atmel-samd/boards/flash_W25Q32BV.h b/atmel-samd/boards/flash_W25Q32BV.h index ae730fc6a2d04..d71771babcdc9 100644 --- a/atmel-samd/boards/flash_W25Q32BV.h +++ b/atmel-samd/boards/flash_W25Q32BV.h @@ -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 diff --git a/atmel-samd/boards/flash_W25Q80DV.h b/atmel-samd/boards/flash_W25Q80DV.h index 1e8003867f80f..3fd8dc114f132 100644 --- a/atmel-samd/boards/flash_W25Q80DV.h +++ b/atmel-samd/boards/flash_W25Q80DV.h @@ -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 diff --git a/atmel-samd/boards/itsybitsy_m0/conf_usb.h b/atmel-samd/boards/itsybitsy_m0/conf_usb.h index 5e8a61b884887..93eacb344d052 100644 --- a/atmel-samd/boards/itsybitsy_m0/conf_usb.h +++ b/atmel-samd/boards/itsybitsy_m0/conf_usb.h @@ -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 diff --git a/atmel-samd/boards/itsybitsy_m0/mpconfigboard.h b/atmel-samd/boards/itsybitsy_m0/mpconfigboard.h index e9fd08a5f658c..5ae5eab45fb9f 100644 --- a/atmel-samd/boards/itsybitsy_m0/mpconfigboard.h +++ b/atmel-samd/boards/itsybitsy_m0/mpconfigboard.h @@ -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 +// 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 diff --git a/atmel-samd/boards/itsybitsy_m0/mpconfigboard.mk b/atmel-samd/boards/itsybitsy_m0/mpconfigboard.mk index 167d445954f69..0fb0e38ed46a2 100644 --- a/atmel-samd/boards/itsybitsy_m0/mpconfigboard.mk +++ b/atmel-samd/boards/itsybitsy_m0/mpconfigboard.mk @@ -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