From: James C. <pea...@gm...> - 2012-02-03 04:19:41
|
So more follow up on this: If the transfers are done in PIO it gives a different error: "RXS timed out" which is like 494 in drivers/spi/omap2_mcspi.c this occurs when the received word flag doesn't flip in MCSPI_RXx HOWEVER the interesting thing is when I switch to a duplex message (i.e. xfer[0].rx_buf = (unsigned long) buf; xfer[0].len = len; xfer[0].tx_buf = (unsigned long) tx_buf; xfer[0].len = len; status = ioctl(dev_fd, SPI_IOC_MESSAGE(1), xfer); ) the problem went away. This section of the omap2-mcspi.c: /* RX_ONLY mode needs dummy data in TX reg */ if (t->tx_buf == NULL) __raw_writel(0, cs->base + OMAP2_MCSPI_TX0); is probably not working and might need __raw_writel(*tx++, tx_reg); added after it. -- View this message in context: http://gumstix.8.n6.nabble.com/Spidev-lockup-with-omap-3-0-r103-tp4359993p4360727.html Sent from the Gumstix mailing list archive at Nabble.com. |