i.MX51 EVK Linux Reference Manual
Freescale Semiconductor
26-1
Chapter 26
Configurable Serial Peripheral Interface (CSPI) Driver
The CSPI driver implements a standard Linux driver interface to the CSPI controllers. It supports the
following features:
•
Interrupt- and SDMA-driven transmit/receive of bytes
•
Multiple master controller interface
•
Multiple slaves select
•
Multi-client requests
26.1
Hardware Operation
CSPI is used for fast data communication with fewer software interrupts than conventional serial
communications. Each CSPI is equipped with a data FIFO and is a master/slave configurable serial
peripheral interface module, allowing the processor to interface with external SPI master or slave devices.
The primary features of the CSPI includes:
•
Master/slave-configurable
•
Two chip selects allowing a maximum of four different slaves each for master mode operation
•
Up to 32-bit programmable data transfer
•
8
×
32-bit FIFO for both transmit and receive data
•
Configurable polarity and phase of the Chip Select (SS) and SPI Clock (SCLK)
26.2
Software Operation
The following sections describe the CSPI software operation.
26.2.1
SPI Sub-System in Linux
The CSPI driver layer is located between the client layer (PMIC and SPI Flash are examples of clients)
and the hardware access layer.
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
complete asynchronously through completion callbacks. There are also some simple synchronous
Summary of Contents for i.MX51 EVK
Page 1: ...Part Number 924 76374 Rev 10 11 01 11 2010 i MX51 EVK Linux Reference Manual...
Page 14: ...i MX51 EVK Linux Reference Manual xiv Freescale Semiconductor...
Page 18: ...i MX51 EVK Linux Reference Manual xviii Freescale Semiconductor...
Page 24: ...i MX51 EVK Linux Reference Manual xxiv Freescale Semiconductor...
Page 38: ...Machine Specific Layer MSL i MX51 EVK Linux Reference Manual 2 8 Freescale Semiconductor...
Page 52: ...MC13892 Digitizer Driver i MX51 EVK Linux Reference Manual 5 4 Freescale Semiconductor...
Page 64: ...TV Encoder TVE Driver i MX51 EVK Linux Reference Manual 10 4 Freescale Semiconductor...
Page 82: ...Video for Linux Two V4L2 Driver i MX51 EVK Linux Reference Manual 12 8 Freescale Semiconductor...
Page 86: ...i MX5 Dual Display i MX51 EVK Linux Reference Manual 13 4 Freescale Semiconductor...
Page 100: ...X Windows Acceleration i MX51 EVK Linux Reference Manual 16 6 Freescale Semiconductor...
Page 118: ...Low Level Keypad Driver i MX51 EVK Linux Reference Manual 20 6 Freescale Semiconductor...
Page 134: ...Security Drivers i MX51 EVK Linux Reference Manual 22 10 Freescale Semiconductor...
Page 148: ...Inter IC I2C Driver i MX51 EVK Linux Reference Manual 24 4 Freescale Semiconductor...
Page 178: ...ARC USB Driver i MX51 EVK Linux Reference Manual 29 10 Freescale Semiconductor...
Page 194: ...OProfile i MX51 EVK Linux Reference Manual 33 6 Freescale Semiconductor...