summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrobert-hh <robert@hammelrath.com>2023-04-11 08:40:02 +0200
committerDamien George <damien@micropython.org>2023-05-23 10:17:16 +1000
commitc3f031afaca1c1063ed499e3c0f40a136d6ffec2 (patch)
tree37100d78081b39d0a772be5ef95ecdf36884fc8e
parent20fd22edad051384b9cd929d925a91d607fbed8d (diff)
samd/boards/ADAFRUIT_METRO_M4_EXPRESS: Add Metro M4 Express Airlift.
The board files can be used for both Adafruit Metro M4 variants. The Wifi support is in progress.
-rw-r--r--ports/samd/boards/ADAFRUIT_METRO_M4_EXPRESS/board.json27
-rw-r--r--ports/samd/boards/ADAFRUIT_METRO_M4_EXPRESS/mpconfigboard.h30
-rw-r--r--ports/samd/boards/ADAFRUIT_METRO_M4_EXPRESS/mpconfigboard.mk12
-rw-r--r--ports/samd/boards/ADAFRUIT_METRO_M4_EXPRESS/pins.csv66
4 files changed, 135 insertions, 0 deletions
diff --git a/ports/samd/boards/ADAFRUIT_METRO_M4_EXPRESS/board.json b/ports/samd/boards/ADAFRUIT_METRO_M4_EXPRESS/board.json
new file mode 100644
index 000000000..e0a256cf8
--- /dev/null
+++ b/ports/samd/boards/ADAFRUIT_METRO_M4_EXPRESS/board.json
@@ -0,0 +1,27 @@
+{
+ "deploy": [
+ "../deploy.md"
+ ],
+ "docs": "",
+ "features": [
+ "Micro USB",
+ "ADC",
+ "DAC",
+ "RGB LED",
+ "QSPI Flash",
+ "WiFi",
+ "BLE",
+ "JLink"
+ ],
+ "images": [
+ "metro_m4_express_airlift.jpg"
+ ],
+ "mcu": "samd51",
+ "variants": {
+ "wlan": "WLAN without SSL support"
+ },
+ "product": "Metro M4 Express Airlift",
+ "thumbnail": "",
+ "url": "https://www.adafruit.com/product/4000",
+ "vendor": "Adafruit"
+}
diff --git a/ports/samd/boards/ADAFRUIT_METRO_M4_EXPRESS/mpconfigboard.h b/ports/samd/boards/ADAFRUIT_METRO_M4_EXPRESS/mpconfigboard.h
new file mode 100644
index 000000000..7893cd706
--- /dev/null
+++ b/ports/samd/boards/ADAFRUIT_METRO_M4_EXPRESS/mpconfigboard.h
@@ -0,0 +1,30 @@
+#define MICROPY_HW_BOARD_NAME "Metro M4 Express Airlift"
+#define MICROPY_HW_MCU_NAME "SAMD51J19A"
+
+#define MICROPY_HW_XOSC32K (1)
+#define MICROPY_HW_QSPIFLASH GD25Q16C
+
+// defines for WLAN
+#define MICROPY_HW_WIFI_SPI_ID (2)
+#define MICROPY_HW_WIFI_SPI_BAUDRATE (8000000)
+
+#define MICROPY_HW_WIFI_SPI_SCK (13)
+#define MICROPY_HW_WIFI_SPI_MOSI (12)
+#define MICROPY_HW_WIFI_SPI_MISO (14)
+
+#define MICROPY_HW_NINA_ACK (36)
+#define MICROPY_HW_NINA_GPIO1 (15)
+#define MICROPY_HW_NINA_RESET (37)
+// #define MICROPY_HW_NINA_GPIO0 (33)
+
+// defines for BLE
+#define MICROPY_PY_BLUETOOTH_NINAW10 (1)
+
+#define MICROPY_HW_BLE_UART_ID (0)
+#define MICROPY_HW_BLE_UART_BAUDRATE (115200)
+
+#define MICROPY_HW_BLE_UART_TX (4)
+#define MICROPY_HW_BLE_UART_RX (7)
+
+#define MICROPY_HW_NINA_RTS (12)
+#define MICROPY_HW_NINA_CTS (36)
diff --git a/ports/samd/boards/ADAFRUIT_METRO_M4_EXPRESS/mpconfigboard.mk b/ports/samd/boards/ADAFRUIT_METRO_M4_EXPRESS/mpconfigboard.mk
new file mode 100644
index 000000000..238ca0055
--- /dev/null
+++ b/ports/samd/boards/ADAFRUIT_METRO_M4_EXPRESS/mpconfigboard.mk
@@ -0,0 +1,12 @@
+MCU_SERIES = SAMD51
+CMSIS_MCU = SAMD51J19A
+LD_FILES = boards/samd51x19a.ld sections.ld
+TEXT0 = 0x4000
+
+# MicroPython settings
+MICROPY_VFS_LFS1 ?= 1
+
+MICROPY_PY_NETWORK ?= 1
+MICROPY_PY_NETWORK_NINAW10 ?= 1
+
+BOARD_VARIANTS += "wlan"
diff --git a/ports/samd/boards/ADAFRUIT_METRO_M4_EXPRESS/pins.csv b/ports/samd/boards/ADAFRUIT_METRO_M4_EXPRESS/pins.csv
new file mode 100644
index 000000000..0bda76760
--- /dev/null
+++ b/ports/samd/boards/ADAFRUIT_METRO_M4_EXPRESS/pins.csv
@@ -0,0 +1,66 @@
+# 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
+PIN_PA05,A1
+PIN_PA06,A2
+PIN_PB00,A3
+PIN_PB08,A4
+PIN_PB09,A5
+PIN_PA03,AREF
+
+PIN_PA23,D0
+PIN_PA22,D1
+PIN_PB17,D2
+PIN_PB16,D3
+PIN_PB13,D4
+PIN_PB14,D5
+PIN_PB15,D6
+PIN_PB12,D7
+PIN_PA21,D8
+PIN_PA20,D9
+PIN_PA18,D10
+PIN_PA19,D11
+PIN_PA17,D12
+PIN_PA16,D13
+
+PIN_PB02,SDA
+PIN_PB03,SCL
+
+PIN_PA13,SCK
+PIN_PA12,MOSI
+PIN_PA14,MISO
+
+PIN_PB22,NEOPIXEL
+PIN_PB06,RXLED
+PIN_PB07,TXLED
+
+# Airlift
+PIN_PB05,ESP_RESET
+PIN_PB04,ESP_BUSY
+PIN_PA15,ESP_CS
+PIN_PB01,ESP_GPIO0
+PIN_PA07,ESP_RX
+PIN_PA04,ESP_TX
+PIN_PB23,ESP_RTS
+
+# QSPI flash
+PIN_PA08,FLASH_MOSI
+PIN_PA09,FLASH_MISO
+PIN_PA10,FLASH_WP
+PIN_PA11,FLASH_HOLD
+PIN_PB10,FLASH_SCK
+PIN_PB11,FLASH_CS
+
+# USB
+PIN_PA24,USB_DM
+PIN_PA25,USB_DP
+PIN_PA26,USB_SOF
+PIN_PA17,USB_HOSTEN
+
+# JLink
+PIN_PA30,SWCLK
+PIN_PA31,SWDIO
+PIN_PB30,SWO