diff options
author | Daniel Esteban <[email protected]> | 2023-03-22 07:45:10 +0100 |
---|---|---|
committer | Ron Evans <[email protected]> | 2023-03-22 16:17:12 +0100 |
commit | 4b0e56cbec91a2b4e26b362493bc552e72803da6 (patch) | |
tree | 598396d8d42d4cf58ccba7e0519747c5103303d8 /src/machine/board_gopher-badge.go | |
parent | 62e1c3ebb7ae87fbc4ed53cb2f0572d72b284e77 (diff) | |
download | tinygo-4b0e56cbec91a2b4e26b362493bc552e72803da6.tar.gz tinygo-4b0e56cbec91a2b4e26b362493bc552e72803da6.zip |
Added Gopher Badge support
Diffstat (limited to 'src/machine/board_gopher-badge.go')
-rw-r--r-- | src/machine/board_gopher-badge.go | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/src/machine/board_gopher-badge.go b/src/machine/board_gopher-badge.go new file mode 100644 index 000000000..59c17beb2 --- /dev/null +++ b/src/machine/board_gopher-badge.go @@ -0,0 +1,108 @@ +//go:build gopher_badge + +// This contains the pin mappings for the Gopher Badge. +// +// For more information, see: https://gopherbadge.com/ +package machine + +import ( + "device/rp" + "runtime/interrupt" +) + +const ( + /*ADC0 Pin = GPIO26 + ADC1 Pin = GPIO27 + ADC2 Pin = GPIO28 + GPIO4 Pin = GPIO4 + GPIO5 Pin = GPIO5 + GPIO6 Pin = GPIO6 + GPIO7 Pin = GPIO7 + GPIO8 Pin = GPIO8 + GPIO9 Pin = GPIO9*/ + + PENIRQ Pin = GPIO13 + + LED Pin = GPIO2 + NEOPIXELS Pin = GPIO15 + WS2812 Pin = GPIO15 + + BUTTON_A Pin = GPIO10 + BUTTON_B Pin = GPIO11 + BUTTON_LEFT Pin = GPIO25 + BUTTON_UP Pin = GPIO24 + BUTTON_RIGHT Pin = GPIO22 + BUTTON_DOWN Pin = GPIO23 + + TFT_RST Pin = GPIO21 + TFT_SDI Pin = GPIO19 + TFT_SDO Pin = GPIO16 + TFT_CS Pin = GPIO17 + TFT_SCL Pin = GPIO18 + TFT_WRX Pin = GPIO20 + TFT_BACKLIGHT Pin = GPIO12 + + SPEAKER Pin = GPIO14 + SPEAKER_ENABLE Pin = GPIO3 +) + +// I2C pins +const ( + I2C0_SDA_PIN Pin = GPIO0 + I2C0_SCL_PIN Pin = GPIO1 + + I2C1_SDA_PIN Pin = NoPin + I2C1_SCL_PIN Pin = NoPin +) + +// SPI pins. +const ( + SPI0_SCK_PIN Pin = GPIO18 + SPI0_SDO_PIN Pin = GPIO19 + SPI0_SDI_PIN Pin = GPIO16 + + SPI1_SCK_PIN Pin = NoPin + SPI1_SDO_PIN Pin = NoPin + SPI1_SDI_PIN Pin = NoPin +) + +// Onboard crystal oscillator frequency, in MHz. +const ( + xoscFreq = 12 // MHz +) + +// USB CDC identifiers +const ( + usb_STRING_PRODUCT = "Gopher Badger" + usb_STRING_MANUFACTURER = "TinyGo" +) + +var ( + usb_VID uint16 = 0x2e8a + usb_PID uint16 = 0x0003 +) + +// 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 +) + +// UART on the RP2040 +var ( + UART1 = &_UART1 + _UART1 = UART{ + Buffer: NewRingBuffer(), + Bus: rp.UART1, + } +) + +var DefaultUART = UART1 + +func init() { + UART1.Interrupt = interrupt.New(rp.IRQ_UART1_IRQ, _UART1.handleInterrupt) +} |