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.

AM3352: SPI1 read data error

Part Number: AM3352

On customer's internal fan out product new board, SPI1 read data error. in order to exclude external device impact, disconnected external device from resistor, and connect MISO and MOSI together from resistor pad as below to test read operation. signal on right is on layer 3.

Do same test on SPI0 and SPI1, the test result on SPI0 is right, but on SPI1 is wrong.

Tried to decrease SPI1_CLK from 24MHz to 100KHz, same error pattern.

And tried to use GPIO mode SPI on the same pins, can read back rightly, so the hardware should be right.

dts configuration:

Captured wave:

read back Pin mux configuration with devmem2:

Kernel configuration:

read back SPI registers:

no matter mode 0 or mode 2, same result:

The SDK is a little old: SDK am335x-evm-sdk-src-07.00.00.00.tar.gz  Kernel3.12.10

But the same SDK on old boards work with SPI1 normally.

Please give us some advices on how to identify the issue?

  • Hello Tony,

    Apologies for the delayed response here. That Linux kernel is too old for us to support. I am sending your thread to a member of our hardware team to comment.

    * Do you have an idea of what changed for SPI1 from a hardware perspective between the two board designs?

    * This is observed on multiple new boards, right? (not just a single board)?

    Regards,

    Nick

  • Nick,

    Yes, on all new board. and configure the SPI pins as GPIO to use GPIO simulate SPI driver, it works, so at least there is not problem on hardware soldering.

    they did not tell me which SPI1 pin used on old board.

  • Tony

    There has to be an issues with the setup. The bit transmitted and received bit patterns are not even close. Only 1 bit per byte is set high yet the receiver is seeing 3 bit times set in 2 consecutive words. 

    It would be good to see some other test data like  0xFF, 0x55, 0xF0, 0x0F.

    --Paul