Skip to content
Merged
Show file tree
Hide file tree
Changes from all 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
2 changes: 2 additions & 0 deletions GNUmakefile
Original file line number Diff line number Diff line change
Expand Up @@ -814,6 +814,8 @@ endif
@$(MD5SUM) test.hex
$(TINYGO) build -size short -o test.hex -target=waveshare-rp2040-tiny examples/echo
@$(MD5SUM) test.hex
$(TINYGO) build -size short -o test.hex -target=vicharak_shrike-lite examples/echo
@$(MD5SUM) test.hex
# test pwm
$(TINYGO) build -size short -o test.hex -target=itsybitsy-m0 examples/pwm
@$(MD5SUM) test.hex
Expand Down
118 changes: 118 additions & 0 deletions src/machine/board_vicharak_shrike-lite.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
//go:build vicharak_shrike_lite

// Pin mappings for Vicharak Shrike-Lite.
//
// Reference: https://vicharak-in.github.io/shrike/shrike_pinouts.html

package machine

// Digital
const (
IO0 Pin = GPIO0
IO1 Pin = GPIO1
IO2 Pin = GPIO2
IO3 Pin = GPIO3
IO4 Pin = GPIO4
IO5 Pin = GPIO5
IO6 Pin = GPIO6
IO7 Pin = GPIO7
IO8 Pin = GPIO8
IO9 Pin = GPIO9
IO10 Pin = GPIO10
IO11 Pin = GPIO11
IO12 Pin = GPIO12
IO13 Pin = GPIO13
IO14 Pin = GPIO14
IO15 Pin = GPIO15
IO16 Pin = GPIO16
IO17 Pin = GPIO17
IO18 Pin = GPIO18
IO19 Pin = GPIO19
IO20 Pin = GPIO20
IO21 Pin = GPIO21
IO22 Pin = GPIO22
IO23 Pin = GPIO23
IO24 Pin = GPIO24
IO25 Pin = GPIO25
IO26 Pin = GPIO26
IO27 Pin = GPIO27
IO28 Pin = GPIO28
IO29 Pin = GPIO29
)

// FPGA Pins
const (
FPGA_EN Pin = IO13
FPGA_PWR Pin = IO12
// SPI_SCLK
F3 Pin = IO2
// SPI_SS
F4 Pin = IO1
// SPI_SI (MOSI)
F5 Pin = IO3
// SPI_SO (MISO) / CONFIG
F6 Pin = IO0
F18 Pin = IO14
F17 Pin = IO15
)

// Analog pins
const (
A0 Pin = IO26
A1 Pin = IO27
A2 Pin = IO28
A3 Pin = IO29
)

// LED
const (
LED = IO4
)

// I2C pins
const (
I2C0_SDA_PIN Pin = IO24
I2C0_SCL_PIN Pin = IO25

I2C1_SDA_PIN Pin = IO6
I2C1_SCL_PIN Pin = IO7
)

// SPI pins
const (
SPI0_SCK_PIN Pin = IO18
SPI0_SDO_PIN Pin = IO19
SPI0_SDI_PIN Pin = IO20

SPI1_SCK_PIN Pin = IO10
SPI1_SDO_PIN Pin = IO11
SPI1_SDI_PIN Pin = IO8
)

// Onboard crystal oscillator frequency, in MHz.
const (
xoscFreq = 12 // MHz
)

// UART pins
const (
UART0_TX_PIN = IO28
UART0_RX_PIN = IO29
UART_TX_PIN = UART0_TX_PIN
UART_RX_PIN = UART0_RX_PIN
UART1_TX_PIN = IO24
UART1_RX_PIN = IO25
)

var DefaultUART = UART0

// USB CDC identifiers
const (
usb_STRING_PRODUCT = "Shrike-Lite"
usb_STRING_MANUFACTURER = "Vicharak"
)

var (
usb_VID uint16 = 0x2e8a
usb_PID uint16 = 0x0003
)
14 changes: 14 additions & 0 deletions targets/vicharak_shrike-lite.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"inherits": [
"rp2040"
],
"serial-port": ["2e8a:0003"],
"default-stack-size": 8192,
"build-tags": ["vicharak_shrike_lite"],
"ldflags": [
"--defsym=__flash_size=4M"
],
"extra-files": [
"targets/pico-boot-stage2.S"
]
}
Loading