samd: Add board definition for Sparkfun SAMD51 MicroMod.

Signed-off-by: Andrew Teta <andrew.teta@gmail.com>
pull/12642/head
Andrew Teta 2023-10-07 09:40:54 -06:00
rodzic 5232847771
commit 540e873781
4 zmienionych plików z 102 dodań i 0 usunięć

Wyświetl plik

@ -0,0 +1,19 @@
{
"deploy": [
"../deploy.md"
],
"docs": "",
"features": [
"External Flash",
"JST-SH",
"USB"
],
"images": [
"sparkfun_micromod_samd51.jpg"
],
"mcu": "samd51",
"product": "Sparkfun SAMD51 MicroMod",
"thumbnail": "",
"url": "https://www.sparkfun.com/products/16791",
"vendor": "Sparkfun"
}

Wyświetl plik

@ -0,0 +1,15 @@
#define MICROPY_HW_BOARD_NAME "Sparkfun SAMD51 MicroMod"
#define MICROPY_HW_MCU_NAME "SAMD51J20A"
#define MICROPY_HW_XOSC32K (1)
// There seems to be an inconsistency in the SAMD51 Thing bootloader in that
// the bootloader magic address is at the end of a 192k RAM area, instead of
// 256k. Since the SAMD51x20A has 256k RAM, the loader symbol is at that address
// and so there is a fix here using the previous definition.
#define DBL_TAP_ADDR_ALT ((volatile uint32_t *)(HSRAM_ADDR + HSRAM_SIZE - 0x10000 - 4))
// Enabling both two lines below will set the boot file system to
// the board's external flash.
#define MICROPY_HW_SPIFLASH (1)
#define MICROPY_HW_SPIFLASH_ID (0)

Wyświetl plik

@ -0,0 +1,8 @@
MCU_SERIES = SAMD51
CMSIS_MCU = SAMD51J20A
LD_FILES = boards/samd51x20a.ld sections.ld
TEXT0 = 0x4000
# The ?='s allow overriding in mpconfigboard.mk.
# MicroPython settings
MICROPY_HW_CODESIZE ?= 1008K

Wyświetl plik

@ -0,0 +1,60 @@
# Pin rows contain Pin number and pin name.
# Pin rows start with PIN_
# If the pin name is omitted, the pin number is added as name.
# Empty lines and lines not starting with PIN_ are ignored
PIN_PA02,A0_DAC
PIN_PA04,MOSI
PIN_PA05,SCK
PIN_PA06,MISO
PIN_PA07,CS
PIN_PA08,FLASH_SCK
PIN_PA09,FLASH_MOSI
PIN_PA10,FLASH_MISO
PIN_PA11,FLASH_CS
PIN_PA12,SCL1_TX2
PIN_PA13,SDA1_RX2
PIN_PA14,D10
PIN_PA15,D11
PIN_PA16,SCL
PIN_PA17,SDA
PIN_PA18,I2C_INT
PIN_PA19,3V3_EN
PIN_PA20,I2S_FS
PIN_PA21,I2S_SDO
PIN_PA22,I2S_SDI
PIN_PA23,D13
PIN_PA24,USB_DM
PIN_PA25,USB_DP
PIN_PA27,HOST_ENABLE
PIN_PB00,A1
PIN_PB01,A2_PWM0
PIN_PB02,A3_PWM1
PIN_PB03,A4
PIN_PB04,D0
PIN_PB05,D1
PIN_PB06,D2_G0
PIN_PB07,D3_G1
PIN_PB08,D4_G2
PIN_PB09,D5_G3
PIN_PB10,D6_G4
PIN_PB11,D7_G5
PIN_PB12,D8_G6
PIN_PB13,D9_G7
PIN_PB14,CAN_TX
PIN_PB15,CAN_RX
PIN_PB16,I2S_CLK
PIN_PB17,I2S_MCLK
PIN_PB22,WP
PIN_PB23,HOLD
PIN_PB30,RXI
PIN_PB31,TXO
PIN_PA30,SWCLK
PIN_PA31,SWDIO
1 # Pin rows contain Pin number and pin name.
2 # Pin rows start with PIN_
3 # If the pin name is omitted, the pin number is added as name.
4 # Empty lines and lines not starting with PIN_ are ignored
5 PIN_PA02,A0_DAC
6 PIN_PA04,MOSI
7 PIN_PA05,SCK
8 PIN_PA06,MISO
9 PIN_PA07,CS
10 PIN_PA08,FLASH_SCK
11 PIN_PA09,FLASH_MOSI
12 PIN_PA10,FLASH_MISO
13 PIN_PA11,FLASH_CS
14 PIN_PA12,SCL1_TX2
15 PIN_PA13,SDA1_RX2
16 PIN_PA14,D10
17 PIN_PA15,D11
18 PIN_PA16,SCL
19 PIN_PA17,SDA
20 PIN_PA18,I2C_INT
21 PIN_PA19,3V3_EN
22 PIN_PA20,I2S_FS
23 PIN_PA21,I2S_SDO
24 PIN_PA22,I2S_SDI
25 PIN_PA23,D13
26 PIN_PA24,USB_DM
27 PIN_PA25,USB_DP
28 PIN_PA27,HOST_ENABLE
29 PIN_PB00,A1
30 PIN_PB01,A2_PWM0
31 PIN_PB02,A3_PWM1
32 PIN_PB03,A4
33 PIN_PB04,D0
34 PIN_PB05,D1
35 PIN_PB06,D2_G0
36 PIN_PB07,D3_G1
37 PIN_PB08,D4_G2
38 PIN_PB09,D5_G3
39 PIN_PB10,D6_G4
40 PIN_PB11,D7_G5
41 PIN_PB12,D8_G6
42 PIN_PB13,D9_G7
43 PIN_PB14,CAN_TX
44 PIN_PB15,CAN_RX
45 PIN_PB16,I2S_CLK
46 PIN_PB17,I2S_MCLK
47 PIN_PB22,WP
48 PIN_PB23,HOLD
49 PIN_PB30,RXI
50 PIN_PB31,TXO
51 PIN_PA30,SWCLK
52 PIN_PA31,SWDIO