Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add board Seeed Indicator RP2040 #1375

Merged
merged 7 commits into from
Apr 21, 2023
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ Read the [Contributing Guide](https://github.com/earlephilhower/arduino-pico/blo
* nullbits Bit-C PRO
* Pimoroni PGA2040
* Seeed XIAO RP2040
* Seeed Indicator RP2040
* Solder Party RP2040 Stamp
* SparkFun ProMicro RP2040
* SparkFun Thing Plus RP2040
Expand Down
198 changes: 198 additions & 0 deletions boards.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10067,6 +10067,204 @@ upesy_rp2040_devkit.menu.uploadmethod.picodebug.upload.maximum_data_size=245760
upesy_rp2040_devkit.menu.uploadmethod.picodebug.upload.tool=picodebug
upesy_rp2040_devkit.menu.uploadmethod.picodebug.upload.tool.default=picodebug

# -----------------------------------
# Seeed INDICATOR RP2040
# -----------------------------------
seeed_indicator_rp2040.name=Seeed INDICATOR RP2040
seeed_indicator_rp2040.vid.0=0x2886
seeed_indicator_rp2040.pid.0=0x0050
seeed_indicator_rp2040.vid.1=0x2886
seeed_indicator_rp2040.pid.1=0x0150
seeed_indicator_rp2040.vid.2=0x2886
seeed_indicator_rp2040.pid.2=0x4050
seeed_indicator_rp2040.vid.3=0x2886
seeed_indicator_rp2040.pid.3=0x4150
seeed_indicator_rp2040.vid.4=0x2886
seeed_indicator_rp2040.pid.4=0x8050
seeed_indicator_rp2040.vid.5=0x2886
seeed_indicator_rp2040.pid.5=0x8150
seeed_indicator_rp2040.vid.6=0x2886
seeed_indicator_rp2040.pid.6=0xc050
seeed_indicator_rp2040.vid.7=0x2886
seeed_indicator_rp2040.pid.7=0xc150
seeed_indicator_rp2040.build.usbvid=-DUSBD_VID=0x2886
seeed_indicator_rp2040.build.usbpid=-DUSBD_PID=0x0050
seeed_indicator_rp2040.build.usbpwr=-DUSBD_MAX_POWER_MA=250
seeed_indicator_rp2040.build.board=SEEED_INDICATOR_RP2040
seeed_indicator_rp2040.build.mcu=cortex-m0plus
seeed_indicator_rp2040.build.variant=seeed_indicator_rp2040
seeed_indicator_rp2040.upload.maximum_size=2097152
seeed_indicator_rp2040.upload.wait_for_upload_port=true
seeed_indicator_rp2040.upload.erase_cmd=
seeed_indicator_rp2040.serial.disableDTR=false
seeed_indicator_rp2040.serial.disableRTS=false
seeed_indicator_rp2040.build.f_cpu=125000000
seeed_indicator_rp2040.build.led=
seeed_indicator_rp2040.build.core=rp2040
seeed_indicator_rp2040.build.ldscript=memmap_default.ld
seeed_indicator_rp2040.build.boot2=boot2_w25q080_2_padded_checksum
seeed_indicator_rp2040.build.usb_manufacturer="Seeed"
seeed_indicator_rp2040.build.usb_product="INDICATOR RP2040"
seeed_indicator_rp2040.menu.flash.2097152_0=2MB (no FS)
seeed_indicator_rp2040.menu.flash.2097152_0.upload.maximum_size=2093056
seeed_indicator_rp2040.menu.flash.2097152_0.build.flash_length=2093056
seeed_indicator_rp2040.menu.flash.2097152_0.build.eeprom_start=270528512
seeed_indicator_rp2040.menu.flash.2097152_0.build.fs_start=270528512
seeed_indicator_rp2040.menu.flash.2097152_0.build.fs_end=270528512
seeed_indicator_rp2040.menu.flash.2097152_65536=2MB (Sketch: 1984KB, FS: 64KB)
seeed_indicator_rp2040.menu.flash.2097152_65536.upload.maximum_size=2027520
seeed_indicator_rp2040.menu.flash.2097152_65536.build.flash_length=2027520
seeed_indicator_rp2040.menu.flash.2097152_65536.build.eeprom_start=270528512
seeed_indicator_rp2040.menu.flash.2097152_65536.build.fs_start=270462976
seeed_indicator_rp2040.menu.flash.2097152_65536.build.fs_end=270528512
seeed_indicator_rp2040.menu.flash.2097152_131072=2MB (Sketch: 1920KB, FS: 128KB)
seeed_indicator_rp2040.menu.flash.2097152_131072.upload.maximum_size=1961984
seeed_indicator_rp2040.menu.flash.2097152_131072.build.flash_length=1961984
seeed_indicator_rp2040.menu.flash.2097152_131072.build.eeprom_start=270528512
seeed_indicator_rp2040.menu.flash.2097152_131072.build.fs_start=270397440
seeed_indicator_rp2040.menu.flash.2097152_131072.build.fs_end=270528512
seeed_indicator_rp2040.menu.flash.2097152_262144=2MB (Sketch: 1792KB, FS: 256KB)
seeed_indicator_rp2040.menu.flash.2097152_262144.upload.maximum_size=1830912
seeed_indicator_rp2040.menu.flash.2097152_262144.build.flash_length=1830912
seeed_indicator_rp2040.menu.flash.2097152_262144.build.eeprom_start=270528512
seeed_indicator_rp2040.menu.flash.2097152_262144.build.fs_start=270266368
seeed_indicator_rp2040.menu.flash.2097152_262144.build.fs_end=270528512
seeed_indicator_rp2040.menu.flash.2097152_524288=2MB (Sketch: 1536KB, FS: 512KB)
seeed_indicator_rp2040.menu.flash.2097152_524288.upload.maximum_size=1568768
seeed_indicator_rp2040.menu.flash.2097152_524288.build.flash_length=1568768
seeed_indicator_rp2040.menu.flash.2097152_524288.build.eeprom_start=270528512
seeed_indicator_rp2040.menu.flash.2097152_524288.build.fs_start=270004224
seeed_indicator_rp2040.menu.flash.2097152_524288.build.fs_end=270528512
seeed_indicator_rp2040.menu.flash.2097152_1048576=2MB (Sketch: 1MB, FS: 1MB)
seeed_indicator_rp2040.menu.flash.2097152_1048576.upload.maximum_size=1044480
seeed_indicator_rp2040.menu.flash.2097152_1048576.build.flash_length=1044480
seeed_indicator_rp2040.menu.flash.2097152_1048576.build.eeprom_start=270528512
seeed_indicator_rp2040.menu.flash.2097152_1048576.build.fs_start=269479936
seeed_indicator_rp2040.menu.flash.2097152_1048576.build.fs_end=270528512
seeed_indicator_rp2040.menu.freq.133=133 MHz
seeed_indicator_rp2040.menu.freq.133.build.f_cpu=133000000L
seeed_indicator_rp2040.menu.freq.50=50 MHz
seeed_indicator_rp2040.menu.freq.50.build.f_cpu=50000000L
seeed_indicator_rp2040.menu.freq.100=100 MHz
seeed_indicator_rp2040.menu.freq.100.build.f_cpu=100000000L
seeed_indicator_rp2040.menu.freq.120=120 MHz
seeed_indicator_rp2040.menu.freq.120.build.f_cpu=120000000L
seeed_indicator_rp2040.menu.freq.125=125 MHz
seeed_indicator_rp2040.menu.freq.125.build.f_cpu=125000000L
seeed_indicator_rp2040.menu.freq.150=150 MHz (Overclock)
seeed_indicator_rp2040.menu.freq.150.build.f_cpu=150000000L
seeed_indicator_rp2040.menu.freq.175=175 MHz (Overclock)
seeed_indicator_rp2040.menu.freq.175.build.f_cpu=175000000L
seeed_indicator_rp2040.menu.freq.200=200 MHz (Overclock)
seeed_indicator_rp2040.menu.freq.200.build.f_cpu=200000000L
seeed_indicator_rp2040.menu.freq.225=225 MHz (Overclock)
seeed_indicator_rp2040.menu.freq.225.build.f_cpu=225000000L
seeed_indicator_rp2040.menu.freq.240=240 MHz (Overclock)
seeed_indicator_rp2040.menu.freq.240.build.f_cpu=240000000L
seeed_indicator_rp2040.menu.freq.250=250 MHz (Overclock)
seeed_indicator_rp2040.menu.freq.250.build.f_cpu=250000000L
seeed_indicator_rp2040.menu.freq.275=275 MHz (Overclock)
seeed_indicator_rp2040.menu.freq.275.build.f_cpu=275000000L
seeed_indicator_rp2040.menu.freq.300=300 MHz (Overclock)
seeed_indicator_rp2040.menu.freq.300.build.f_cpu=300000000L
seeed_indicator_rp2040.menu.opt.Small=Small (-Os) (standard)
seeed_indicator_rp2040.menu.opt.Small.build.flags.optimize=-Os
seeed_indicator_rp2040.menu.opt.Optimize=Optimize (-O)
seeed_indicator_rp2040.menu.opt.Optimize.build.flags.optimize=-O
seeed_indicator_rp2040.menu.opt.Optimize2=Optimize More (-O2)
seeed_indicator_rp2040.menu.opt.Optimize2.build.flags.optimize=-O2
seeed_indicator_rp2040.menu.opt.Optimize3=Optimize Even More (-O3)
seeed_indicator_rp2040.menu.opt.Optimize3.build.flags.optimize=-O3
seeed_indicator_rp2040.menu.opt.Fast=Fast (-Ofast) (maybe slower)
seeed_indicator_rp2040.menu.opt.Fast.build.flags.optimize=-Ofast
seeed_indicator_rp2040.menu.opt.Debug=Debug (-Og)
seeed_indicator_rp2040.menu.opt.Debug.build.flags.optimize=-Og
seeed_indicator_rp2040.menu.rtti.Disabled=Disabled
seeed_indicator_rp2040.menu.rtti.Disabled.build.flags.rtti=-fno-rtti
seeed_indicator_rp2040.menu.rtti.Enabled=Enabled
seeed_indicator_rp2040.menu.rtti.Enabled.build.flags.rtti=
seeed_indicator_rp2040.menu.stackprotect.Disabled=Disabled
seeed_indicator_rp2040.menu.stackprotect.Disabled.build.flags.stackprotect=
seeed_indicator_rp2040.menu.stackprotect.Enabled=Enabled
seeed_indicator_rp2040.menu.stackprotect.Enabled.build.flags.stackprotect=-fstack-protector
seeed_indicator_rp2040.menu.exceptions.Disabled=Disabled
seeed_indicator_rp2040.menu.exceptions.Disabled.build.flags.exceptions=-fno-exceptions
seeed_indicator_rp2040.menu.exceptions.Disabled.build.flags.libstdcpp=-lstdc++
seeed_indicator_rp2040.menu.exceptions.Enabled=Enabled
seeed_indicator_rp2040.menu.exceptions.Enabled.build.flags.exceptions=-fexceptions
seeed_indicator_rp2040.menu.exceptions.Enabled.build.flags.libstdcpp=-lstdc++-exc
seeed_indicator_rp2040.menu.dbgport.Disabled=Disabled
seeed_indicator_rp2040.menu.dbgport.Disabled.build.debug_port=
seeed_indicator_rp2040.menu.dbgport.Serial=Serial
seeed_indicator_rp2040.menu.dbgport.Serial.build.debug_port=-DDEBUG_RP2040_PORT=Serial
seeed_indicator_rp2040.menu.dbgport.Serial1=Serial1
seeed_indicator_rp2040.menu.dbgport.Serial1.build.debug_port=-DDEBUG_RP2040_PORT=Serial1
seeed_indicator_rp2040.menu.dbgport.Serial2=Serial2
seeed_indicator_rp2040.menu.dbgport.Serial2.build.debug_port=-DDEBUG_RP2040_PORT=Serial2
seeed_indicator_rp2040.menu.dbglvl.None=None
seeed_indicator_rp2040.menu.dbglvl.None.build.debug_level=
seeed_indicator_rp2040.menu.dbglvl.Core=Core
seeed_indicator_rp2040.menu.dbglvl.Core.build.debug_level=-DDEBUG_RP2040_CORE
seeed_indicator_rp2040.menu.dbglvl.SPI=SPI
seeed_indicator_rp2040.menu.dbglvl.SPI.build.debug_level=-DDEBUG_RP2040_SPI
seeed_indicator_rp2040.menu.dbglvl.Wire=Wire
seeed_indicator_rp2040.menu.dbglvl.Wire.build.debug_level=-DDEBUG_RP2040_WIRE
seeed_indicator_rp2040.menu.dbglvl.All=All
seeed_indicator_rp2040.menu.dbglvl.All.build.debug_level=-DDEBUG_RP2040_WIRE -DDEBUG_RP2040_SPI -DDEBUG_RP2040_CORE
seeed_indicator_rp2040.menu.dbglvl.NDEBUG=NDEBUG
seeed_indicator_rp2040.menu.dbglvl.NDEBUG.build.debug_level=-DNDEBUG
seeed_indicator_rp2040.menu.usbstack.picosdk=Pico SDK
seeed_indicator_rp2040.menu.usbstack.picosdk.build.usbstack_flags=
seeed_indicator_rp2040.menu.usbstack.tinyusb=Adafruit TinyUSB
seeed_indicator_rp2040.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
seeed_indicator_rp2040.menu.usbstack.nousb=No USB
seeed_indicator_rp2040.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
seeed_indicator_rp2040.menu.ipbtstack.ipv4only=IPv4 Only
seeed_indicator_rp2040.menu.ipbtstack.ipv4only.build.libpicow=libpicow-noipv6-nobtc-noble.a
seeed_indicator_rp2040.menu.ipbtstack.ipv4only.build.libpicowdefs=-DLWIP_IPV6=0 -DLWIP_IPV4=1
seeed_indicator_rp2040.menu.ipbtstack.ipv4ipv6=IPv4 + IPv6
seeed_indicator_rp2040.menu.ipbtstack.ipv4ipv6.build.libpicow=libpicow-ipv6-nobtc-noble.a
seeed_indicator_rp2040.menu.ipbtstack.ipv4ipv6.build.libpicowdefs=-DLWIP_IPV6=1 -DLWIP_IPV4=1
seeed_indicator_rp2040.menu.ipbtstack.ipv4btcble=IPv4 + Bluetooth
seeed_indicator_rp2040.menu.ipbtstack.ipv4btcble.build.libpicow=libpicow-noipv6-btc-ble.a
seeed_indicator_rp2040.menu.ipbtstack.ipv4btcble.build.libpicowdefs=-DLWIP_IPV6=0 -DLWIP_IPV4=1 -DENABLE_CLASSIC=1 -DENABLE_BLE=1
seeed_indicator_rp2040.menu.ipbtstack.ipv4ipv6btcble=IPv4 + IPv6 + Bluetooth
seeed_indicator_rp2040.menu.ipbtstack.ipv4ipv6btcble.build.libpicow=libpicow-ipv6-btc-ble.a
seeed_indicator_rp2040.menu.ipbtstack.ipv4ipv6btcble.build.libpicowdefs=-DLWIP_IPV6=1 -DLWIP_IPV4=1 -DENABLE_CLASSIC=1 -DENABLE_BLE=1
seeed_indicator_rp2040.menu.uploadmethod.default=Default (UF2)
seeed_indicator_rp2040.menu.uploadmethod.default.build.ram_length=256k
seeed_indicator_rp2040.menu.uploadmethod.default.build.debugscript=picoprobe.tcl
seeed_indicator_rp2040.menu.uploadmethod.default.upload.maximum_data_size=262144
seeed_indicator_rp2040.menu.uploadmethod.default.upload.tool=uf2conv
seeed_indicator_rp2040.menu.uploadmethod.default.upload.tool.default=uf2conv
seeed_indicator_rp2040.menu.uploadmethod.default.upload.tool.network=uf2conv-network
seeed_indicator_rp2040.menu.uploadmethod.picotool=Picotool
seeed_indicator_rp2040.menu.uploadmethod.picotool.build.ram_length=256k
seeed_indicator_rp2040.menu.uploadmethod.picotool.build.debugscript=picoprobe.tcl
seeed_indicator_rp2040.menu.uploadmethod.picotool.build.picodebugflags=-DENABLE_PICOTOOL_USB
seeed_indicator_rp2040.menu.uploadmethod.picotool.upload.maximum_data_size=262144
seeed_indicator_rp2040.menu.uploadmethod.picotool.upload.tool=picotool
seeed_indicator_rp2040.menu.uploadmethod.picotool.upload.tool.default=picotool
seeed_indicator_rp2040.menu.uploadmethod.picoprobe=Picoprobe
seeed_indicator_rp2040.menu.uploadmethod.picoprobe.build.ram_length=256k
seeed_indicator_rp2040.menu.uploadmethod.picoprobe.build.debugscript=picoprobe.tcl
seeed_indicator_rp2040.menu.uploadmethod.picoprobe.upload.maximum_data_size=262144
seeed_indicator_rp2040.menu.uploadmethod.picoprobe.upload.tool=picoprobe
seeed_indicator_rp2040.menu.uploadmethod.picoprobe.upload.tool.default=picoprobe
seeed_indicator_rp2040.menu.uploadmethod.picoprobe_cmsis_dap=Picoprobe (CMSIS-DAP)
seeed_indicator_rp2040.menu.uploadmethod.picoprobe_cmsis_dap.build.ram_length=256k
seeed_indicator_rp2040.menu.uploadmethod.picoprobe_cmsis_dap.build.debugscript=picoprobe_cmsis_dap.tcl
seeed_indicator_rp2040.menu.uploadmethod.picoprobe_cmsis_dap.upload.maximum_data_size=262144
seeed_indicator_rp2040.menu.uploadmethod.picoprobe_cmsis_dap.upload.tool=picoprobe_cmsis_dap
seeed_indicator_rp2040.menu.uploadmethod.picoprobe_cmsis_dap.upload.tool.default=picoprobe_cmsis_dap
seeed_indicator_rp2040.menu.uploadmethod.picodebug=Pico-Debug
seeed_indicator_rp2040.menu.uploadmethod.picodebug.build.ram_length=240k
seeed_indicator_rp2040.menu.uploadmethod.picodebug.build.debugscript=picodebug.tcl
seeed_indicator_rp2040.menu.uploadmethod.picodebug.build.picodebugflags=-UUSE_TINYUSB -DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico
seeed_indicator_rp2040.menu.uploadmethod.picodebug.upload.maximum_data_size=245760
seeed_indicator_rp2040.menu.uploadmethod.picodebug.upload.tool=picodebug
seeed_indicator_rp2040.menu.uploadmethod.picodebug.upload.tool.default=picodebug

# -----------------------------------
# Seeed XIAO RP2040
# -----------------------------------
Expand Down
3 changes: 3 additions & 0 deletions package/package_pico_index.template.json
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,9 @@
{
"name": "uPesy RP2040 DevKit"
},
{
"name": "Seeed INDICATOR RP2040"
},
{
"name": "Seeed XIAO RP2040"
},
Expand Down
55 changes: 55 additions & 0 deletions tools/json/seeed_indicator_rp2040.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
{
"build": {
"arduino": {
"earlephilhower": {
"boot2_source": "boot2_w25q080_2_padded_checksum.S",
"usb_vid": "0x2886",
"usb_pid": "0x0050"
}
},
"core": "earlephilhower",
"cpu": "cortex-m0plus",
"extra_flags": "-D ARDUINO_SEEED_INDICATOR_RP2040 -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=250",
"f_cpu": "133000000L",
"hwids": [
[
"0x2E8A",
"0x00C0"
],
[
"0x2886",
"0x0050"
]
],
"mcu": "rp2040",
"variant": "seeed_indicator_rp2040"
},
"debug": {
"jlink_device": "RP2040_M0_0",
"openocd_target": "rp2040.cfg",
"svd_path": "rp2040.svd"
},
"frameworks": [
"arduino"
],
"name": "INDICATOR RP2040",
"upload": {
"maximum_ram_size": 270336,
"maximum_size": 2097152,
"require_upload_port": true,
"native_usb": true,
"use_1200bps_touch": true,
"wait_for_upload_port": false,
"protocol": "picotool",
"protocols": [
"blackmagic",
"cmsis-dap",
"jlink",
"raspberrypi-swd",
"picotool",
"picoprobe"
]
},
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
"vendor": "Seeed"
}
1 change: 1 addition & 0 deletions tools/makeboards.py
Original file line number Diff line number Diff line change
Expand Up @@ -411,6 +411,7 @@ def MakeBoardJSON(name, vendor_name, product_name, vid, pid, pwr, boarddefine, f
MakeBoard("upesy_rp2040_devkit", "uPesy", "RP2040 DevKit", "0x2e8a", "0x1007", 250, "UPESY_RP2040_DEVKIT", 2, "boot2_w25q080_2_padded_checksum")

# Seeed
MakeBoard("seeed_indicator_rp2040", "Seeed", "INDICATOR RP2040", "0x2886", "0x0050", 250, "SEEED_INDICATOR_RP2040", 2, "boot2_w25q080_2_padded_checksum")
MakeBoard("seeed_xiao_rp2040", "Seeed", "XIAO RP2040", "0x2e8a", "0x000a", 250, "SEEED_XIAO_RP2040", 2, "boot2_w25q080_2_padded_checksum")

# VCC-GND YD-2040 - Use generic SPI/4 because boards seem to come with varied flash modules but same name
Expand Down
33 changes: 33 additions & 0 deletions variants/seeed_indicator_rp2040/pins_arduino.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
#pragma once


// Serial
#define PIN_SERIAL1_TX (16u)
#define PIN_SERIAL1_RX (17u)

#define PIN_SERIAL2_TX (8u)
#define PIN_SERIAL2_RX (9u)

// SPI
#define PIN_SPI0_MISO (0u)
#define PIN_SPI0_MOSI (3u)
#define PIN_SPI0_SCK (2u)
#define PIN_SPI0_SS (1u)

#define PIN_SPI1_MISO (12u)
#define PIN_SPI1_MOSI (11u)
#define PIN_SPI1_SCK (10u)
#define PIN_SPI1_SS (13u)

// Wire
#define PIN_WIRE0_SDA (20u)
#define PIN_WIRE0_SCL (21u)

#define PIN_WIRE1_SDA (14u)
#define PIN_WIRE1_SCL (15u)

#define SERIAL_HOWMANY (3u)
#define SPI_HOWMANY (2u)
#define WIRE_HOWMANY (2u)

#include "../generic/common.h"