forked from luck/tmp_suning_uos_patched
Merge remote-tracking branch 'spi/topic/davinci' into spi-next
This commit is contained in:
commit
f0a2a049f5
|
@ -215,18 +215,10 @@ static void davinci_spi_chipselect(struct spi_device *spi, int value)
|
|||
struct davinci_spi_config *spicfg = spi->controller_data;
|
||||
u8 chip_sel = spi->chip_select;
|
||||
u16 spidat1 = CS_DEFAULT;
|
||||
bool gpio_chipsel = false;
|
||||
int gpio;
|
||||
|
||||
dspi = spi_master_get_devdata(spi->master);
|
||||
pdata = &dspi->pdata;
|
||||
|
||||
if (spi->cs_gpio >= 0) {
|
||||
/* SPI core parse and update master->cs_gpio */
|
||||
gpio_chipsel = true;
|
||||
gpio = spi->cs_gpio;
|
||||
}
|
||||
|
||||
/* program delay transfers if tx_delay is non zero */
|
||||
if (spicfg->wdelay)
|
||||
spidat1 |= SPIDAT1_WDEL;
|
||||
|
@ -235,11 +227,12 @@ static void davinci_spi_chipselect(struct spi_device *spi, int value)
|
|||
* Board specific chip select logic decides the polarity and cs
|
||||
* line for the controller
|
||||
*/
|
||||
if (gpio_chipsel) {
|
||||
if (spi->cs_gpio >= 0) {
|
||||
if (value == BITBANG_CS_ACTIVE)
|
||||
gpio_set_value(gpio, spi->mode & SPI_CS_HIGH);
|
||||
gpio_set_value(spi->cs_gpio, spi->mode & SPI_CS_HIGH);
|
||||
else
|
||||
gpio_set_value(gpio, !(spi->mode & SPI_CS_HIGH));
|
||||
gpio_set_value(spi->cs_gpio,
|
||||
!(spi->mode & SPI_CS_HIGH));
|
||||
} else {
|
||||
if (value == BITBANG_CS_ACTIVE) {
|
||||
spidat1 |= SPIDAT1_CSHOLD_MASK;
|
||||
|
|
Loading…
Reference in New Issue
Block a user