summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ports/rp2/boards/SPARKFUN_THINGPLUS_RP2350/board.json27
-rw-r--r--ports/rp2/boards/SPARKFUN_THINGPLUS_RP2350/manifest.py6
-rw-r--r--ports/rp2/boards/SPARKFUN_THINGPLUS_RP2350/mpconfigboard.cmake15
-rw-r--r--ports/rp2/boards/SPARKFUN_THINGPLUS_RP2350/mpconfigboard.h48
-rw-r--r--ports/rp2/boards/SPARKFUN_THINGPLUS_RP2350/pins.csv33
5 files changed, 129 insertions, 0 deletions
diff --git a/ports/rp2/boards/SPARKFUN_THINGPLUS_RP2350/board.json b/ports/rp2/boards/SPARKFUN_THINGPLUS_RP2350/board.json
new file mode 100644
index 000000000..09bbefe04
--- /dev/null
+++ b/ports/rp2/boards/SPARKFUN_THINGPLUS_RP2350/board.json
@@ -0,0 +1,27 @@
+{
+ "deploy": [
+ "../deploy.md"
+ ],
+ "docs": "",
+ "features": [
+ "BLE",
+ "Battery Charging",
+ "Dual-core",
+ "External Flash",
+ "External RAM",
+ "Feather",
+ "JST-SH",
+ "RGB LED",
+ "USB-C",
+ "WiFi",
+ "microSD"
+ ],
+ "images": [
+ "25134-Thing-Plus-RP2350-Feature.jpg"
+ ],
+ "mcu": "rp2350",
+ "product": "Thing Plus RP2350",
+ "thumbnail": "",
+ "url": "https://www.sparkfun.com/products/25134",
+ "vendor": "Sparkfun"
+}
diff --git a/ports/rp2/boards/SPARKFUN_THINGPLUS_RP2350/manifest.py b/ports/rp2/boards/SPARKFUN_THINGPLUS_RP2350/manifest.py
new file mode 100644
index 000000000..4e38f09cd
--- /dev/null
+++ b/ports/rp2/boards/SPARKFUN_THINGPLUS_RP2350/manifest.py
@@ -0,0 +1,6 @@
+include("$(PORT_DIR)/boards/manifest.py")
+
+require("bundle-networking")
+
+# Bluetooth
+require("aioble")
diff --git a/ports/rp2/boards/SPARKFUN_THINGPLUS_RP2350/mpconfigboard.cmake b/ports/rp2/boards/SPARKFUN_THINGPLUS_RP2350/mpconfigboard.cmake
new file mode 100644
index 000000000..12b51f32a
--- /dev/null
+++ b/ports/rp2/boards/SPARKFUN_THINGPLUS_RP2350/mpconfigboard.cmake
@@ -0,0 +1,15 @@
+# cmake file for SparkFun Thing Plus RP2350
+
+set(PICO_BOARD "sparkfun_thingplus_rp2350")
+set(PICO_PLATFORM "rp2350")
+
+set(MICROPY_PY_LWIP ON)
+set(MICROPY_PY_NETWORK_CYW43 ON)
+
+# Bluetooth
+set(MICROPY_PY_BLUETOOTH ON)
+set(MICROPY_BLUETOOTH_BTSTACK ON)
+set(MICROPY_PY_BLUETOOTH_CYW43 ON)
+
+# Board specific version of the frozen manifest
+set(MICROPY_FROZEN_MANIFEST ${MICROPY_BOARD_DIR}/manifest.py)
diff --git a/ports/rp2/boards/SPARKFUN_THINGPLUS_RP2350/mpconfigboard.h b/ports/rp2/boards/SPARKFUN_THINGPLUS_RP2350/mpconfigboard.h
new file mode 100644
index 000000000..f86faa761
--- /dev/null
+++ b/ports/rp2/boards/SPARKFUN_THINGPLUS_RP2350/mpconfigboard.h
@@ -0,0 +1,48 @@
+// Board and hardware specific configuration
+#define MICROPY_HW_BOARD_NAME "SparkFun Thing Plus RP2350"
+#define MICROPY_HW_FLASH_STORAGE_BYTES (14 * 1024 * 1024)
+
+// Enable networking.
+#define MICROPY_PY_NETWORK 1
+#define MICROPY_PY_NETWORK_HOSTNAME_DEFAULT "ThingPlusRP2350"
+
+// CYW43 driver configuration.
+#define CYW43_USE_SPI (1)
+#define CYW43_LWIP (1)
+#define CYW43_GPIO (1)
+#define CYW43_SPI_PIO (1)
+
+#define MICROPY_HW_PIN_EXT_COUNT CYW43_WL_GPIO_COUNT
+
+int mp_hal_is_pin_reserved(int n);
+#define MICROPY_HW_PIN_RESERVED(i) mp_hal_is_pin_reserved(i)
+
+#define MICROPY_HW_USB_VID (0x1B4F)
+#define MICROPY_HW_USB_PID (0x0038)
+
+#define MICROPY_HW_I2C0_SDA (20)
+#define MICROPY_HW_I2C0_SCL (21)
+
+#define MICROPY_HW_I2C1_SDA (6)
+#define MICROPY_HW_I2C1_SCL (7)
+
+#define MICROPY_HW_SPI0_SCK (2)
+#define MICROPY_HW_SPI0_MOSI (3)
+#define MICROPY_HW_SPI0_MISO (4)
+
+#define MICROPY_HW_SPI1_SCK (26)
+#define MICROPY_HW_SPI1_MOSI (27)
+#define MICROPY_HW_SPI1_MISO (28)
+
+#define MICROPY_HW_UART0_TX (0)
+#define MICROPY_HW_UART0_RX (1)
+#define MICROPY_HW_UART0_CTS (18)
+#define MICROPY_HW_UART0_RTS (19)
+
+#define MICROPY_HW_UART1_TX (4)
+#define MICROPY_HW_UART1_RX (5)
+#define MICROPY_HW_UART1_CTS (6)
+#define MICROPY_HW_UART1_RTS (7)
+
+#define MICROPY_HW_PSRAM_CS_PIN (8)
+#define MICROPY_HW_ENABLE_PSRAM (1)
diff --git a/ports/rp2/boards/SPARKFUN_THINGPLUS_RP2350/pins.csv b/ports/rp2/boards/SPARKFUN_THINGPLUS_RP2350/pins.csv
new file mode 100644
index 000000000..d11ab42cd
--- /dev/null
+++ b/ports/rp2/boards/SPARKFUN_THINGPLUS_RP2350/pins.csv
@@ -0,0 +1,33 @@
+GP0,GPIO0
+GP1,GPIO1
+GP2,GPIO2
+GP3,GPIO3
+GP4,GPIO4
+GP5,GPIO5
+GP6,GPIO6
+GP7,GPIO7
+GP8,GPIO8
+GP9,GPIO9
+GP10,GPIO10
+GP11,GPIO11
+GP12,GPIO12
+GP13,GPIO13
+GP14,GPIO14
+GP15,GPIO15
+GP16,GPIO16
+GP17,GPIO17
+GP18,GPIO18
+GP19,GPIO19
+GP20,GPIO20
+GP21,GPIO21
+GP22,GPIO22
+GP26,GPIO26
+GP27,GPIO27
+GP28,GPIO28
+WL_GPIO0,EXT_GPIO0
+WL_GPIO1,EXT_GPIO1
+WL_GPIO2,EXT_GPIO2
+LED,EXT_GPIO0
+LED_RGB,GPIO14
+RGB_LED,GPIO14
+NEOPIXEL,GPIO14