aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authordeadprogram <[email protected]>2024-12-18 20:06:49 +0100
committerRon Evans <[email protected]>2024-12-19 10:12:57 +0100
commitc4cfc01ba3a3afaa08768cc4bdfc0150c7bb4fde (patch)
tree0f49f26bec2227b1092632349f8cce697e2b3b1a
parentf64e70e6590ffbe281ca096ee61212d6b586e986 (diff)
downloadtinygo-c4cfc01ba3a3afaa08768cc4bdfc0150c7bb4fde.tar.gz
tinygo-c4cfc01ba3a3afaa08768cc4bdfc0150c7bb4fde.zip
targets: add support for Pimoroni Tiny2350 board
Signed-off-by: deadprogram <[email protected]>
-rw-r--r--GNUmakefile2
-rw-r--r--src/machine/board_tiny2350.go82
-rw-r--r--targets/tiny2350.json7
3 files changed, 91 insertions, 0 deletions
diff --git a/GNUmakefile b/GNUmakefile
index 273db5ed8..efc70b0ae 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -743,6 +743,8 @@ endif
@$(MD5SUM) test.hex
$(TINYGO) build -size short -o test.hex -target=pico2 examples/blinky1
@$(MD5SUM) test.hex
+ $(TINYGO) build -size short -o test.hex -target=tiny2350 examples/blinky1
+ @$(MD5SUM) test.hex
# test pwm
$(TINYGO) build -size short -o test.hex -target=itsybitsy-m0 examples/pwm
@$(MD5SUM) test.hex
diff --git a/src/machine/board_tiny2350.go b/src/machine/board_tiny2350.go
new file mode 100644
index 000000000..f04fa061b
--- /dev/null
+++ b/src/machine/board_tiny2350.go
@@ -0,0 +1,82 @@
+//go:build tiny2350
+
+package machine
+
+// GPIO pins
+const (
+ GP0 Pin = GPIO0
+ GP1 Pin = GPIO1
+ GP2 Pin = GPIO2
+ GP3 Pin = GPIO3
+ GP4 Pin = GPIO4
+ GP5 Pin = GPIO5
+ GP6 Pin = GPIO6
+ GP7 Pin = GPIO7
+ GP12 Pin = GPIO12
+ GP13 Pin = GPIO13
+ GP18 Pin = GPIO18
+ GP19 Pin = GPIO19
+ GP20 Pin = GPIO20
+ GP26 Pin = GPIO26
+ GP27 Pin = GPIO27
+ GP28 Pin = GPIO28
+ GP29 Pin = GPIO29
+
+ // Onboard LED
+ LED_RED Pin = GPIO18
+ LED_GREEN Pin = GPIO19
+ LED_BLUE Pin = GPIO20
+ LED = LED_RED
+
+ // Onboard crystal oscillator frequency, in MHz.
+ xoscFreq = 12 // MHz
+)
+
+// I2C Default pins on Tiny2350.
+const (
+ I2C0_SDA_PIN = GP12
+ I2C0_SCL_PIN = GP13
+
+ I2C1_SDA_PIN = GP2
+ I2C1_SCL_PIN = GP3
+)
+
+// SPI default pins
+const (
+ // Default Serial Clock Bus 0 for SPI communications
+ SPI0_SCK_PIN = GPIO6
+ // Default Serial Out Bus 0 for SPI communications
+ SPI0_SDO_PIN = GPIO7 // Tx
+ // Default Serial In Bus 0 for SPI communications
+ SPI0_SDI_PIN = GPIO4 // Rx
+
+ // Default Serial Clock Bus 1 for SPI communications
+ SPI1_SCK_PIN = GPIO26
+ // Default Serial Out Bus 1 for SPI communications
+ SPI1_SDO_PIN = GPIO27 // Tx
+ // Default Serial In Bus 1 for SPI communications
+ SPI1_SDI_PIN = GPIO28 // Rx
+)
+
+// UART pins
+const (
+ UART0_TX_PIN = GPIO0
+ UART0_RX_PIN = GPIO1
+ UART1_TX_PIN = GPIO4
+ UART1_RX_PIN = GPIO5
+ UART_TX_PIN = UART0_TX_PIN
+ UART_RX_PIN = UART0_RX_PIN
+)
+
+var DefaultUART = UART0
+
+// USB identifiers
+const (
+ usb_STRING_PRODUCT = "Tiny2350"
+ usb_STRING_MANUFACTURER = "Pimoroni"
+)
+
+var (
+ usb_VID uint16 = 0x2E8A
+ usb_PID uint16 = 0x000F
+)
diff --git a/targets/tiny2350.json b/targets/tiny2350.json
new file mode 100644
index 000000000..185be3320
--- /dev/null
+++ b/targets/tiny2350.json
@@ -0,0 +1,7 @@
+{
+ "inherits": [
+ "rp2350"
+ ],
+ "build-tags": ["tiny2350"],
+ "serial-port": ["2e8a:000f"]
+}