Waveshare 4.0 TFT Screen Library

Waveshare are pretty good for information e.g. https://www.waveshare.com/w/upload/1/17/4inch_TFT_Touch_Shield_Schematic.pdf

You will see that it is actually a parallel 8080-16 interface which is driven by Shift Registers.
The ILI9486 controller has a native SPI interface but TFT modules with native SPI interface are more expensive than the parallel modules.

The shift register is a bit of a kludge. It does not run as fast as the native SPI. The Waveshare implementation is write-only. Many RaspberryPi screens do a similar hack.

Bodmer has a driver for the "shift register SPI".

It would be really nice to use a genuine ILI9846 native-SPI. I have only ever seen HX8357-D, ILI9481, ILI9488 native-SPI. The ILI9486 has an advantage over SPI 9481, 9488.

David.