This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

ADS7845: LSB of SPI clocked data is always either 0x78 or 0xF8

Part Number: ADS7845

Touchscreen: FTAS00-10.4A-5 (5-wire)

TS Controller: ADS7845 on the TI ADS7845 Eval Kit

Input Voltage: 3.3V

VREF is N/C to allow for Differential (no jumpers on JMP1)

wiring from Touchscreen to header on Eval Kit triple checked.

Generally, the electrical configuration is working as expected: touch the screen, get an interrupt, MOSI/MISO traffic is functional.

With one exception: for both the X and Y reported data, the LSB is always either 0x78 or 0xF8. And this causes significant mis-reporting of where the touch occurs. Running ts_calibrate helps, but the results are only accurate near the calibration points. I realize that the lower 3 bits should always be 0, bit I would at least expect the upper nibble of the LSB to be more dynamic.

I am using a logic analyzer to watch the MOSI/MISO stream, so at this point the (Linux) driver is not yet in question.

Here is a series of transactions between the CPU and the 7845 when touching the center of the screen:

MOSI / MISO

0x91 / 0x00 - Start/Y/12-bit/Differential/Power Down/IRQ Disabled

0x00 / 0xBA

0x00 / 0xF8

0xD1 / 0x00 - Start/X/12-bit/Differential/Power Down/IRQ Disabled

0x00 / 0xB6

0x00 / 0x78

0x91 / 0x00 - Start/Y/12-bit/Differential/Power Down/IRQ Enabled

0x00 / 0xB7

0x00 / 0xF8

0x91 / 0x00

0x00 / 0xBB

0x00 / 0xF8

0xD1 / 0x00

0x00 / 0xB7

0x00 / 0xF8

0x90 / 0x00

0x00 / 0xB8

0x00 / 0xF8

Thoughts on why this might be occurring and how to rectify it?