diff options
| author | Wolfgang Wegner <w.wegner@astro-kom.de> | 2010-04-23 05:43:12 +0000 | 
|---|---|---|
| committer | Andy Fleming <afleming@freescale.com> | 2011-04-13 06:35:22 -0500 | 
| commit | b97e0cd78837180e122cd9209b9e71e2c2d3f911 (patch) | |
| tree | 1899988cc0056d39195a026fe1e1a3dc3f80d21a /drivers/spi/cf_spi.c | |
| parent | ce0fbcd2e1bd8c7b0975589b9853f3e8914aa406 (diff) | |
| download | olio-uboot-2014.01-b97e0cd78837180e122cd9209b9e71e2c2d3f911.tar.xz olio-uboot-2014.01-b97e0cd78837180e122cd9209b9e71e2c2d3f911.zip | |
add CONFIG_SPI_IDLE_VAL for cf_spi.c to allow use of spi_mmc
This patch adds CONFIG_SPI_IDLE_VAL to cf_spi.c
The default setting is 0x0 to behave same as current version, in case
CONFIG_SPI_MMC is set, the value is set to 0xFFFF (all ones). In either
case, the value can be overwritten by board configuration.
Signed-off-by: Wolfgang Wegner <w.wegner@astro-kom.de>
Signed-off-by: Andy Fleming <afleming@freescale.com>
Diffstat (limited to 'drivers/spi/cf_spi.c')
| -rw-r--r-- | drivers/spi/cf_spi.c | 14 | 
1 files changed, 11 insertions, 3 deletions
| diff --git a/drivers/spi/cf_spi.c b/drivers/spi/cf_spi.c index 722aafc73..a883da936 100644 --- a/drivers/spi/cf_spi.c +++ b/drivers/spi/cf_spi.c @@ -49,6 +49,14 @@ extern void cfspi_release_bus(uint bus, uint cs);  DECLARE_GLOBAL_DATA_PTR; +#ifndef CONFIG_SPI_IDLE_VAL +#if defined(CONFIG_SPI_MMC) +#define CONFIG_SPI_IDLE_VAL	0xFFFF +#else +#define CONFIG_SPI_IDLE_VAL	0x0 +#endif +#endif +  #if defined(CONFIG_CF_DSPI)  /* DSPI specific mode */  #define SPI_MODE_MOD	0x00200000 @@ -145,7 +153,7 @@ int cfspi_xfer(struct spi_slave *slave, uint bitlen, const void *dout,  			}  			if (din != NULL) { -				cfspi_tx(ctrl, 0); +				cfspi_tx(ctrl, CONFIG_SPI_IDLE_VAL);  				if (cfslave->charbit == 16)  					*spi_rd16++ = cfspi_rx();  				else @@ -169,7 +177,7 @@ int cfspi_xfer(struct spi_slave *slave, uint bitlen, const void *dout,  		}  		if (din != NULL) { -			cfspi_tx(ctrl, 0); +			cfspi_tx(ctrl, CONFIG_SPI_IDLE_VAL);  			if (cfslave->charbit == 16)  				*spi_rd16 = cfspi_rx();  			else @@ -177,7 +185,7 @@ int cfspi_xfer(struct spi_slave *slave, uint bitlen, const void *dout,  		}  	} else {  		/* dummy read */ -		cfspi_tx(ctrl, 0); +		cfspi_tx(ctrl, CONFIG_SPI_IDLE_VAL);  		cfspi_rx();  	} |