diff options
author | deadprogram <[email protected]> | 2024-12-18 20:06:49 +0100 |
---|---|---|
committer | Ron Evans <[email protected]> | 2024-12-19 10:12:57 +0100 |
commit | c4cfc01ba3a3afaa08768cc4bdfc0150c7bb4fde (patch) | |
tree | 0f49f26bec2227b1092632349f8cce697e2b3b1a | |
parent | f64e70e6590ffbe281ca096ee61212d6b586e986 (diff) | |
download | tinygo-c4cfc01ba3a3afaa08768cc4bdfc0150c7bb4fde.tar.gz tinygo-c4cfc01ba3a3afaa08768cc4bdfc0150c7bb4fde.zip |
targets: add support for Pimoroni Tiny2350 board
Signed-off-by: deadprogram <[email protected]>
-rw-r--r-- | GNUmakefile | 2 | ||||
-rw-r--r-- | src/machine/board_tiny2350.go | 82 | ||||
-rw-r--r-- | targets/tiny2350.json | 7 |
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"] +} |