mirror of
https://github.com/tinygo-org/tinygo.git
synced 2026-08-17 19:23:25 +00:00
Adds target for Piromoni Badger 2350
This commit is contained in:
@@ -0,0 +1,114 @@
|
|||||||
|
//go:build badger2350
|
||||||
|
|
||||||
|
// Pin mapping verified against pimoroni/badger2350 board/pins.csv.
|
||||||
|
// Chip: RP2350A (QFN-60, 30 GPIO) -> target inherits from "rp2350".
|
||||||
|
// Pin source: https://github.com/pimoroni/badger2350/blob/main/board/pins.csv
|
||||||
|
//
|
||||||
|
// NOTES (verify before first flash):
|
||||||
|
// - POWER_EN (GPIO27) likely switches peripheral/display power.
|
||||||
|
// Verify polarity against the schematic; pull HIGH early if needed,
|
||||||
|
// otherwise the display will remain blank.
|
||||||
|
// - CHARGE_STAT is connected to EXT_GPIO2 (I2C IO expander) according to pins.csv,
|
||||||
|
// NOT the RP2350 -> intentionally not defined as a pin here.
|
||||||
|
|
||||||
|
package machine
|
||||||
|
|
||||||
|
// Crystal oscillator frequency.
|
||||||
|
const xoscFreq = 12 // MHz
|
||||||
|
|
||||||
|
// User buttons.
|
||||||
|
const (
|
||||||
|
BUTTON_A Pin = GPIO7
|
||||||
|
BUTTON_B Pin = GPIO9
|
||||||
|
BUTTON_C Pin = GPIO10
|
||||||
|
BUTTON_UP Pin = GPIO11
|
||||||
|
BUTTON_DOWN Pin = GPIO6
|
||||||
|
BUTTON_HOME Pin = GPIO22
|
||||||
|
BUTTON_BOOT Pin = BUTTON_HOME
|
||||||
|
|
||||||
|
// System / RTC-related buttons.
|
||||||
|
BUTTON_RESET Pin = GPIO14
|
||||||
|
BUTTON_INT Pin = GPIO15
|
||||||
|
)
|
||||||
|
|
||||||
|
// Case LEDs (4-zone mono illumination), named CL0..CL3 in the docs.
|
||||||
|
const (
|
||||||
|
CL0 Pin = GPIO0
|
||||||
|
CL1 Pin = GPIO1
|
||||||
|
CL2 Pin = GPIO2
|
||||||
|
CL3 Pin = GPIO3
|
||||||
|
|
||||||
|
// Convention: first zone as default LED.
|
||||||
|
LED = CL0
|
||||||
|
)
|
||||||
|
|
||||||
|
// E-ink display (Inky), on SPI0.
|
||||||
|
const (
|
||||||
|
INKY_BUSY Pin = GPIO16
|
||||||
|
INKY_CS Pin = GPIO17
|
||||||
|
INKY_SCLK Pin = GPIO18
|
||||||
|
INKY_MOSI Pin = GPIO19
|
||||||
|
INKY_DC Pin = GPIO20
|
||||||
|
INKY_RES Pin = GPIO21
|
||||||
|
)
|
||||||
|
|
||||||
|
// SPI0 default pins == Inky bus. SDI is unused by the EPD,
|
||||||
|
// but GPIO16 is a valid SPI0 RX line on the RP2350.
|
||||||
|
const (
|
||||||
|
SPI0_SCK_PIN = GPIO18 // INKY_SCLK
|
||||||
|
SPI0_SDO_PIN = GPIO19 // INKY_MOSI
|
||||||
|
SPI0_SDI_PIN = GPIO16 // (unused by the EPD)
|
||||||
|
)
|
||||||
|
|
||||||
|
// SPI1 is not routed to any header; NoPin satisfies the machine package.
|
||||||
|
const (
|
||||||
|
SPI1_SCK_PIN Pin = NoPin
|
||||||
|
SPI1_SDO_PIN Pin = NoPin
|
||||||
|
SPI1_SDI_PIN Pin = NoPin
|
||||||
|
)
|
||||||
|
|
||||||
|
// UART pins - default RP2350 UART0 mapping.
|
||||||
|
// Note: GPIO0/GPIO1 are also CL0/CL1 (case LEDs)
|
||||||
|
// Do not use UART0 and LEDs simultaneously.
|
||||||
|
const (
|
||||||
|
UART0_TX_PIN = GPIO0
|
||||||
|
UART0_RX_PIN = GPIO1
|
||||||
|
UART_TX_PIN = UART0_TX_PIN
|
||||||
|
UART_RX_PIN = UART0_RX_PIN
|
||||||
|
)
|
||||||
|
|
||||||
|
// I2C0 (Qwiic/STEMMA QT + RTC PCF85063A).
|
||||||
|
const (
|
||||||
|
I2C0_SDA_PIN = GPIO4
|
||||||
|
I2C0_SCL_PIN = GPIO5
|
||||||
|
)
|
||||||
|
|
||||||
|
// I2C1 is not routed to any header; NoPin satisfies the machine package.
|
||||||
|
const (
|
||||||
|
I2C1_SDA_PIN Pin = NoPin
|
||||||
|
I2C1_SCL_PIN Pin = NoPin
|
||||||
|
)
|
||||||
|
|
||||||
|
// Power / Sensing.
|
||||||
|
const (
|
||||||
|
VBUS_DETECT Pin = GPIO12
|
||||||
|
RTC_ALARM Pin = GPIO13
|
||||||
|
VBAT_SENSE Pin = GPIO26
|
||||||
|
POWER_EN Pin = GPIO27
|
||||||
|
SENSE_1V1 Pin = GPIO28
|
||||||
|
|
||||||
|
BATTERY = VBAT_SENSE
|
||||||
|
)
|
||||||
|
|
||||||
|
var DefaultUART = UART0
|
||||||
|
|
||||||
|
// USB identifiers
|
||||||
|
const (
|
||||||
|
usb_STRING_PRODUCT = "Badger 2350"
|
||||||
|
usb_STRING_MANUFACTURER = "Pimoroni"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
usb_VID uint16 = 0x2E8A
|
||||||
|
usb_PID uint16 = 0x0005
|
||||||
|
)
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"inherits": ["rp2350"],
|
||||||
|
"build-tags": ["badger2350"],
|
||||||
|
"serial-port": ["2e8a:0005"],
|
||||||
|
"default-stack-size": 8192,
|
||||||
|
"ldflags": [
|
||||||
|
"--defsym=__flash_size=16M"
|
||||||
|
]
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user