In the example above, the client SPI device driver for both devices is SPIDEV (compatible = "linux,spidev";), which provides access to the SPI device from the user space using raw SPI transactions. This interface is frequently used in embedded applications to control SPI devices (such as, for instance, SPI sensors) directly from user space code. You need to add a device-tree node to the SPI controller to use a kernel driver. Note that you can also access SPI from userspace using spidev (see below ) An example device-tree child node for a Spansion m25p128 compatible device (S25FL128) 128Mbit (16MB) SPI NOR FLASH device would be:.