summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Harper <peter.harper@raspberrypi.com>2024-11-22 17:19:26 +0000
committerDamien George <damien@micropython.org>2024-12-19 16:54:39 +1100
commita70a90ccfc6584f51f39a7c6bf43f19695f7da51 (patch)
tree693a956ecde87d3ecaa840494e29454c2da757b4
parent1b611dab039c063165fe58c476c2ab9e97804010 (diff)
rp2/boards/RPI_PICO2_W: Add RISCV variant for Pico 2 W.
Build with: make BOARD=RPI_PICO2_W BOARD_VARIANT=RISCV Signed-off-by: Peter Harper <peter.harper@raspberrypi.com>
-rw-r--r--ports/rp2/CMakeLists.txt1
-rw-r--r--ports/rp2/boards/RPI_PICO2_W/mpconfigvariant_RISCV.cmake1
-rw-r--r--ports/rp2/mpnetworkport.c4
3 files changed, 5 insertions, 1 deletions
diff --git a/ports/rp2/CMakeLists.txt b/ports/rp2/CMakeLists.txt
index 4c85b8344..8a4092529 100644
--- a/ports/rp2/CMakeLists.txt
+++ b/ports/rp2/CMakeLists.txt
@@ -407,7 +407,6 @@ if (MICROPY_PY_NETWORK_CYW43)
target_link_libraries(${MICROPY_TARGET}
cyw43_driver_picow
- cmsis_core
)
target_include_directories(${MICROPY_TARGET} PRIVATE
${MICROPY_DIR}/lib/cyw43-driver/
diff --git a/ports/rp2/boards/RPI_PICO2_W/mpconfigvariant_RISCV.cmake b/ports/rp2/boards/RPI_PICO2_W/mpconfigvariant_RISCV.cmake
new file mode 100644
index 000000000..65a97fc33
--- /dev/null
+++ b/ports/rp2/boards/RPI_PICO2_W/mpconfigvariant_RISCV.cmake
@@ -0,0 +1 @@
+set(PICO_PLATFORM "rp2350-riscv")
diff --git a/ports/rp2/mpnetworkport.c b/ports/rp2/mpnetworkport.c
index fcc60b3fe..af2cabb3b 100644
--- a/ports/rp2/mpnetworkport.c
+++ b/ports/rp2/mpnetworkport.c
@@ -44,6 +44,7 @@ static soft_timer_entry_t mp_network_soft_timer;
#include "lib/cyw43-driver/src/cyw43_stats.h"
#include "hardware/irq.h"
+#if !defined(__riscv)
#if PICO_RP2040
#include "RP2040.h" // cmsis, for NVIC_SetPriority and PendSV_IRQn
#elif PICO_RP2350
@@ -51,6 +52,7 @@ static soft_timer_entry_t mp_network_soft_timer;
#else
#error Unknown processor
#endif
+#endif
#define CYW43_IRQ_LEVEL GPIO_IRQ_LEVEL_HIGH
#define CYW43_SHARED_IRQ_HANDLER_PRIORITY PICO_SHARED_IRQ_HANDLER_HIGHEST_ORDER_PRIORITY
@@ -74,7 +76,9 @@ static void gpio_irq_handler(void) {
void cyw43_irq_init(void) {
gpio_add_raw_irq_handler_with_order_priority(CYW43_PIN_WL_HOST_WAKE, gpio_irq_handler, CYW43_SHARED_IRQ_HANDLER_PRIORITY);
irq_set_enabled(IO_IRQ_BANK0, true);
+ #if !defined(__riscv)
NVIC_SetPriority(PendSV_IRQn, IRQ_PRI_PENDSV);
+ #endif
}
void cyw43_post_poll_hook(void) {