aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/spi/Kconfig
diff options
context:
space:
mode:
authorMingkai Hu <Mingkai.hu@freescale.com>2010-10-12 06:18:32 -0400
committerGrant Likely <grant.likely@secretlab.ca>2010-10-12 23:38:12 -0400
commit8b60d6c25b2a2d3525d5322de856c3ca408e5783 (patch)
tree2dd4c2c98f9facd87e052795ea79be0c734ec400 /drivers/spi/Kconfig
parentb36ece832512c1a0afa54ff0a56d63492a1caf08 (diff)
spi/fsl_spi: add eSPI controller support
Add eSPI controller support based on the library code spi_fsl_lib.c. The eSPI controller is newer controller 85xx/Pxxx devices supported. There're some differences comparing to the SPI controller: 1. Has different register map and different bit definition So leave the code operated the register to the driver code, not the common code. 2. Support 4 dedicated chip selects The software can't controll the chip selects directly, The SPCOM[CS] field is used to select which chip selects is used, and the SPCOM[TRANLEN] field is set to tell the controller how long the CS signal need to be asserted. So the driver doesn't need the chipselect related function when transfering data, just set corresponding register fields to controll the chipseclect. 3. Different Transmit/Receive FIFO access register behavior For SPI controller, the Tx/Rx FIFO access register can hold only one character regardless of the character length, but for eSPI controller, the register can hold 4 or 2 characters according to the character lengths. Access the Tx/Rx FIFO access register of the eSPI controller will shift out/in 4/2 characters one time. For SPI subsystem, the command and data are put into different transfers, so we need to combine all the transfers to one transfer in order to pass the transfer to eSPI controller. 4. The max transaction length limitation The max transaction length one time is limitted by the SPCOM[TRANSLEN] field which is 0xFFFF. When used mkfs.ext2 command to create ext2 filesystem on the flash, the read length will exceed the max value of the SPCOM[TRANSLEN] field. Signed-off-by: Mingkai Hu <Mingkai.hu@freescale.com> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Diffstat (limited to 'drivers/spi/Kconfig')
-rw-r--r--drivers/spi/Kconfig9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig
index 0e6619426ea4..9949c252c23d 100644
--- a/drivers/spi/Kconfig
+++ b/drivers/spi/Kconfig
@@ -195,6 +195,15 @@ config SPI_FSL_SPI
195 MPC83xx platform uses the controller in cpu mode or CPM/QE mode. 195 MPC83xx platform uses the controller in cpu mode or CPM/QE mode.
196 MPC8569 uses the controller in QE mode, MPC8610 in cpu mode. 196 MPC8569 uses the controller in QE mode, MPC8610 in cpu mode.
197 197
198config SPI_FSL_ESPI
199 tristate "Freescale eSPI controller"
200 depends on FSL_SOC
201 select SPI_FSL_LIB
202 help
203 This enables using the Freescale eSPI controllers in master mode.
204 From MPC8536, 85xx platform uses the controller, and all P10xx,
205 P20xx, P30xx,P40xx, P50xx uses this controller.
206
198config SPI_OMAP_UWIRE 207config SPI_OMAP_UWIRE
199 tristate "OMAP1 MicroWire" 208 tristate "OMAP1 MicroWire"
200 depends on ARCH_OMAP1 209 depends on ARCH_OMAP1