Trouble porting ILI9341 8bit parallel driver

I've been spending a long time trying to write a driver for the ILI9341 8080 8bit bus interface but all I can't seem to get the display to do anything at all. I'm just seeing a white screen no matter what I do. At this point I am starting to wonder if the module is broken but as I'm new to embedded development and zephyr, it's equally likely that I am doing some dumb mistake. The module I'm using is this: Elegoo 2.8 Inch Touch Screen (manual and code). Zephyr already has a drive for the ILI9341 SPI interface, but this module uses an 8bit bus interface so I can't use it.

I connect it directly on top of my nrf52840dk as a shield.

In my latest attempt, I tried to use an existing C library and adapt it to Zephyr. You can see this attempt here: https://github.com/olalonde/ili9341wip/commit/f22f22b156fa5a4ff0d0c560078464946eca5214

Unfortunately, all I'm seeing is a white screen no matter what I do. I'm hoping someone can have a look at my code and immediately spot a dumb error... Maybe there's something wrong with my device tree files for example?

Otherwise, any tip on what to do next? I'm a bit stuck. Thanks.

Related