I'm trying to run my ST7796 tft spi display. It worked with my STM32 black pill and ESP32 boards. So the code is fine.
I'm using TFT_eSPI library.
But trying to run the code on the rp2040 isn't working, I also tried my logic analyzer to check for spi signal on the multiplexed spi0 sck pins but there isn't any.
On rp2040 core SPI pins can be multiplexed to different pins rather than on picture.
You have to consult the documentation
of used rp2040 core for default spi0 pin numbers.
These are the pin settings I have in Setup36_RPi_touch_ST7796.h for the tft_espi library.
I've used 2 sets of pin arrangements, I don't know which one is correct. Even using my logic analyzer, I checked all the sck pins on the board but didn't get any signal.
// See SetupX_Template.h for all options available
#define USER_SETUP_ID 36
#define RPI_DISPLAY_TYPE
#define ST7796_DRIVER
#if 0
// For the Pico use these #define lines
#define TFT_MISO 0
#define TFT_MOSI 3
#define TFT_SCLK 2
#define TFT_CS 20 // Chip select control pin
#define TFT_DC 18 // Data Command control pin
#define TFT_RST 19 // Reset pin (could connect to Arduino RESET pin)
#define TOUCH_CS 21 // Chip select pin (T_CS) of touch screen
#else
#define TFT_MISO 19
#define TFT_MOSI 23
#define TFT_SCLK 18
#define TFT_CS 15 // Chip select control pin
#define TFT_DC 2 // Data Command control pin
#define TFT_RST 4 // Reset pin (could connect to RST pin)
#define TOUCH_CS 22 // Chip select pin (T_CS) of touch screen
#endif
#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH
#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters
#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters
#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm
#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:.
#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-.
#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts
#define SMOOTH_FONT
#define SPI_FREQUENCY 40000000
//#define SPI_FREQUENCY 70000000
#define SPI_TOUCH_FREQUENCY 2500000
looking at the PRI pico pinout (post 1) these look correct for SPI0 - I used SPI0 to connect the LoRa RFM95 in post 2 with the exception I used GP17 as CS (chip select)
are you attempting to test just the TFL device - nothing else connected to the RP2040?
if you do a web search for ST7796 tft you will get plenty of links - may give you some ideas