|
@@ -230,6 +230,7 @@ static int ad7877_read(struct spi_device *spi, u16 reg)
|
|
AD7877_READADD(reg));
|
|
AD7877_READADD(reg));
|
|
req->xfer[0].tx_buf = &req->command;
|
|
req->xfer[0].tx_buf = &req->command;
|
|
req->xfer[0].len = 2;
|
|
req->xfer[0].len = 2;
|
|
|
|
+ req->xfer[0].cs_change = 1;
|
|
|
|
|
|
req->xfer[1].rx_buf = &req->sample;
|
|
req->xfer[1].rx_buf = &req->sample;
|
|
req->xfer[1].len = 2;
|
|
req->xfer[1].len = 2;
|
|
@@ -295,20 +296,25 @@ static int ad7877_read_adc(struct spi_device *spi, unsigned command)
|
|
|
|
|
|
req->xfer[0].tx_buf = &req->reset;
|
|
req->xfer[0].tx_buf = &req->reset;
|
|
req->xfer[0].len = 2;
|
|
req->xfer[0].len = 2;
|
|
|
|
+ req->xfer[0].cs_change = 1;
|
|
|
|
|
|
req->xfer[1].tx_buf = &req->ref_on;
|
|
req->xfer[1].tx_buf = &req->ref_on;
|
|
req->xfer[1].len = 2;
|
|
req->xfer[1].len = 2;
|
|
req->xfer[1].delay_usecs = ts->vref_delay_usecs;
|
|
req->xfer[1].delay_usecs = ts->vref_delay_usecs;
|
|
|
|
+ req->xfer[1].cs_change = 1;
|
|
|
|
|
|
req->xfer[2].tx_buf = &req->command;
|
|
req->xfer[2].tx_buf = &req->command;
|
|
req->xfer[2].len = 2;
|
|
req->xfer[2].len = 2;
|
|
req->xfer[2].delay_usecs = ts->vref_delay_usecs;
|
|
req->xfer[2].delay_usecs = ts->vref_delay_usecs;
|
|
|
|
+ req->xfer[2].cs_change = 1;
|
|
|
|
|
|
req->xfer[3].rx_buf = &req->sample;
|
|
req->xfer[3].rx_buf = &req->sample;
|
|
req->xfer[3].len = 2;
|
|
req->xfer[3].len = 2;
|
|
|
|
+ req->xfer[3].cs_change = 1;
|
|
|
|
|
|
req->xfer[4].tx_buf = &ts->cmd_crtl2; /*REF OFF*/
|
|
req->xfer[4].tx_buf = &ts->cmd_crtl2; /*REF OFF*/
|
|
req->xfer[4].len = 2;
|
|
req->xfer[4].len = 2;
|
|
|
|
+ req->xfer[4].cs_change = 1;
|
|
|
|
|
|
req->xfer[5].tx_buf = &ts->cmd_crtl1; /*DEFAULT*/
|
|
req->xfer[5].tx_buf = &ts->cmd_crtl1; /*DEFAULT*/
|
|
req->xfer[5].len = 2;
|
|
req->xfer[5].len = 2;
|
|
@@ -640,17 +646,21 @@ static void ad7877_setup_ts_def_msg(struct spi_device *spi, struct ad7877 *ts)
|
|
|
|
|
|
ts->xfer[0].tx_buf = &ts->cmd_crtl1;
|
|
ts->xfer[0].tx_buf = &ts->cmd_crtl1;
|
|
ts->xfer[0].len = 2;
|
|
ts->xfer[0].len = 2;
|
|
|
|
+ ts->xfer[0].cs_change = 1;
|
|
|
|
|
|
spi_message_add_tail(&ts->xfer[0], m);
|
|
spi_message_add_tail(&ts->xfer[0], m);
|
|
|
|
|
|
ts->xfer[1].tx_buf = &ts->cmd_dummy; /* Send ZERO */
|
|
ts->xfer[1].tx_buf = &ts->cmd_dummy; /* Send ZERO */
|
|
ts->xfer[1].len = 2;
|
|
ts->xfer[1].len = 2;
|
|
|
|
+ ts->xfer[1].cs_change = 1;
|
|
|
|
|
|
spi_message_add_tail(&ts->xfer[1], m);
|
|
spi_message_add_tail(&ts->xfer[1], m);
|
|
|
|
|
|
- for (i = 0; i < 11; i++) {
|
|
|
|
|
|
+ for (i = 0; i < AD7877_NR_SENSE; i++) {
|
|
ts->xfer[i + 2].rx_buf = &ts->conversion_data[AD7877_SEQ_YPOS + i];
|
|
ts->xfer[i + 2].rx_buf = &ts->conversion_data[AD7877_SEQ_YPOS + i];
|
|
ts->xfer[i + 2].len = 2;
|
|
ts->xfer[i + 2].len = 2;
|
|
|
|
+ if (i < (AD7877_NR_SENSE - 1))
|
|
|
|
+ ts->xfer[i + 2].cs_change = 1;
|
|
spi_message_add_tail(&ts->xfer[i + 2], m);
|
|
spi_message_add_tail(&ts->xfer[i + 2], m);
|
|
}
|
|
}
|
|
}
|
|
}
|