Hi,
I managed to connect a ILI9341 TFT to a openwrt router based on AR9331 chip (400 MHz), THe commands and video data is sent over emulated GPIO SPI but I the refresh rate is not that great.
I did some measurements and the spi-gpio speed does not exceed 1 MHz. For tests I also tried to setup a SPI device using spi-gpio-custom driver and send some random stuff and I couldn't get over 1 MHz barrier.
Is it possible to push the speed up to at least 5 MHz ?
I found this comment in the spi-gpio.c source code but I can't figure out how exactly to take advantage of what it is saying:
/*
57 * Because the overhead of going through four GPIO procedure calls
58 * per transferred bit can make performance a problem, this code
59 * is set up so that you can use it in either of two ways:
60 *
61 * - The slow generic way: set up platform_data to hold the GPIO
62 * numbers used for MISO/MOSI/SCK, and issue procedure calls for
63 * each of them. This driver can handle several such busses.
64 *
65 * - The quicker inlined way: only helps with platform GPIO code
66 * that inlines operations for constant GPIOs. This can give
67 * you tight (fast!) inner loops, but each such bus needs a
68 * new driver. You'll define a new C file, with Makefile and
69 * Kconfig support; the C code can be a total of six lines:
70 *
71 * #define DRIVER_NAME "myboard_spi2"
72 * #define SPI_MISO_GPIO 119
73 * #define SPI_MOSI_GPIO 120
74 * #define SPI_SCK_GPIO 121
75 * #define SPI_N_CHIPSEL 4
76 * #include "spi-gpio.c"
77 */