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.

DM3730 GPIO SPI3 strange behaviour

Other Parts Discussed in Thread: DM3730

Hi, first post here hopefully someone can help.

I have a system using DM3730/Uboot and Linux 2.6.32 kernel.  Attempting to use the SPI3 port and have configured the GPIO in the omap_board_mux structure in arch/arm/mach-omap2/board-omap3tdm3730.c I have added:

 OMAP3_MUX(ETK_D3, OMAP_MUX_MODE1 | OMAP_PIN_OUTPUT ), //CLOCK
 OMAP3_MUX(ETK_D0, OMAP_MUX_MODE1 | OMAP_PIN_OUTPUT), //SIMO
 OMAP3_MUX(ETK_D2, OMAP_MUX_MODE1 | OMAP_PIN_OUTPUT), //CS0
 OMAP3_MUX(ETK_D7, OMAP_MUX_MODE1 | OMAP_PIN_OUTPUT),
 OMAP3_MUX(ETK_D1, OMAP_MUX_MODE1 | OMAP_PIN_INPUT), //SOMI

The problem I am getting is that I see no data on the SPI input, the signal is there I have scoped it and at the correct voltage state.

Is there any way that I can check the register status' from the bash terminal so I can see if the pinmux is still set as an input ?

 

Thanks in advance

Marc

  • After a lot of digging on the web I found a site for the Beagle board which uses the same processor and a little caveat shows why I just see 0x00 in the reads.

     

    (*) Important: The CLK pins must be put in input mode for the chip to correctly register input on SOMI. Failure to set CLK as an input will result in all reads producing zeros.

     

    So the settings should be :

     OMAP3_MUX(ETK_D3, OMAP_MUX_MODE1 | OMAP_PIN_INPUT ), //CLOCK
    OMAP3_MUX(ETK_D0, OMAP_MUX_MODE1 | OMAP_PIN_OUTPUT), //SIMO
    OMAP3_MUX(ETK_D2, OMAP_MUX_MODE1 | OMAP_PIN_OUTPUT), //CS0
    OMAP3_MUX(ETK_D7, OMAP_MUX_MODE1 | OMAP_PIN_OUTPUT),
    OMAP3_MUX(ETK_D1, OMAP_MUX_MODE1 | OMAP_PIN_INPUT), //SOMI

    Hopefully this will help someone else with the same problem.

     

  • Thank you for this post! 

    I have encountered the same problem using DM3730 on Technexion board. I guess this is a consequence of the fact that the clock sources are in a separate block, independent from SPI block...