mirror of
https://github.com/micropython/micropython.git
synced 2025-08-30 14:30:36 +02:00
rp2/boards/SPARKFUN_IOTREDBOARD_RP2350: Add support for IoT RedBoard.
Signed-off-by: Alex Brudner <alex.brudner@sparkfun.com> Signed-off-by: Malcolm McKellips <malcolm.mckellips@sparkfun.com>
This commit is contained in:
committed by
Damien George
parent
e75ffc3bcc
commit
9a070fee34
26
ports/rp2/boards/SPARKFUN_IOTREDBOARD_RP2350/board.json
Normal file
26
ports/rp2/boards/SPARKFUN_IOTREDBOARD_RP2350/board.json
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
{
|
||||||
|
"deploy": [
|
||||||
|
"../deploy.md"
|
||||||
|
],
|
||||||
|
"docs": "",
|
||||||
|
"features": [
|
||||||
|
"BLE",
|
||||||
|
"Dual-core",
|
||||||
|
"External Flash",
|
||||||
|
"USB-C",
|
||||||
|
"WiFi",
|
||||||
|
"External RAM",
|
||||||
|
"microSD",
|
||||||
|
"RGB LED",
|
||||||
|
"JST-SH",
|
||||||
|
"Battery Charging"
|
||||||
|
],
|
||||||
|
"images": [
|
||||||
|
"27708-IoT-RedBoard-RP2350-Feature.jpg"
|
||||||
|
],
|
||||||
|
"mcu": "rp2350",
|
||||||
|
"product": "SparkFun IoT RedBoard RP2350",
|
||||||
|
"thumbnail": "",
|
||||||
|
"url": "https://www.sparkfun.com/sparkfun-iot-redboard-rp2350.html",
|
||||||
|
"vendor": "SparkFun"
|
||||||
|
}
|
7
ports/rp2/boards/SPARKFUN_IOTREDBOARD_RP2350/manifest.py
Normal file
7
ports/rp2/boards/SPARKFUN_IOTREDBOARD_RP2350/manifest.py
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
include("$(PORT_DIR)/boards/manifest.py")
|
||||||
|
|
||||||
|
require("bundle-networking")
|
||||||
|
|
||||||
|
require("aioble")
|
||||||
|
|
||||||
|
require("sdcard")
|
@@ -0,0 +1,20 @@
|
|||||||
|
# cmake file for SparkFun IoT RedBoard RP2350
|
||||||
|
|
||||||
|
# TODO: DELETE THIS LINE WHEN SUBMODULED PICO-SDK INCLUDES THIS BOARD
|
||||||
|
set(PICO_BOARD_HEADER_DIRS ${MICROPY_PORT_DIR}/boards/${MICROPY_BOARD})
|
||||||
|
|
||||||
|
set(PICO_BOARD "sparkfun_iotredboard_rp2350")
|
||||||
|
set(PICO_PLATFORM "rp2350")
|
||||||
|
|
||||||
|
set(PICO_NUM_GPIOS 48)
|
||||||
|
|
||||||
|
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)
|
61
ports/rp2/boards/SPARKFUN_IOTREDBOARD_RP2350/mpconfigboard.h
Normal file
61
ports/rp2/boards/SPARKFUN_IOTREDBOARD_RP2350/mpconfigboard.h
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
// Board and hardware specific configuration
|
||||||
|
#define MICROPY_HW_BOARD_NAME "SparkFun IoT RedBoard RP2350"
|
||||||
|
#define MICROPY_HW_FLASH_STORAGE_BYTES (PICO_FLASH_SIZE_BYTES - 1536 * 1024)
|
||||||
|
|
||||||
|
// Enable networking.
|
||||||
|
#define MICROPY_PY_NETWORK 1
|
||||||
|
#define MICROPY_PY_NETWORK_HOSTNAME_DEFAULT "IoTRedBoardRP2350"
|
||||||
|
|
||||||
|
#define CYW43_USE_SPI (1)
|
||||||
|
#define CYW43_LWIP (1)
|
||||||
|
#define CYW43_GPIO (1)
|
||||||
|
#define CYW43_SPI_PIO (1)
|
||||||
|
|
||||||
|
// USB VID/PID
|
||||||
|
#define MICROPY_HW_USB_VID (0x1B4F)
|
||||||
|
#define MICROPY_HW_USB_PID (0x0047)
|
||||||
|
|
||||||
|
// UART0
|
||||||
|
#define MICROPY_HW_UART0_TX (0)
|
||||||
|
#define MICROPY_HW_UART0_RX (1)
|
||||||
|
#define MICROPY_HW_UART0_CTS (30)
|
||||||
|
#define MICROPY_HW_UART0_RTS (31)
|
||||||
|
|
||||||
|
// UART1
|
||||||
|
#define MICROPY_HW_UART1_TX (40)
|
||||||
|
#define MICROPY_HW_UART1_RX (41)
|
||||||
|
#define MICROPY_HW_UART1_CTS (42)
|
||||||
|
#define MICROPY_HW_UART1_RTS (43)
|
||||||
|
|
||||||
|
// I2C0
|
||||||
|
#define MICROPY_HW_I2C0_SCL (5)
|
||||||
|
#define MICROPY_HW_I2C0_SDA (4)
|
||||||
|
|
||||||
|
// I2C1
|
||||||
|
#define MICROPY_HW_I2C1_SCL (31)
|
||||||
|
#define MICROPY_HW_I2C1_SDA (30)
|
||||||
|
|
||||||
|
// SPI0
|
||||||
|
#define MICROPY_HW_SPI0_SCK (22)
|
||||||
|
#define MICROPY_HW_SPI0_MOSI (23)
|
||||||
|
#define MICROPY_HW_SPI0_MISO (20)
|
||||||
|
|
||||||
|
// SD Card/SPI1
|
||||||
|
#define MICROPY_HW_SPI1_SCK (10)
|
||||||
|
#define MICROPY_HW_SPI1_MOSI (11)
|
||||||
|
#define MICROPY_HW_SPI1_MISO (8)
|
||||||
|
|
||||||
|
// PSRAM
|
||||||
|
#define MICROPY_HW_PSRAM_CS_PIN (47)
|
||||||
|
#define MICROPY_HW_ENABLE_PSRAM (1)
|
||||||
|
|
||||||
|
// #include "enable_cyw43.h"
|
||||||
|
|
||||||
|
// For debugging mbedtls - also set
|
||||||
|
// Debug level (0-4) 1=warning, 2=info, 3=debug, 4=verbose
|
||||||
|
// #define MODUSSL_MBEDTLS_DEBUG_LEVEL 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)
|
@@ -0,0 +1 @@
|
|||||||
|
set(PICO_PLATFORM "rp2350")
|
@@ -0,0 +1 @@
|
|||||||
|
set(PICO_PLATFORM "rp2350-riscv")
|
70
ports/rp2/boards/SPARKFUN_IOTREDBOARD_RP2350/pins.csv
Normal file
70
ports/rp2/boards/SPARKFUN_IOTREDBOARD_RP2350/pins.csv
Normal file
@@ -0,0 +1,70 @@
|
|||||||
|
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
|
||||||
|
GP23,GPIO23
|
||||||
|
GP25,GPIO25
|
||||||
|
GP26,GPIO26
|
||||||
|
GP27,GPIO27
|
||||||
|
GP28,GPIO28
|
||||||
|
GP29,GPIO29
|
||||||
|
GP30,GPIO30
|
||||||
|
GP31,GPIO31
|
||||||
|
GP32,GPIO32
|
||||||
|
GP33,GPIO33
|
||||||
|
GP34,GPIO34
|
||||||
|
GP35,GPIO35
|
||||||
|
GP39,GPIO39
|
||||||
|
GP40,GPIO40
|
||||||
|
GP41,GPIO41
|
||||||
|
GP42,GPIO42
|
||||||
|
GP43,GPIO43
|
||||||
|
GP44,GPIO44
|
||||||
|
GP45,GPIO45
|
||||||
|
WL_GPIO0,EXT_GPIO0
|
||||||
|
WL_GPIO1,EXT_GPIO1
|
||||||
|
WL_GPIO2,EXT_GPIO2
|
||||||
|
WL_LED,EXT_GPIO0
|
||||||
|
SD_DET,GPIO2
|
||||||
|
RGB_LED,GPIO3
|
||||||
|
NEOPIXEL,GPIO3
|
||||||
|
B_ALRT,GPIO6
|
||||||
|
PERIPH_POWER,GPIO7
|
||||||
|
HSTX0,GPIO12
|
||||||
|
HSTX1,GPIO13
|
||||||
|
HSTX2,GPIO14
|
||||||
|
HSTX3,GPIO15
|
||||||
|
HSTX4,GPIO16
|
||||||
|
HSTX5,GPIO17
|
||||||
|
HSTX6,GPIO18
|
||||||
|
HSTX7,GPIO19
|
||||||
|
LED,GPIO25
|
||||||
|
STAT,GPIO25
|
||||||
|
SRC_5V,GPIO26
|
||||||
|
BATT_PWR,GPIO27
|
||||||
|
USER_SW,GPIO39
|
||||||
|
A0,GPIO40
|
||||||
|
A1,GPIO41
|
||||||
|
A2,GPIO42
|
||||||
|
A3,GPIO43
|
||||||
|
A4,GPIO44
|
||||||
|
A5,GPIO45
|
|
@@ -0,0 +1,183 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2024 Raspberry Pi (Trading) Ltd.
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: BSD-3-Clause
|
||||||
|
*/
|
||||||
|
|
||||||
|
// -----------------------------------------------------
|
||||||
|
// NOTE: THIS HEADER IS ALSO INCLUDED BY ASSEMBLER SO
|
||||||
|
// SHOULD ONLY CONSIST OF PREPROCESSOR DIRECTIVES
|
||||||
|
// -----------------------------------------------------
|
||||||
|
// Board definition for the SparkFun IoT RedBoard - RP2350
|
||||||
|
//
|
||||||
|
// This header may be included by other board headers as "boards/sparkfun_iotredboard_rp2350.h"
|
||||||
|
|
||||||
|
// pico_cmake_set PICO_PLATFORM=rp2350
|
||||||
|
// pico_cmake_set PICO_CYW43_SUPPORTED = 1
|
||||||
|
|
||||||
|
#ifndef _BOARDS_SPARKFUN_IOTREDBOARD_RP2350_H
|
||||||
|
#define _BOARDS_SPARKFUN_IOTREDBOARD_RP2350_H
|
||||||
|
|
||||||
|
// For board detection
|
||||||
|
#define SPARKFUN_IOTREDBOARD_RP2350
|
||||||
|
|
||||||
|
// --- RP2350 VARIANT ---
|
||||||
|
#define PICO_RP2350A 0 // 1 for RP2350A, 0 for RP2350B
|
||||||
|
|
||||||
|
// --- BOARD SPECIFIC ---
|
||||||
|
#define SPARKFUN_IOTREDBOARD_RP2350_USER_SW_PIN 39
|
||||||
|
#define SPARKFUN_IOTREDBOARD_RP2350_PSRAM_CS_PIN 47
|
||||||
|
|
||||||
|
|
||||||
|
// --- UART ---
|
||||||
|
#ifndef PICO_DEFAULT_UART
|
||||||
|
#define PICO_DEFAULT_UART 0
|
||||||
|
#endif
|
||||||
|
#ifndef PICO_DEFAULT_UART_TX_PIN
|
||||||
|
#define PICO_DEFAULT_UART_TX_PIN 0
|
||||||
|
#endif
|
||||||
|
#ifndef PICO_DEFAULT_UART_RX_PIN
|
||||||
|
#define PICO_DEFAULT_UART_RX_PIN 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// --- LED ---
|
||||||
|
#ifndef PICO_DEFAULT_LED_PIN
|
||||||
|
#define PICO_DEFAULT_LED_PIN 25
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef PICO_DEFAULT_WS2812_PIN
|
||||||
|
#define PICO_DEFAULT_WS2812_PIN 3
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// --- I2C --- Qwiic connector is on these pins
|
||||||
|
#ifndef PICO_DEFAULT_I2C
|
||||||
|
#define PICO_DEFAULT_I2C 0
|
||||||
|
#endif
|
||||||
|
#ifndef PICO_DEFAULT_I2C_SDA_PIN
|
||||||
|
#define PICO_DEFAULT_I2C_SDA_PIN 4
|
||||||
|
#endif
|
||||||
|
#ifndef PICO_DEFAULT_I2C_SCL_PIN
|
||||||
|
#define PICO_DEFAULT_I2C_SCL_PIN 5
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// --- SPI ---
|
||||||
|
#ifndef PICO_DEFAULT_SPI
|
||||||
|
#define PICO_DEFAULT_SPI 0
|
||||||
|
#endif
|
||||||
|
#ifndef PICO_DEFAULT_SPI_SCK_PIN
|
||||||
|
#define PICO_DEFAULT_SPI_SCK_PIN 22
|
||||||
|
#endif
|
||||||
|
#ifndef PICO_DEFAULT_SPI_TX_PIN
|
||||||
|
#define PICO_DEFAULT_SPI_TX_PIN 23
|
||||||
|
#endif
|
||||||
|
#ifndef PICO_DEFAULT_SPI_RX_PIN
|
||||||
|
#define PICO_DEFAULT_SPI_RX_PIN 20
|
||||||
|
#endif
|
||||||
|
#ifndef PICO_DEFAULT_SPI_CSN_PIN
|
||||||
|
#define PICO_DEFAULT_SPI_CSN_PIN 21
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// --- FLASH ---
|
||||||
|
|
||||||
|
#define PICO_BOOT_STAGE2_CHOOSE_W25Q080 1
|
||||||
|
|
||||||
|
#ifndef PICO_FLASH_SPI_CLKDIV
|
||||||
|
#define PICO_FLASH_SPI_CLKDIV 2
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// pico_cmake_set_default PICO_FLASH_SIZE_BYTES = (16 * 1024 * 1024)
|
||||||
|
#ifndef PICO_FLASH_SIZE_BYTES
|
||||||
|
#define PICO_FLASH_SIZE_BYTES (16 * 1024 * 1024)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// The IoT RedBoard has an SD Card.
|
||||||
|
#ifndef PICO_SD_CLK_PIN
|
||||||
|
#define PICO_SD_CLK_PIN 10
|
||||||
|
#endif
|
||||||
|
#ifndef PICO_SD_CMD_PIN
|
||||||
|
#define PICO_SD_CMD_PIN 11
|
||||||
|
#endif
|
||||||
|
#ifndef PICO_SD_DAT0_PIN
|
||||||
|
#define PICO_SD_DAT0_PIN 8
|
||||||
|
#endif
|
||||||
|
#ifndef PICO_SD_DAT3_PIN
|
||||||
|
#define PICO_SD_DAT3_PIN 9 // DAT3 of the SD card is the chip select pin
|
||||||
|
#endif
|
||||||
|
#ifndef PICO_SD_DAT_PIN_COUNT
|
||||||
|
#define PICO_SD_DAT_PIN_COUNT 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// The GPIO Pin used to monitor VSYS. Typically you would use this with ADC.
|
||||||
|
// There is an example in adc/read_vsys in pico-examples.
|
||||||
|
#ifndef PICO_VSYS_PIN
|
||||||
|
#define PICO_VSYS_PIN 46
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// pico_cmake_set_default PICO_RP2350_A2_SUPPORTED = 1
|
||||||
|
#ifndef PICO_RP2350_A2_SUPPORTED
|
||||||
|
#define PICO_RP2350_A2_SUPPORTED 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// Bootloader activity LED in double reset mode.
|
||||||
|
#ifndef PICO_BOOTSEL_VIA_DOUBLE_RESET_ACTIVITY_LED
|
||||||
|
#define PICO_BOOTSEL_VIA_DOUBLE_RESET_ACTIVITY_LED PICO_DEFAULT_LED_PIN
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// Bootloader activity LED in USB reset mode.
|
||||||
|
#ifndef PICO_STDIO_USB_RESET_BOOTSEL_ACTIVITY_LED
|
||||||
|
#define PICO_STDIO_USB_RESET_BOOTSEL_ACTIVITY_LED PICO_DEFAULT_LED_PIN
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// --- CYW43 ---
|
||||||
|
|
||||||
|
#ifndef CYW43_WL_GPIO_COUNT
|
||||||
|
#define CYW43_WL_GPIO_COUNT 3
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef CYW43_WL_GPIO_LED_PIN
|
||||||
|
#define CYW43_WL_GPIO_LED_PIN 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// If CYW43_WL_GPIO_VBUS_PIN is defined then a CYW43 GPIO has to be used to read VBUS.
|
||||||
|
// This can be passed to cyw43_arch_gpio_get to determine if the device is battery powered.
|
||||||
|
// PICO_VBUS_PIN and CYW43_WL_GPIO_VBUS_PIN should not both be defined.
|
||||||
|
#ifndef CYW43_WL_GPIO_VBUS_PIN
|
||||||
|
#define CYW43_WL_GPIO_VBUS_PIN 2
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// cyw43 SPI pins can't be changed at runtime
|
||||||
|
#ifndef CYW43_PIN_WL_DYNAMIC
|
||||||
|
#define CYW43_PIN_WL_DYNAMIC 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// gpio pin to power up the cyw43 chip
|
||||||
|
#ifndef CYW43_DEFAULT_PIN_WL_REG_ON
|
||||||
|
#define CYW43_DEFAULT_PIN_WL_REG_ON 24u
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// gpio pin for spi data out to the cyw43 chip
|
||||||
|
#ifndef CYW43_DEFAULT_PIN_WL_DATA_OUT
|
||||||
|
#define CYW43_DEFAULT_PIN_WL_DATA_OUT 38u
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// gpio pin for spi data in from the cyw43 chip
|
||||||
|
#ifndef CYW43_DEFAULT_PIN_WL_DATA_IN
|
||||||
|
#define CYW43_DEFAULT_PIN_WL_DATA_IN 38u
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// gpio (irq) pin for the irq line from the cyw43 chip
|
||||||
|
#ifndef CYW43_DEFAULT_PIN_WL_HOST_WAKE
|
||||||
|
#define CYW43_DEFAULT_PIN_WL_HOST_WAKE 38u
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// gpio pin for the spi clock line to the cyw43 chip
|
||||||
|
#ifndef CYW43_DEFAULT_PIN_WL_CLOCK
|
||||||
|
#define CYW43_DEFAULT_PIN_WL_CLOCK 37u
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// gpio pin for the spi chip select to the cyw43 chip
|
||||||
|
#ifndef CYW43_DEFAULT_PIN_WL_CS
|
||||||
|
#define CYW43_DEFAULT_PIN_WL_CS 36u
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif // _BOARDS_SPARKFUN_IOTREDBOARD_RP2350_H
|
Reference in New Issue
Block a user