I would like to have fbtft showing boot splash screen at startup and then, when the boot is finished, start a program which directly talks to the display via /dev/spidev0.0
When I enable fbtft (modprobe fbtft_device and modprobe flexfb), the device /dev/spidev0.0 disappears, so the user program cannot talk to the display. How can I disable fbtft and reenable spidev at runtime? I tried
modprobe -r flexfb
modprobe -r spidev
modprobe -r spi_bcm2835
modprobe spidev
modprobe spi_bcm2835
Without success. There are no errors and fbtft seems to be disabled (no mention in lsmod) but there is still no /dev/spidev0.0, only /dev/spidev0.1
What I am missing?
Thanks a lot!
According to the developer of fbtft, the module fbtft_device does not restore the spidev device when unloaded. In order to restore it at runtime, one could create a Device Tree overlay that adds a spidev device and load it using the dtoverlay
command.
As I have no experience in device tree, I followed an other idea of the fbftft developer (thanks for the hint): I made a initramfs with my own splashscreen program (using spidev), avoiding fbtft altogether.
See fbftft issue 548