SPI-bus is always idle despite writing to /dev/fb0 (fbtft)

Hey everyone,

I have been trying to get an ILI9341-based TFT display working on the pocketbeagle with the fbtft driver (built-in).
To accomplish this, I have modified the device tree source file (updated dts linked below).

What I have Tried:

  1. When the board boots up the back-light works as expected and I can even change the brightness, but that’s it (white screen only). I don’t believe this is a wiring issue because when I probe the SCLK and MOSI pins, they never change from 0V and 3.3V, respectively.
  2. I have also tried running cat /dev/urandom > /dev/fb0, but still no change is observed. I skimmed the fbtft source code and it doesn’t appear there is any check to see if the display is actually connected, so my expectation is this would always force Linux to start writing to the SPI bus.

I am not sure where to go next in debugging this issue and am open to any ideas. What am I missing?

Here is a gist of my dts, .config, and kernel.log: https://gist.github.com/harlanw/11332fdc34a1a6e4da82a895d08de468

I am using TI’s kernel version 4.14.67.

Thanks,
Harlan

I wanted to add some more information:

I increased the debug level through the dts file and it looks like it thinks it is writing over the spi2.0 interface:
kern.log: https://pastebin.com/raw/tNPhwfbW
am335x-pocketbeagle.dts: https://pastebin.com/raw/hV9kc81e

I tried the IoT image distributed on beagleboard.org and the fbtft_device module does output data on SPI0… which is strange because I removed all the dtbo files and replaced the boot/dtbs file with my own.

Sorry for the triple post, I can’t find a way to edit previous posts. But I narrowed the issue down enough that hopefully someone can answer. After switching the tft bus from using spi1 to spi0, it works.

This tree works (spi0): https://pastebin.com/raw/vs4M5XAL
This tree doesn’t (spi1): https://pastebin.com/raw/iakK2dPE