Skip to content

RP2350: SPI with DMA seems not working #4690

Closed
@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 workingrp2350

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions