SPI client Driver
SPI Core Driver
ECSPI Controller Driver
ECSPI Controller
SPI Slave
(SPI-NOR Flash)
Client Driver Interface
Controller Driver Interace
FSL ECSPI driver
(spi_imx.c)
SPI Bus Interface
Electrical Interface
SPI slave driver
SPI core driver
ECSPI host
controller driver
SPI slave device
Figure 25-2. Layering of SPI Drivers in SPI Subsystem
25.2.2 Software Limitations
The ECSPI driver limitations are as follows:
• Does not currently have SPI slave logic implementation
• Does not support a single client connected to multiple masters
• Does not currently implement the user space interface with the help of the device
node entry but supports sysfs interface
25.2.3 Standard Operations
The ECSPI driver is responsible for implementing standard entry points for init, exit, chip
select, and transfer. The driver implements the following functions:
• Init function spi_imx_init() registers the device_driver structure.
• Probe function spi_imx_probe() performs initialization and registration of the SPI
device specific structure with SPI core driver. The driver probes for memory and
IRQ resources. Configures the IOMUX to enable ECSPI I/O pins, requests for IRQ
and resets the hardware.
• Chip select function spi_imx_chipselect() configures the hardware ECSPI for the
current SPI device. Sets the word size, transfer mode, data rate for this device.
• SPI transfer function spi_imx_transfer() handles data transfers operations.
• SPI setup function spi_imx_setup() initializes the current SPI device.
• SPI driver ISR spi_imx_isr() is called when the data transfer operation is completed
and an interrupt is generated.
Chapter 25 Enhanced Configurable Serial Peripheral Interface (ECSPI) Driver
i.MX 6SoloLite Linux Reference Manual, Rev. L3.0.35_4.1.0, 09/2013
Freescale Semiconductor, Inc.
157
Содержание i.MX 6SoloLite Linux
Страница 1: ...i MX 6SoloLite Linux Reference Manual Document Number IMXL6SLRM Rev L3 0 35_4 1 0 09 2013 ...
Страница 2: ...i MX 6SoloLite Linux Reference Manual Rev L3 0 35_4 1 0 09 2013 2 Freescale Semiconductor Inc ...
Страница 16: ...i MX 6SoloLite Linux Reference Manual Rev L3 0 35_4 1 0 09 2013 16 Freescale Semiconductor Inc ...
Страница 26: ...Overview i MX 6SoloLite Linux Reference Manual Rev L3 0 35_4 1 0 09 2013 26 Freescale Semiconductor Inc ...
Страница 42: ...Overview i MX 6SoloLite Linux Reference Manual Rev L3 0 35_4 1 0 09 2013 42 Freescale Semiconductor Inc ...
Страница 102: ...Hardware Operation i MX 6SoloLite Linux Reference Manual Rev L3 0 35_4 1 0 09 2013 102 Freescale Semiconductor Inc ...
Страница 118: ...Unit Test i MX 6SoloLite Linux Reference Manual Rev L3 0 35_4 1 0 09 2013 118 Freescale Semiconductor Inc ...
Страница 122: ...Driver Features i MX 6SoloLite Linux Reference Manual Rev L3 0 35_4 1 0 09 2013 122 Freescale Semiconductor Inc ...
Страница 126: ...Driver Features i MX 6SoloLite Linux Reference Manual Rev L3 0 35_4 1 0 09 2013 126 Freescale Semiconductor Inc ...
Страница 136: ...Unit Test i MX 6SoloLite Linux Reference Manual Rev L3 0 35_4 1 0 09 2013 136 Freescale Semiconductor Inc ...
Страница 140: ...Introduction i MX 6SoloLite Linux Reference Manual Rev L3 0 35_4 1 0 09 2013 140 Freescale Semiconductor Inc ...
Страница 154: ...Driver Features i MX 6SoloLite Linux Reference Manual Rev L3 0 35_4 1 0 09 2013 154 Freescale Semiconductor Inc ...
Страница 162: ...Driver Features i MX 6SoloLite Linux Reference Manual Rev L3 0 35_4 1 0 09 2013 162 Freescale Semiconductor Inc ...
Страница 172: ...System WakeUp i MX 6SoloLite Linux Reference Manual Rev L3 0 35_4 1 0 09 2013 172 Freescale Semiconductor Inc ...
Страница 184: ...Programming Interface i MX 6SoloLite Linux Reference Manual Rev L3 0 35_4 1 0 09 2013 184 Freescale Semiconductor Inc ...
Страница 192: ...Generic WDOG Driver i MX 6SoloLite Linux Reference Manual Rev L3 0 35_4 1 0 09 2013 192 Freescale Semiconductor Inc ...
Страница 198: ...Requirements i MX 6SoloLite Linux Reference Manual Rev L3 0 35_4 1 0 09 2013 198 Freescale Semiconductor Inc ...