![Freescale Semiconductor i.MX 6DualLite Reference Manual Download Page 232](http://html1.mh-extra.com/html/freescale-semiconductor/i-mx-6duallite/i-mx-6duallite_reference-manual_2330523232.webp)
32.2 Software Operation
The following sections describe the ECSPI software operation.
32.2.1 SPI Sub-System in Linux
The ECSPI driver layer is located between the client layer (SPI-NOR Flash are examples
of clients) and the hardware access layer. Figure below shows the block diagram for SPI
subsystem in Linux.
The SPI requests go into I/O queues. Requests for a given SPI device are executed in
FIFO order and they complete asynchronously through completion callbacks. There are
also some simple synchronous wrappers for those calls including the ones for common
transaction types such as writing a command and then reading its response.
SPI-NOR
mtd driver
Client #2 driver
....
Client #3 driver
SPI Subsystem
ECSPI Hardware
SPI-NOR Flash
Client #2
Client #3
....
Figure 32-1. SPI Subsystem
All SPI clients must have a protocol driver associated with them and they all must be
sharing the same controller driver. Only the controller driver can interact with the
underlying SPI hardware module. Figure below shows how the different SPI drivers are
layered in the SPI subsystem.
Software Operation
i.MX 6Solo/6DualLite Linux Reference Manual, Rev. L3.0.35_4.1.0, 09/2013
232
Freescale Semiconductor, Inc.