summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrobert-hh <robert@hammelrath.com>2025-01-23 13:42:18 +0100
committerDamien George <damien@micropython.org>2025-02-07 18:00:36 +1100
commit9ced693ade1a1aca1e76d1eb6f11094e8aa3bfc9 (patch)
tree2d542c5279be38833ed2fb041c4e5f4df6e8ca76
parent304467518fbe9fc679dbba087fba7931c51655fb (diff)
samd/boards: Add generic SAMD51x19 board definitions.
The definition uses the internal oscillator for clock and only internal flash for the file system. It works at SAMD51G19 and SAMD51J19 devices as well, only that fewer pins are accessible. Tested with a SAMD51G19 and SAMD51J9 board. Signed-off-by: robert-hh <robert@hammelrath.com>
-rw-r--r--ports/samd/boards/SAMD_GENERIC_D51X19/board.json16
-rw-r--r--ports/samd/boards/SAMD_GENERIC_D51X19/board.md4
-rw-r--r--ports/samd/boards/SAMD_GENERIC_D51X19/mpconfigboard.h2
-rw-r--r--ports/samd/boards/SAMD_GENERIC_D51X19/mpconfigboard.mk11
-rw-r--r--ports/samd/boards/SAMD_GENERIC_D51X19/pins.csv18
5 files changed, 51 insertions, 0 deletions
diff --git a/ports/samd/boards/SAMD_GENERIC_D51X19/board.json b/ports/samd/boards/SAMD_GENERIC_D51X19/board.json
new file mode 100644
index 000000000..21cb114bf
--- /dev/null
+++ b/ports/samd/boards/SAMD_GENERIC_D51X19/board.json
@@ -0,0 +1,16 @@
+{
+ "deploy": [
+ "../deploy.md"
+ ],
+ "docs": "",
+ "features": [
+ "USB"
+ ],
+ "images": [
+ "generic_board.jpg"
+ ],
+ "mcu": "samd51",
+ "vendor": "Microchip",
+ "product": "Generic SAMD51P19",
+ "thumbnail": ""
+}
diff --git a/ports/samd/boards/SAMD_GENERIC_D51X19/board.md b/ports/samd/boards/SAMD_GENERIC_D51X19/board.md
new file mode 100644
index 000000000..b4694cc28
--- /dev/null
+++ b/ports/samd/boards/SAMD_GENERIC_D51X19/board.md
@@ -0,0 +1,4 @@
+The following firmware should work on most boards with a SAMD51G19,
+SAMD51J19 and SAMD51P19 MCU. It uses only the features built into
+the MCU. Additional devices at the board like external flash
+are not supported.
diff --git a/ports/samd/boards/SAMD_GENERIC_D51X19/mpconfigboard.h b/ports/samd/boards/SAMD_GENERIC_D51X19/mpconfigboard.h
new file mode 100644
index 000000000..cce157f9e
--- /dev/null
+++ b/ports/samd/boards/SAMD_GENERIC_D51X19/mpconfigboard.h
@@ -0,0 +1,2 @@
+#define MICROPY_HW_BOARD_NAME "Generic SAMD51P19"
+#define MICROPY_HW_MCU_NAME "SAMD51P19A"
diff --git a/ports/samd/boards/SAMD_GENERIC_D51X19/mpconfigboard.mk b/ports/samd/boards/SAMD_GENERIC_D51X19/mpconfigboard.mk
new file mode 100644
index 000000000..1a2064321
--- /dev/null
+++ b/ports/samd/boards/SAMD_GENERIC_D51X19/mpconfigboard.mk
@@ -0,0 +1,11 @@
+MCU_SERIES = SAMD51
+CMSIS_MCU = SAMD51P19A
+LD_FILES = boards/samd51x19a.ld sections.ld
+TEXT0 = 0x4000
+
+# The ?='s allow overriding in mpconfigboard.mk.
+# MicroPython settings
+# The size of a MCU flash filesystem will be
+# 496k - MICROPY_HW_CODESIZE - MICROPY_HW_VFSROMSIZE
+# The default for MICROPY_HW_VFSROMSIZE is 64K
+MICROPY_HW_CODESIZE ?= 368K
diff --git a/ports/samd/boards/SAMD_GENERIC_D51X19/pins.csv b/ports/samd/boards/SAMD_GENERIC_D51X19/pins.csv
new file mode 100644
index 000000000..76e38a984
--- /dev/null
+++ b/ports/samd/boards/SAMD_GENERIC_D51X19/pins.csv
@@ -0,0 +1,18 @@
+# The lines contain pairs of Pin name and Pin number.
+# Pin names must be valid Python identifiers.
+# Pin numbers have the form Pxnn, with x being A, B, C or D.
+# Lines starting with # or empty lines are ignored.
+
+USB_DM,PA24
+USB_DP,PA25
+USB_SOF,PA23
+
+QSPI_CS,PB11
+QSPI_SCK,PB10
+QSPI_D0,PA08
+QSPI_D1,PA09
+QSPI_D2,PA10
+QSPI_D3,PA11
+
+SWCLK,PA30
+SWDIO,PA31