notro / fbtft

Linux Framebuffer drivers for small TFT LCD display modules. Development has moved to https://git.kernel.org/cgit/linux/kernel/git/gregkh/staging.git/tree/drivers/staging/fbtft?h=staging-testing
1.84k stars 495 forks source link

ili9342 9-bit SPI reading necessary? #529

Closed lordofrtcw closed 2 years ago

lordofrtcw commented 5 years ago

Hello Community,

first of all, Notro, thanks for your great work in FBTFT.

I'm using a 2.2" TFT with an ili9342 over a 3-wire SPI connection. As the ili9342 is made for 1.8V digital level, I'm using a level shifter (unidirectional) from the piZero to the TFT. I probed all the signals coming from the shifter with an oscilloscope and they seem to be OK.

Schematic: image

I used the latest Raspbian image, enabled the dt overlay for spi=on and tried to modprobe like this: modprobe fbtft_device custom name=fb_ili9341 speed=9000000 gpios=reset:18 buswidth=9

The result is no error message at all, but the screen remains white (like uninitialized). So I was asking myself: Does your driver rely on answers from the ili chip? Do I have to change to a bidirectional level shifter?

dmesg output: log.txt

Thank you for your help

notro commented 5 years ago

Does your driver rely on answers from the ili chip?

No, the driver doesn't read from the chip.

fb_ili9341 has an initialization sequence that matches the MI0283QT-9A panel. Your panel might need a different controller setup.

Here's the setup code: https://elixir.bootlin.com/linux/latest/source/drivers/staging/fbtft/fb_ili9341.c#L29

The fbtft_device init= parameter can be used to set a custom setup.

github-actions[bot] commented 2 years ago

This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 7 days.