I am working on bringing up SPI on Kontron's Atom-based SMARC-sXBTi board under Linux.
Kontron provided Yocto BSP but it does not include SPI driver.
I rebuilt Linux with SPI support. I can see the SPI controller in lspci and in sysfs the SPI PCI device is bound to pca2xx_spi_pci driver.
As I understand this is a platform driver which does not expose user mode API and I need spidev to be able to work via /dev/spidev but when I modeprobe spidev
I don't see anything happening: no file added to /dev, nothing in dmesg.
Do I need to configure spidev? The BSP does not include device tree. How can spidev find and talk to its PCI SPI controller?
I found that Valley Island (Baytrail) BSP provides much better hardware support for Kontron SMARC than Kontron BSP. It comes with spidev and other drivers necessary to access Atom peripherals.
Not directly related to the question (just to inform those developing on SXBTI SMARC platform): there are couple of things required which are not part of this BSP: Ethernet and eMMC flash. The former can be added by enabling Intel IGB driver in kernel, the latter... I'm still trying to figure it out.