Skip to content

RP2350: SPI with DMA seems not working #4690

Open
@advancedlogic

Description

@advancedlogic

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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingnext-releaseWill be part of next releaserp2350

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions