You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
spi: add SPI driver for most known i.MX SoCs
This driver has been tested on i.MX1/i.MX27/i.MX35 with an AT25 type EEPROM and on i.MX27/i.MX31 with a Freescale MC13783 PMIC. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Tested-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Acked-by: David Brownell <david-b@pacbell.net> Cc: Andrea Paterniani <a.paterniani@swapp-eng.it> Cc: Russell King <rmk@arm.linux.org.uk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
committed by
Linus Torvalds
parent
f33b29ee33
commit
b5f3294f0b
@@ -0,0 +1,27 @@
|
||||
|
||||
#ifndef __MACH_SPI_H_
|
||||
#define __MACH_SPI_H_
|
||||
|
||||
/*
|
||||
* struct spi_imx_master - device.platform_data for SPI controller devices.
|
||||
* @chipselect: Array of chipselects for this master. Numbers >= 0 mean gpio
|
||||
* pins, numbers < 0 mean internal CSPI chipselects according
|
||||
* to MXC_SPI_CS(). Normally you want to use gpio based chip
|
||||
* selects as the CSPI module tries to be intelligent about
|
||||
* when to assert the chipselect: The CSPI module deasserts the
|
||||
* chipselect once it runs out of input data. The other problem
|
||||
* is that it is not possible to mix between high active and low
|
||||
* active chipselects on one single bus using the internal
|
||||
* chipselects. Unfortunately Freescale decided to put some
|
||||
* chipselects on dedicated pins which are not usable as gpios,
|
||||
* so we have to support the internal chipselects.
|
||||
* @num_chipselect: ARRAY_SIZE(chipselect)
|
||||
*/
|
||||
struct spi_imx_master {
|
||||
int *chipselect;
|
||||
int num_chipselect;
|
||||
};
|
||||
|
||||
#define MXC_SPI_CS(no) ((no) - 32)
|
||||
|
||||
#endif /* __MACH_SPI_H_*/
|
||||
@@ -116,6 +116,14 @@ config SPI_GPIO
|
||||
GPIO operations, you should be able to leverage that for better
|
||||
speed with a custom version of this driver; see the source code.
|
||||
|
||||
config SPI_IMX
|
||||
tristate "Freescale i.MX SPI controllers"
|
||||
depends on ARCH_MXC
|
||||
select SPI_BITBANG
|
||||
help
|
||||
This enables using the Freescale i.MX SPI controllers in master
|
||||
mode.
|
||||
|
||||
config SPI_LM70_LLP
|
||||
tristate "Parallel port adapter for LM70 eval board (DEVELOPMENT)"
|
||||
depends on PARPORT && EXPERIMENTAL
|
||||
|
||||
@@ -17,6 +17,7 @@ obj-$(CONFIG_SPI_BITBANG) += spi_bitbang.o
|
||||
obj-$(CONFIG_SPI_AU1550) += au1550_spi.o
|
||||
obj-$(CONFIG_SPI_BUTTERFLY) += spi_butterfly.o
|
||||
obj-$(CONFIG_SPI_GPIO) += spi_gpio.o
|
||||
obj-$(CONFIG_SPI_IMX) += mxc_spi.o
|
||||
obj-$(CONFIG_SPI_LM70_LLP) += spi_lm70llp.o
|
||||
obj-$(CONFIG_SPI_PXA2XX) += pxa2xx_spi.o
|
||||
obj-$(CONFIG_SPI_OMAP_UWIRE) += omap_uwire.o
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user