The problem is all SPI RX data is zero. TX Data goes out just fine, appears
out the SIMO line, along with SCLK and CS0. I've verified that the data is
getting to the expansion connector.
I've also configured the SOMI pad to have a pullup, which I verified on the
pin itself, which should produce all ones for RX data, but I still get
zeros.
I've also configured the SOMI pin as gpio, and verified that the data is
getting through to the cpu using /sys/class/gpio for testing. Both 1's and
0's work fine on the pin when being used as gpio, but not SPI.
I'm beginning to suspect that there is something wrong with the SPI
controller, but I doubt it.
I've also added some debugging code to drivers/spi/omap2_mcspi.c to print
out the data as it goes in an out of the driver. Here too, RX data is all
zeros. One place I did this is inside omap2_mcspi_txrx_pio, which is used
when the number of bytes to transfer is less than 8. It made it easier to
verify each byte going in and out.
I'm using linux-omap_git package for my kernel,
(Angstrom/2.6.27+2.6.28-rc6+r2+git). I know this is a few weeks old, but
I've looked through the commits and I don't see anything that would address
this.
Anyone have any insight on this issue?
Kevin
A couple of things to check (that I've thought of, but haven't looked into):
1) Make sure that OE is pulling recent code.....at one point we found
the recipe was pulling code some 5 months old off of the git tree
2) Are the IO's being setup properly (I think this is still being done
in Uboot)? I seem to remember several places that this could be mucked up.
3) There are some MCBSP driver patches that I'm not sure if they've made
it into the main tree.....Tony Lindgren did the work with patches being
released around September 24th.
Let me know if you have any success.
Thanks,
Keith