samd/boards: Add ADAFRUIT_FEATHER_M4_EXPRESS and _ITSYBITSY_M0_EXPRESS.

These two boards are used for testing, so it is favorable to have them
added early.

The full test set is:
- ADAFRUIT_FEATHER_M4_EXPRESS: SAMD51 with 32kHz crystal.
- ADAFRUIT_ITSYBITSY_M0_EXPRESS: SAMD21 without crystal.
- ADAFRUIT_ITSYBITSY_M4_EXPRESS: SAMD51 without crystal.
- SEEED_XIAO: SAM21 with 32kHz crystal.
This commit is contained in:
robert-hh 2022-06-04 15:42:56 +02:00 committed by Damien George
parent c4f7c0b8a2
commit 949a808076
9 changed files with 153 additions and 0 deletions

View File

@ -0,0 +1,22 @@
{
"deploy": [
"../deploy.md"
],
"docs": "",
"features": [
"Battery Charging",
"Breadboard Friendly",
"Feather",
"Micro USB",
"RGB LED",
"SPI Flash"
],
"images": [
"feather_m4_express.jpg"
],
"mcu": "samd51",
"product": "Feather M4 Express",
"thumbnail": "",
"url": "https://www.adafruit.com/product/3857",
"vendor": "Adafruit"
}

View File

@ -0,0 +1,2 @@
#define MICROPY_HW_BOARD_NAME "Feather M4 Express"
#define MICROPY_HW_MCU_NAME "SAMD51J19A"

View File

@ -0,0 +1,8 @@
MCU_SERIES = SAMD51
CMSIS_MCU = SAMD51J19A
LD_FILES = boards/samd51j19a.ld sections.ld
TEXT0 = 0x4000
# The ?='s allow overriding in mpconfigboard.mk.
# MicroPython settings
MICROPY_VFS_LFS1 ?= 1

View File

@ -0,0 +1,34 @@
# Pin rows contain Pin number and pin name.
# Pin rows start with PIN_
# LED rows start with LED_
# If the pin name is omitted, the pin number is added as name.
# Rows for empty entries have to start with '-'
# Empty lines and lines starting with PIN_ or LED_ are ignored
PIN_PB17,D0
PIN_PB16,D1
PIN_PA14,D4
PIN_PA16,D5
PIN_PA18,D6
-
PIN_PB03,D8
PIN_PA19,D9
PIN_PA20,D10
PIN_PA21,D11
PIN_PA22,D12
PIN_PA23,D13
PIN_PA02,A0
PIN_PA05,A1
PIN_PB08,A2
PIN_PB09,A3
PIN_PA04,A4
PIN_PB06,A5
PIN_PA13,SCL
PIN_PA12,SDA
PIN_PB23,MOSI
PIN_PB22,MISO
PIN_PA17,SCK
PIN_PB01,VDIV
PIN_PA03,AREF
LED_PA17,LED
1 # Pin rows contain Pin number and pin name.
2 # Pin rows start with PIN_
3 # LED rows start with LED_
4 # If the pin name is omitted, the pin number is added as name.
5 # Rows for empty entries have to start with '-'
6 # Empty lines and lines starting with PIN_ or LED_ are ignored
7 PIN_PB17,D0
8 PIN_PB16,D1
9 PIN_PA14,D4
10 PIN_PA16,D5
11 PIN_PA18,D6
12 -
13 PIN_PB03,D8
14 PIN_PA19,D9
15 PIN_PA20,D10
16 PIN_PA21,D11
17 PIN_PA22,D12
18 PIN_PA23,D13
19 PIN_PA02,A0
20 PIN_PA05,A1
21 PIN_PB08,A2
22 PIN_PB09,A3
23 PIN_PA04,A4
24 PIN_PB06,A5
25 PIN_PA13,SCL
26 PIN_PA12,SDA
27 PIN_PB23,MOSI
28 PIN_PB22,MISO
29 PIN_PA17,SCK
30 PIN_PB01,VDIV
31 PIN_PA03,AREF
32 LED_PA17,LED

View File

