Description
First of all, thanks for the amazing effort to develop TinyGo.
I am creating a library to experiment with the Geeek Pico Breadboard https://github.com/geeekpi/pico_breadboard_kit using the RP PICO 2 (RP2350).
- NeoPixel: OK
- Joystick: OK
- Leds: OK
- Buzzer (Speaker): KO, PWM seems not yet available for RP PICO 2
- Display (ST7796U): OK but without DMA
- Touch: Not implemented yet
I was able to modify the driver ST7789 to work with the ST7796U (480x320) but if I try to use the method Tx(w,r []byte) with more than 1 byte, the PICO 2 freezes during the initialization process and I did not find a way to understand why. Everything works if I send each byte using Transfer (but it's slow for a decent refresh rate). - https://github.com/tinygo-org/tinygo/blob/release/src/machine/machine_rp2_spi.go
I also tried with an ST7789 using the driver available https://github.com/tinygo-org/drivers/tree/release/st7789, with the RP PICO 2 and it freezes during the initialization process.
It seems related to the DMA access. In the RP2350 Datasheet it seems that for payloads less than 250MB it should be retro-compatible with RP2040 but the DMA SPI addresses seem different. I maybe wrong (I am not an expert in microcontrollers)