Skip to content

Commit 013a081

Browse files
authored
Add Waveshare RP2350-PiZero board (#5670)
* Add Waveshare RP2350-PiZero board * ci: smoke test Waveshare RP2350-PiZero
1 parent bea3f31 commit 013a081

3 files changed

Lines changed: 122 additions & 0 deletions

File tree

make/smoketest.mk

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -321,6 +321,8 @@ smoketest-rp2xxx: | build/smoke
321321
@$(MD5SUM) $(SMOKE_OUT).hex
322322
$(TINYGO) build -size short -o $(SMOKE_OUT).hex -target=tufty2350 examples/blinky1
323323
@$(MD5SUM) $(SMOKE_OUT).hex
324+
$(TINYGO) build -size short -o $(SMOKE_OUT).hex -target=waveshare-rp2350-pizero examples/blinky1
325+
@$(MD5SUM) $(SMOKE_OUT).hex
324326
$(TINYGO) build -size short -o $(SMOKE_OUT).hex -target=metro-rp2350 examples/blinky1
325327
@$(MD5SUM) $(SMOKE_OUT).hex
326328
$(TINYGO) build -size short -o $(SMOKE_OUT).hex -target=waveshare-rp2040-tiny examples/echo
Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
//go:build waveshare_rp2350_pizero
2+
3+
// This file contains the pin mappings for the Waveshare RP2350-PiZero board.
4+
//
5+
// Waveshare RP2350-PiZero uses the Raspberry Pi RP2350B chip.
6+
//
7+
// - https://www.waveshare.com/wiki/RP2350-PiZero
8+
// - https://github.com/raspberrypi/pico-sdk/blob/master/src/boards/include/boards/waveshare_rp2350_pizero.h
9+
package machine
10+
11+
// GPIO pins
12+
const (
13+
GP0 Pin = GPIO0
14+
GP1 Pin = GPIO1
15+
GP2 Pin = GPIO2
16+
GP3 Pin = GPIO3
17+
GP4 Pin = GPIO4
18+
GP5 Pin = GPIO5
19+
GP6 Pin = GPIO6
20+
GP7 Pin = GPIO7
21+
GP8 Pin = GPIO8
22+
GP9 Pin = GPIO9
23+
GP10 Pin = GPIO10
24+
GP11 Pin = GPIO11
25+
GP12 Pin = GPIO12
26+
GP13 Pin = GPIO13
27+
GP14 Pin = GPIO14
28+
GP15 Pin = GPIO15
29+
GP16 Pin = GPIO16
30+
GP17 Pin = GPIO17
31+
GP18 Pin = GPIO18
32+
GP19 Pin = GPIO19
33+
GP20 Pin = GPIO20
34+
GP21 Pin = GPIO21
35+
GP22 Pin = GPIO22
36+
GP23 Pin = GPIO23
37+
GP24 Pin = GPIO24
38+
GP25 Pin = GPIO25
39+
GP26 Pin = GPIO26
40+
GP27 Pin = GPIO27
41+
GP28 Pin = GPIO28
42+
GP29 Pin = GPIO29
43+
GP30 Pin = GPIO30
44+
GP31 Pin = GPIO31
45+
GP32 Pin = GPIO32
46+
GP33 Pin = GPIO33
47+
GP34 Pin = GPIO34
48+
GP35 Pin = GPIO35
49+
GP36 Pin = GPIO36
50+
GP37 Pin = GPIO37
51+
GP38 Pin = GPIO38
52+
GP39 Pin = GPIO39
53+
GP40 Pin = GPIO40
54+
GP41 Pin = GPIO41
55+
GP42 Pin = GPIO42
56+
GP43 Pin = GPIO43
57+
GP44 Pin = GPIO44
58+
GP45 Pin = GPIO45
59+
GP46 Pin = GPIO46
60+
GP47 Pin = GPIO47
61+
62+
// The Pico SDK board header defines no default LED pin.
63+
LED Pin = NoPin
64+
65+
// Onboard crystal oscillator frequency, in MHz.
66+
xoscFreq = 12 // MHz
67+
)
68+
69+
// I2C default pins
70+
const (
71+
I2C0_SDA_PIN = NoPin
72+
I2C0_SCL_PIN = NoPin
73+
74+
I2C1_SDA_PIN = GP2
75+
I2C1_SCL_PIN = GP3
76+
)
77+
78+
// SPI default pins
79+
const (
80+
SPI0_SCK_PIN = NoPin
81+
SPI0_SDO_PIN = NoPin
82+
SPI0_SDI_PIN = NoPin
83+
84+
SPI1_SCK_PIN = GPIO10
85+
SPI1_SDO_PIN = GPIO11 // Tx
86+
SPI1_SDI_PIN = GPIO12 // Rx
87+
)
88+
89+
// UART pins
90+
const (
91+
UART0_TX_PIN = GPIO0
92+
UART0_RX_PIN = GPIO1
93+
UART1_TX_PIN = GPIO4
94+
UART1_RX_PIN = GPIO5
95+
UART_TX_PIN = UART1_TX_PIN
96+
UART_RX_PIN = UART1_RX_PIN
97+
)
98+
99+
var DefaultUART = UART1
100+
101+
// USB identifiers
102+
const (
103+
usb_STRING_PRODUCT = "RP2350-PiZero"
104+
usb_STRING_MANUFACTURER = "Waveshare"
105+
)
106+
107+
var (
108+
usb_VID uint16 = 0x2e8a
109+
usb_PID uint16 = 0x000f
110+
)
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"inherits": [
3+
"rp2350b"
4+
],
5+
"build-tags": ["waveshare_rp2350_pizero"],
6+
"ldflags": [
7+
"--defsym=__flash_size=16M"
8+
],
9+
"default-stack-size": 8192
10+
}

0 commit comments

Comments
 (0)