Skip to content

Commit f8ba72a

Browse files
Add Feather ThinkINK and USB Host (earlephilhower#1334)
1 parent 371b2c8 commit f8ba72a

File tree

7 files changed

+707
-0
lines changed

7 files changed

+707
-0
lines changed

boards.txt

Lines changed: 476 additions & 0 deletions
Large diffs are not rendered by default.

package/package_pico_index.template.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,12 @@
3838
{
3939
"name": "Adafruit Feather RP2040 RFM"
4040
},
41+
{
42+
"name": "Adafruit Feather RP2040 ThinkINK"
43+
},
44+
{
45+
"name": "Adafruit Feather RP2040 USB Host"
46+
},
4147
{
4248
"name": "Adafruit ItsyBitsy RP2040"
4349
},
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
{
2+
"build": {
3+
"arduino": {
4+
"earlephilhower": {
5+
"boot2_source": "boot2_w25q080_2_padded_checksum.S",
6+
"usb_vid": "0x239A",
7+
"usb_pid": "0x812B"
8+
}
9+
},
10+
"core": "earlephilhower",
11+
"cpu": "cortex-m0plus",
12+
"extra_flags": "-D ARDUINO_ADAFRUIT_FEATHER_RP2040_THINKINK -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=250",
13+
"f_cpu": "133000000L",
14+
"hwids": [
15+
[
16+
"0x2E8A",
17+
"0x00C0"
18+
],
19+
[
20+
"0x239A",
21+
"0x812B"
22+
]
23+
],
24+
"mcu": "rp2040",
25+
"variant": "adafruit_feather_thinkink"
26+
},
27+
"debug": {
28+
"jlink_device": "RP2040_M0_0",
29+
"openocd_target": "rp2040.cfg",
30+
"svd_path": "rp2040.svd"
31+
},
32+
"frameworks": [
33+
"arduino"
34+
],
35+
"name": "Feather RP2040 ThinkINK",
36+
"upload": {
37+
"maximum_ram_size": 270336,
38+
"maximum_size": 8388608,
39+
"require_upload_port": true,
40+
"native_usb": true,
41+
"use_1200bps_touch": true,
42+
"wait_for_upload_port": false,
43+
"protocol": "picotool",
44+
"protocols": [
45+
"cmsis-dap",
46+
"jlink",
47+
"raspberrypi-swd",
48+
"picotool",
49+
"picoprobe"
50+
]
51+
},
52+
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
53+
"vendor": "Adafruit"
54+
}
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
{
2+
"build": {
3+
"arduino": {
4+
"earlephilhower": {
5+
"boot2_source": "boot2_w25q080_2_padded_checksum.S",
6+
"usb_vid": "0x239A",
7+
"usb_pid": "0x8129"
8+
}
9+
},
10+
"core": "earlephilhower",
11+
"cpu": "cortex-m0plus",
12+
"extra_flags": "-D ARDUINO_ADAFRUIT_FEATHER_RP2040_USB_HOST -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=250",
13+
"f_cpu": "133000000L",
14+
"hwids": [
15+
[
16+
"0x2E8A",
17+
"0x00C0"
18+
],
19+
[
20+
"0x239A",
21+
"0x8129"
22+
]
23+
],
24+
"mcu": "rp2040",
25+
"variant": "adafruit_feather_usb_host"
26+
},
27+
"debug": {
28+
"jlink_device": "RP2040_M0_0",
29+
"openocd_target": "rp2040.cfg",
30+
"svd_path": "rp2040.svd"
31+
},
32+
"frameworks": [
33+
"arduino"
34+
],
35+
"name": "Feather RP2040 USB Host",
36+
"upload": {
37+
"maximum_ram_size": 270336,
38+
"maximum_size": 8388608,
39+
"require_upload_port": true,
40+
"native_usb": true,
41+
"use_1200bps_touch": true,
42+
"wait_for_upload_port": false,
43+
"protocol": "picotool",
44+
"protocols": [
45+
"cmsis-dap",
46+
"jlink",
47+
"raspberrypi-swd",
48+
"picotool",
49+
"picoprobe"
50+
]
51+
},
52+
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
53+
"vendor": "Adafruit"
54+
}

tools/makeboards.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -340,6 +340,8 @@ def MakeBoardJSON(name, vendor_name, product_name, vid, pid, pwr, boarddefine, f
340340
MakeBoard("adafruit_feather_scorpio", "Adafruit", "Feather RP2040 SCORPIO", "0x239a", "0x8121", 250, "ADAFRUIT_FEATHER_RP2040_SCORPIO", 8, "boot2_w25q080_2_padded_checksum")
341341
MakeBoard("adafruit_feather_dvi", "Adafruit", "Feather RP2040 DVI", "0x239a", "0x8127", 250, "ADAFRUIT_FEATHER_RP2040_DVI", 8, "boot2_w25q080_2_padded_checksum")
342342
MakeBoard("adafruit_feather_rfm", "Adafruit", "Feather RP2040 RFM", "0x239a", "0x812D", 250, "ADAFRUIT_FEATHER_RP2040_RFM", 8, "boot2_w25q080_2_padded_checksum")
343+
MakeBoard("adafruit_feather_thinkink", "Adafruit", "Feather RP2040 ThinkINK", "0x239a", "0x812B", 250, "ADAFRUIT_FEATHER_RP2040_THINKINK", 8, "boot2_w25q080_2_padded_checksum")
344+
MakeBoard("adafruit_feather_usb_host", "Adafruit", "Feather RP2040 USB Host", "0x239a", "0x8129", 250, "ADAFRUIT_FEATHER_RP2040_USB_HOST", 8, "boot2_w25q080_2_padded_checksum")
343345
MakeBoard("adafruit_itsybitsy", "Adafruit", "ItsyBitsy RP2040", "0x239a", "0x80fd", 250, "ADAFRUIT_ITSYBITSY_RP2040", 8, "boot2_w25q080_2_padded_checksum")
344346
MakeBoard("adafruit_qtpy", "Adafruit", "QT Py RP2040", "0x239a", "0x80f7", 250, "ADAFRUIT_QTPY_RP2040", 8, "boot2_w25q080_2_padded_checksum")
345347
MakeBoard("adafruit_stemmafriend", "Adafruit", "STEMMA Friend RP2040", "0x239a", "0x80e3", 250, "ADAFRUIT_STEMMAFRIEND_RP2040", 8, "boot2_w25q080_2_padded_checksum")
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
#pragma once
2+
3+
// Pin definitions taken from:
4+
// https://learn.adafruit.com/assets/100337
5+
6+
// LEDs
7+
#define PIN_LED (13u)
8+
9+
// NeoPixel
10+
#define PIN_NEOPIXEL (21u)
11+
#define NEOPIXEL_POWER (20u)
12+
13+
// 'Boot0' button also on GPIO #7
14+
#define PIN_BUTTON (7u)
15+
16+
// EPD connector
17+
#define PIN_EPD_BUSY (16u)
18+
#define PIN_EPD_RESET (17u)
19+
#define PIN_EPD_DC (18u)
20+
#define PIN_EPD_CS (19u)
21+
#define PIN_EPD_SCK (22u)
22+
#define PIN_EPD_MOSI (23u)
23+
24+
// Serial
25+
#define PIN_SERIAL1_TX (0u)
26+
#define PIN_SERIAL1_RX (1u)
27+
28+
// Not pinned out
29+
#define PIN_SERIAL2_TX (31u)
30+
#define PIN_SERIAL2_RX (31u)
31+
32+
// SPI
33+
#define PIN_SPI0_MISO (8u)
34+
#define PIN_SPI0_MOSI (15u)
35+
#define PIN_SPI0_SCK (14u)
36+
#define PIN_SPI0_SS (13u)
37+
#define __SPI0_DEVICE spi1
38+
39+
// EPD SPI
40+
#define PIN_SPI1_MISO (31u)
41+
#define PIN_SPI1_MOSI (23u)
42+
#define PIN_SPI1_SCK (22u)
43+
#define PIN_SPI1_SS (19u)
44+
#define __SPI1_DEVICE spi0
45+
46+
// Wire
47+
#define PIN_WIRE0_SDA (2u)
48+
#define PIN_WIRE0_SCL (3u)
49+
#define __WIRE0_DEVICE i2c1
50+
51+
#define PIN_WIRE1_SDA (31u)
52+
#define PIN_WIRE1_SCL (31u)
53+
#define __WIRE1_DEVICE i2c0
54+
55+
#define SERIAL_HOWMANY (2u)
56+
#define SPI_HOWMANY (2u)
57+
#define WIRE_HOWMANY (1u)
58+
59+
#include "../generic/common.h"
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
#pragma once
2+
3+
// Pin definitions taken from:
4+
// https://learn.adafruit.com/assets/100337
5+
6+
// LEDs
7+
#define PIN_LED (13u)
8+
9+
// NeoPixel
10+
#define PIN_NEOPIXEL (21u)
11+
#define NEOPIXEL_POWER (20u)
12+
13+
// 'Boot0' button also on GPIO #7
14+
#define PIN_BUTTON (7u)
15+
16+
// USB host connector
17+
#define PIN_USB_DP (16u)
18+
#define PIN_USB_DN (17u)
19+
#define PIN_5V_EN (18u)
20+
21+
// Serial
22+
#define PIN_SERIAL1_TX (0u)
23+
#define PIN_SERIAL1_RX (1u)
24+
25+
// Not pinned out
26+
#define PIN_SERIAL2_TX (31u)
27+
#define PIN_SERIAL2_RX (31u)
28+
29+
// SPI
30+
#define PIN_SPI0_MISO (8u)
31+
#define PIN_SPI0_MOSI (15u)
32+
#define PIN_SPI0_SCK (14u)
33+
#define PIN_SPI0_SS (13u)
34+
#define __SPI0_DEVICE spi1
35+
36+
// Not pinned out
37+
#define PIN_SPI1_MISO (31u)
38+
#define PIN_SPI1_MOSI (31u)
39+
#define PIN_SPI1_SCK (31u)
40+
#define PIN_SPI1_SS (31u)
41+
#define __SPI1_DEVICE spi0
42+
43+
// Wire
44+
#define PIN_WIRE0_SDA (2u)
45+
#define PIN_WIRE0_SCL (3u)
46+
#define __WIRE0_DEVICE i2c1
47+
48+
#define PIN_WIRE1_SDA (31u)
49+
#define PIN_WIRE1_SCL (31u)
50+
#define __WIRE1_DEVICE i2c0
51+
52+
#define SERIAL_HOWMANY (2u)
53+
#define SPI_HOWMANY (1u)
54+
#define WIRE_HOWMANY (1u)
55+
56+
#include "../generic/common.h"

0 commit comments

Comments
 (0)