@ -0,0 +1,20 @@
{
"deploy": [
"../deploy.md"
],
"docs": "",
"features": [
"Breadboard Friendly",
"Micro USB",
"RGB LED",
"SPI Flash"
],
"images": [
"itsybitsy_m0_express.jpg"
],
"mcu": "samd21",
"product": "ItsyBitsy M0 Express",
"thumbnail": "",
"url": "https://www.adafruit.com/product/3727",
"vendor": "Adafruit"
}

View File

@ -0,0 +1,2 @@
#define MICROPY_HW_BOARD_NAME "ItsyBitsy M0 Express"
#define MICROPY_HW_MCU_NAME "SAMD21G18A"

View File

@ -0,0 +1,8 @@
MCU_SERIES = SAMD21
CMSIS_MCU = SAMD21G18A
LD_FILES = boards/samd21x18a.ld sections.ld
TEXT0 = 0x2000
# The ?='s allow overriding in mpconfigboard.mk.
# MicroPython settings
MICROPY_VFS_LFS1 ?= 1

View File

@ -0,0 +1,40 @@
# Pin rows contain Pin number and pin name.
# Pin rows start with PIN_
# LED rows start with LED_
# If the pin name is omitted, the pin number is added as name.
# Rows for empty entries have to start with '-'
# Empty lines and lines not starting with PIN_ or LED_ are ignored
PIN_PA11,D0
PIN_PA10,D1
PIN_PA14,D2
PIN_PB09,D3
PIN_PA08,D4
PIN_PA15,D5
-
PIN_PA21,D7
-
PIN_PA07,D9
PIN_PA18,D10
PIN_PA16,D11
PIN_PA19,D12
PIN_PA17,D13
PIN_PA02,A0
PIN_PB08,A1
PIN_PB09,A2
PIN_PA04,A3
PIN_PA05,A4
PIN_PB02,A5
PIN_PA22,SDA
PIN_PA23,SCL
PIN_PB10,MO
PIN_PA12,MI
PIN_PB11,SCK
PIN_PA00,DOTSTAR_CLK
PIN_PA01,DOTSTAR_DATA
PIN_PB22,FLASH_MOSI
PIN_PB03,FLASH_MISO
PIN_PB23,FLASH_SCK
PIN_PA27,FLASH_CS
LED_PA17,LED
1 # Pin rows contain Pin number and pin name.
2 # Pin rows start with PIN_
3 # LED rows start with LED_
4 # If the pin name is omitted, the pin number is added as name.
5 # Rows for empty entries have to start with '-'
6 # Empty lines and lines not starting with PIN_ or LED_ are ignored
7 PIN_PA11,D0
8 PIN_PA10,D1
9 PIN_PA14,D2
10 PIN_PB09,D3
11 PIN_PA08,D4
12 PIN_PA15,D5
13 -
14 PIN_PA21,D7
15 -
16 PIN_PA07,D9
17 PIN_PA18,D10
18 PIN_PA16,D11
19 PIN_PA19,D12
20 PIN_PA17,D13
21 PIN_PA02,A0
22 PIN_PB08,A1
23 PIN_PB09,A2
24 PIN_PA04,A3
25 PIN_PA05,A4
26 PIN_PB02,A5
27 PIN_PA22,SDA
28 PIN_PA23,SCL
29 PIN_PB10,MO
30 PIN_PA12,MI
31 PIN_PB11,SCK
32 PIN_PA00,DOTSTAR_CLK
33 PIN_PA01,DOTSTAR_DATA
34 PIN_PB22,FLASH_MOSI
35 PIN_PB03,FLASH_MISO
36 PIN_PB23,FLASH_SCK
37 PIN_PA27,FLASH_CS
38 LED_PA17,LED

View File

@ -0,0 +1,17 @@
/*
GNU linker script for SAMD51
*/
/* Specify the memory areas */
MEMORY
{
FLASH (rx) : ORIGIN = 0x00004000, LENGTH = 512K - 16K
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 192K
}
/* Top end of the stack, with room for double-tap variable */
_estack = ORIGIN(RAM) + LENGTH(RAM) - 8;
_sstack = _estack - 16K;
_sheap = _ebss;
_eheap = _sstack;