diff --git a/ports/rp2/boards/DUALMCU_RP2040/README.md b/ports/rp2/boards/DUALMCU_RP2040/README.md new file mode 100644 index 0000000000000..fe74e0a7d30a0 --- /dev/null +++ b/ports/rp2/boards/DUALMCU_RP2040/README.md @@ -0,0 +1,19 @@ +# UNIT Electronics DualMCU RP2040 + ESP32 + +Board definition for the RP2040 side of the DualMCU board. + +## Default buses + +- LED: GPIO25 +- UART0: TX=GPIO0, RX=GPIO1 +- UART1: TX=GPIO8, RX=GPIO9 +- I2C0: SDA=GPIO12, SCL=GPIO13 +- SPI0: SCK=GPIO18, MOSI=GPIO19, MISO=GPIO20, CS=GPIO21 + +## Build + +```bash +make -C mpy-cross +make -C ports/rp2 BOARD=DUALMCU_RP2040 submodules +make -C ports/rp2 BOARD=DUALMCU_RP2040 +``` diff --git a/ports/rp2/boards/DUALMCU_RP2040/board.json b/ports/rp2/boards/DUALMCU_RP2040/board.json new file mode 100644 index 0000000000000..2d6ec36454eda --- /dev/null +++ b/ports/rp2/boards/DUALMCU_RP2040/board.json @@ -0,0 +1,19 @@ +{ + "deploy": [ + "../deploy.md" + ], + "docs": "", + "features": [ + "Dual-core", + "External Flash", + "USB" + ], + "images": [ + "https://uelectronics.com/wp-content/uploads/2023/03/AR3578-UNIT-DualMCU-ESP32-RP2040-6.jpg" + ], + "mcu": "rp2040", + "product": "DualMCU RP2040 + ESP32", + "thumbnail": "", + "url": "https://uelectronics.com/producto/unit-dualmcu-esp32-rp2040-tarjeta-de-desarrollo/", + "vendor": "UNIT Electronics" +} diff --git a/ports/rp2/boards/DUALMCU_RP2040/mpconfigboard.cmake b/ports/rp2/boards/DUALMCU_RP2040/mpconfigboard.cmake new file mode 100644 index 0000000000000..6be83cb4ee27c --- /dev/null +++ b/ports/rp2/boards/DUALMCU_RP2040/mpconfigboard.cmake @@ -0,0 +1,3 @@ +# cmake file for UNIT Electronics DualMCU RP2040 + ESP32. +set(PICO_BOARD "pico") +set(PICO_PLATFORM "rp2040") diff --git a/ports/rp2/boards/DUALMCU_RP2040/mpconfigboard.h b/ports/rp2/boards/DUALMCU_RP2040/mpconfigboard.h new file mode 100644 index 0000000000000..dd5aec482ec7f --- /dev/null +++ b/ports/rp2/boards/DUALMCU_RP2040/mpconfigboard.h @@ -0,0 +1,25 @@ +// Board config for UNIT Electronics DualMCU RP2040 + ESP32. + +// Board and hardware specific configuration +#define MICROPY_HW_BOARD_NAME "DualMCU RP2040" +#define MICROPY_HW_ENABLE_UART_REPL (1) + +// UART defaults from board pinout. +#define MICROPY_HW_UART0_TX (0) +#define MICROPY_HW_UART0_RX (1) +#define MICROPY_HW_UART0_CTS (-1) +#define MICROPY_HW_UART0_RTS (-1) + +#define MICROPY_HW_UART1_TX (8) +#define MICROPY_HW_UART1_RX (9) +#define MICROPY_HW_UART1_CTS (-1) +#define MICROPY_HW_UART1_RTS (-1) + +// I2C0 defaults from board pinout. +#define MICROPY_HW_I2C0_SDA (12) +#define MICROPY_HW_I2C0_SCL (13) + +// SPI0 defaults from board pinout. +#define MICROPY_HW_SPI0_SCK (18) +#define MICROPY_HW_SPI0_MOSI (19) +#define MICROPY_HW_SPI0_MISO (20) diff --git a/ports/rp2/boards/DUALMCU_RP2040/pins.csv b/ports/rp2/boards/DUALMCU_RP2040/pins.csv new file mode 100644 index 0000000000000..8de04437f11c6 --- /dev/null +++ b/ports/rp2/boards/DUALMCU_RP2040/pins.csv @@ -0,0 +1,29 @@ +TX0,GPIO0 +RX0,GPIO1 +IO2,GPIO2 +IO3,GPIO3 +CIPO,GPIO4 +IO6,GPIO6 +COPI,GPIO7 +TX1,GPIO8 +RX1,GPIO9 +IO10,GPIO10 +IO11,GPIO11 +IO12,GPIO12 +IO13,GPIO13 +IO14,GPIO14 +IO15,GPIO15 +SCK,GPIO18 +MOSI,GPIO19 +MISO,GPIO20 +CS,GPIO21 +IO22,GPIO22 +IO23,GPIO23 +IO25,GPIO25 +A0,GPIO26 +A1,GPIO27 +A2,GPIO28 +A3,GPIO29 +SDA,GPIO12 +SCL,GPIO13 +LED,GPIO25