aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/machine/machine_rp2_pins.go
diff options
context:
space:
mode:
authorPatricio Whittingslow <[email protected]>2024-12-18 15:36:30 -0300
committerGitHub <[email protected]>2024-12-18 19:36:30 +0100
commit37f35f8c910b05e2040433448546f41b34535b32 (patch)
tree32bdf01b1c2b8d75e9a7f1a24e5c62be9d432ce0 /src/machine/machine_rp2_pins.go
parent0d13e61d0cbe7aa82678a6dec7dda0115db82397 (diff)
downloadtinygo-37f35f8c910b05e2040433448546f41b34535b32.tar.gz
tinygo-37f35f8c910b05e2040433448546f41b34535b32.zip
Add RP2350 support (#4459)
machine/rp2350: add support * add linker scripts for rp2350 * add bootloader * begin melding rp2040 and rp2350 APIs * add UART * add rp2350 boot patching * Fix RP2350 memory layout (#4626) * Remove rp2040-style second stage bootloader. * Add 'minimum viable' IMAGE_DEF embedded block * Create a pico2 specific target * Implement rp2350 init, clock, and uart support * Merge rp2 reset code back together * Separate chip-specific clock definitions * Clear pad isolation bit on rp2350 * Init UART in rp2350 runtime * Correct usb/serial initialization order * Implement jump-to-bootloader * test: add pico2 to smoketests --------- Signed-off-by: deadprogram <[email protected]> Co-authored-by: Matthew Mets <[email protected]> Co-authored-by: Matt Mets <[email protected]> Co-authored-by: deadprogram <[email protected]>
Diffstat (limited to 'src/machine/machine_rp2_pins.go')
-rw-r--r--src/machine/machine_rp2_pins.go43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/machine/machine_rp2_pins.go b/src/machine/machine_rp2_pins.go
new file mode 100644
index 000000000..93f2d50a0
--- /dev/null
+++ b/src/machine/machine_rp2_pins.go
@@ -0,0 +1,43 @@
+//go:build rp2040 || rp2350 || ae_rp2040 || badger2040 || challenger_rp2040 || feather_rp2040 || gopher_badge || kb2040 || macropad_rp2040 || nano_rp2040 || pico || qtpy_rp2040 || thingplus_rp2040 || thumby || tufty2040 || waveshare_rp2040_zero || xiao_rp2040
+
+package machine
+
+const (
+ // GPIO pins
+ GPIO0 Pin = 0 // peripherals: PWM0 channel A
+ GPIO1 Pin = 1 // peripherals: PWM0 channel B
+ GPIO2 Pin = 2 // peripherals: PWM1 channel A
+ GPIO3 Pin = 3 // peripherals: PWM1 channel B
+ GPIO4 Pin = 4 // peripherals: PWM2 channel A
+ GPIO5 Pin = 5 // peripherals: PWM2 channel B
+ GPIO6 Pin = 6 // peripherals: PWM3 channel A
+ GPIO7 Pin = 7 // peripherals: PWM3 channel B
+ GPIO8 Pin = 8 // peripherals: PWM4 channel A
+ GPIO9 Pin = 9 // peripherals: PWM4 channel B
+ GPIO10 Pin = 10 // peripherals: PWM5 channel A
+ GPIO11 Pin = 11 // peripherals: PWM5 channel B
+ GPIO12 Pin = 12 // peripherals: PWM6 channel A
+ GPIO13 Pin = 13 // peripherals: PWM6 channel B
+ GPIO14 Pin = 14 // peripherals: PWM7 channel A
+ GPIO15 Pin = 15 // peripherals: PWM7 channel B
+ GPIO16 Pin = 16 // peripherals: PWM0 channel A
+ GPIO17 Pin = 17 // peripherals: PWM0 channel B
+ GPIO18 Pin = 18 // peripherals: PWM1 channel A
+ GPIO19 Pin = 19 // peripherals: PWM1 channel B
+ GPIO20 Pin = 20 // peripherals: PWM2 channel A
+ GPIO21 Pin = 21 // peripherals: PWM2 channel B
+ GPIO22 Pin = 22 // peripherals: PWM3 channel A
+ GPIO23 Pin = 23 // peripherals: PWM3 channel B
+ GPIO24 Pin = 24 // peripherals: PWM4 channel A
+ GPIO25 Pin = 25 // peripherals: PWM4 channel B
+ GPIO26 Pin = 26 // peripherals: PWM5 channel A
+ GPIO27 Pin = 27 // peripherals: PWM5 channel B
+ GPIO28 Pin = 28 // peripherals: PWM6 channel A
+ GPIO29 Pin = 29 // peripherals: PWM6 channel B
+
+ // Analog pins
+ ADC0 Pin = GPIO26
+ ADC1 Pin = GPIO27
+ ADC2 Pin = GPIO28
+ ADC3 Pin = GPIO29
+)