summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrobert-hh <robert@hammelrath.com>2025-01-23 13:34:47 +0100
committerDamien George <damien@micropython.org>2025-02-07 17:59:35 +1100
commit304467518fbe9fc679dbba087fba7931c51655fb (patch)
treefb91a89f7a6a347ee593a644476fe211344b9f2f
parent44a7731669f1c8429bb61b790a7e8bf8a86b045d (diff)
samd/boards: Add generic SAMD21x18 board definitions.
The definition uses the internal oscillator for clock and only internal flash for the file system. It works at SAMD21G18 and SAMD21E18 devices as well, only that fewer pins are accessible. Tested with a SAMD21E18, SAM21G18 and SAMD21J18 board. Signed-off-by: robert-hh <robert@hammelrath.com>
-rw-r--r--ports/samd/boards/SAMD_GENERIC_D21X18/board.json16
-rw-r--r--ports/samd/boards/SAMD_GENERIC_D21X18/board.md4
-rw-r--r--ports/samd/boards/SAMD_GENERIC_D21X18/mpconfigboard.h4
-rw-r--r--ports/samd/boards/SAMD_GENERIC_D21X18/mpconfigboard.mk4
-rw-r--r--ports/samd/boards/SAMD_GENERIC_D21X18/pins.csv10
5 files changed, 38 insertions, 0 deletions
diff --git a/ports/samd/boards/SAMD_GENERIC_D21X18/board.json b/ports/samd/boards/SAMD_GENERIC_D21X18/board.json
new file mode 100644
index 000000000..a14730bd1
--- /dev/null
+++ b/ports/samd/boards/SAMD_GENERIC_D21X18/board.json
@@ -0,0 +1,16 @@
+{
+ "deploy": [
+ "../deploy.md"
+ ],
+ "docs": "",
+ "features": [
+ "USB"
+ ],
+ "images": [
+ "generic_board.jpg"
+ ],
+ "mcu": "samd21",
+ "vendor": "Microchip",
+ "product": "Generic SAMD21J18",
+ "thumbnail": ""
+}
diff --git a/ports/samd/boards/SAMD_GENERIC_D21X18/board.md b/ports/samd/boards/SAMD_GENERIC_D21X18/board.md
new file mode 100644
index 000000000..a10b08f2f
--- /dev/null
+++ b/ports/samd/boards/SAMD_GENERIC_D21X18/board.md
@@ -0,0 +1,4 @@
+The following firmware should work on most boards with a SAMD21E18,
+SAMD21G18 and SAMD21J18 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_D21X18/mpconfigboard.h b/ports/samd/boards/SAMD_GENERIC_D21X18/mpconfigboard.h
new file mode 100644
index 000000000..945975ab2
--- /dev/null
+++ b/ports/samd/boards/SAMD_GENERIC_D21X18/mpconfigboard.h
@@ -0,0 +1,4 @@
+#define MICROPY_HW_BOARD_NAME "Generic SAMD21J18"
+#define MICROPY_HW_MCU_NAME "SAMD21J18A"
+
+#define MICROPY_HW_DFLL_USB_SYNC (1)
diff --git a/ports/samd/boards/SAMD_GENERIC_D21X18/mpconfigboard.mk b/ports/samd/boards/SAMD_GENERIC_D21X18/mpconfigboard.mk
new file mode 100644
index 000000000..f95c65493
--- /dev/null
+++ b/ports/samd/boards/SAMD_GENERIC_D21X18/mpconfigboard.mk
@@ -0,0 +1,4 @@
+MCU_SERIES = SAMD21
+CMSIS_MCU = SAMD21J18A
+LD_FILES = boards/samd21x18a.ld sections.ld
+TEXT0 = 0x2000
diff --git a/ports/samd/boards/SAMD_GENERIC_D21X18/pins.csv b/ports/samd/boards/SAMD_GENERIC_D21X18/pins.csv
new file mode 100644
index 000000000..d35bc9d8e
--- /dev/null
+++ b/ports/samd/boards/SAMD_GENERIC_D21X18/pins.csv
@@ -0,0 +1,10 @@
+# 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
+
+SWCLK,PA30
+SWDIO,PA31