mirror of https://github.com/tinygo-org/tinygo.git
sago35
1 year ago
committed by
Ron Evans
3 changed files with 127 additions and 0 deletions
@ -0,0 +1,111 @@ |
|||
//go:build ae_rp2040
|
|||
|
|||
package machine |
|||
|
|||
import ( |
|||
"device/rp" |
|||
"runtime/interrupt" |
|||
) |
|||
|
|||
// 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 |
|||
GP8 Pin = GPIO8 |
|||
GP9 Pin = GPIO9 |
|||
GP10 Pin = GPIO10 |
|||
GP11 Pin = GPIO11 |
|||
GP12 Pin = GPIO12 |
|||
GP13 Pin = GPIO13 |
|||
GP14 Pin = GPIO14 |
|||
GP15 Pin = GPIO15 |
|||
GP16 Pin = GPIO16 |
|||
GP17 Pin = GPIO17 |
|||
GP18 Pin = GPIO18 |
|||
GP19 Pin = GPIO19 |
|||
GP20 Pin = GPIO20 |
|||
GP21 Pin = GPIO21 |
|||
GP22 Pin = GPIO22 |
|||
GP26 Pin = GPIO26 |
|||
GP27 Pin = GPIO27 |
|||
GP28 Pin = GPIO28 |
|||
GP29 Pin = GPIO29 |
|||
|
|||
// Onboard crystal oscillator frequency, in MHz.
|
|||
xoscFreq = 12 // MHz
|
|||
) |
|||
|
|||
// I2C Default pins on Raspberry Pico.
|
|||
const ( |
|||
I2C0_SDA_PIN = GP4 |
|||
I2C0_SCL_PIN = GP5 |
|||
|
|||
I2C1_SDA_PIN = GP2 |
|||
I2C1_SCL_PIN = GP3 |
|||
) |
|||
|
|||
// SPI default pins
|
|||
const ( |
|||
// Default Serial Clock Bus 0 for SPI communications
|
|||
SPI0_SCK_PIN = GPIO18 |
|||
// Default Serial Out Bus 0 for SPI communications
|
|||
SPI0_SDO_PIN = GPIO19 // Tx
|
|||
// Default Serial In Bus 0 for SPI communications
|
|||
SPI0_SDI_PIN = GPIO16 // Rx
|
|||
|
|||
// Default Serial Clock Bus 1 for SPI communications
|
|||
SPI1_SCK_PIN = GPIO10 |
|||
// Default Serial Out Bus 1 for SPI communications
|
|||
SPI1_SDO_PIN = GPIO11 // Tx
|
|||
// Default Serial In Bus 1 for SPI communications
|
|||
SPI1_SDI_PIN = GPIO12 // Rx
|
|||
) |
|||
|
|||
// UART pins
|
|||
const ( |
|||
UART0_TX_PIN = GPIO0 |
|||
UART0_RX_PIN = GPIO1 |
|||
UART1_TX_PIN = GPIO8 |
|||
UART1_RX_PIN = GPIO9 |
|||
UART_TX_PIN = UART0_TX_PIN |
|||
UART_RX_PIN = UART0_RX_PIN |
|||
) |
|||
|
|||
// UART on the RP2040
|
|||
var ( |
|||
UART0 = &_UART0 |
|||
_UART0 = UART{ |
|||
Buffer: NewRingBuffer(), |
|||
Bus: rp.UART0, |
|||
} |
|||
|
|||
UART1 = &_UART1 |
|||
_UART1 = UART{ |
|||
Buffer: NewRingBuffer(), |
|||
Bus: rp.UART1, |
|||
} |
|||
) |
|||
|
|||
var DefaultUART = UART0 |
|||
|
|||
func init() { |
|||
UART0.Interrupt = interrupt.New(rp.IRQ_UART0_IRQ, _UART0.handleInterrupt) |
|||
UART1.Interrupt = interrupt.New(rp.IRQ_UART1_IRQ, _UART1.handleInterrupt) |
|||
} |
|||
|
|||
// USB identifiers
|
|||
const ( |
|||
usb_STRING_PRODUCT = "AE-RP2040" |
|||
usb_STRING_MANUFACTURER = "AKIZUKI DENSHI" |
|||
) |
|||
|
|||
var ( |
|||
usb_VID uint16 = 0x2E8A |
|||
usb_PID uint16 = 0x000A |
|||
) |
@ -0,0 +1,14 @@ |
|||
{ |
|||
"inherits": [ |
|||
"rp2040" |
|||
], |
|||
"build-tags": ["ae_rp2040"], |
|||
"serial-port": ["2e8a:000A"], |
|||
"ldflags": [ |
|||
"--defsym=__flash_size=2048K" |
|||
], |
|||
"extra-files": [ |
|||
"targets/pico-boot-stage2.S" |
|||
] |
|||
} |
|||
|
Loading…
Reference in new issue