The McSPI needs a driver and there is currently no Linux Driver that supports SPI slave mode. The current driver /drivers/spi/spi-omap2-mcspi.c does not support slave mode. The Linux kernel SPI framework uses spi-omap2-mcspi driver on TI processors.
Regards, John > On Mar 27, 2016, at 12:35 PM, William Hermans <yyrk...@gmail.com> wrote: > > I'd actually look into using the McSPI module. Which is hardware, and does > support slave mode. > > On Sun, Mar 27, 2016 at 11:29 AM, John Syne <john3...@gmail.com > <mailto:john3...@gmail.com>> wrote: > Ah, what you are trying to do cannot be done with the current SPI driver > because Linux SPI framework does not support SPI slave mode. Recently someone > added I2C slave support to the I2C framework and that might be your first > place to look. My approach would be to create a custom SPI driver that does > not use the SPI framework. The length and frequency of messages will define > the driver design. For example, if the message length is smaller than the SPI > receive FIFO size, I would do this with interrupts, but the interrupt would > occur only when exceeding the FIFO threshold and then dump the full FIFO in > the bottom half interrupt handler. This way, you would get an interrupt on > every say every 32 receive bytes, which will reduce the interrupt overhead > and improve throughput. > > If the message length is more than the FIFO length, or if the message is > cyclical, then I would use DMA to copy the SPI data into a ping-pong buffer > arrangement. From the use space app, you would use poll to wait for a > complete buffer, and then read that buffer via read or mmap. > > Question is, how experienced are you at writing Linux drivers? This isn’t a > trivial task. > > Regards, > John > > > > >> On Mar 27, 2016, at 12:26 AM, Yaron Yzhak Lederman <yaron.leder...@gmail.com >> <mailto:yaron.leder...@gmail.com>> wrote: >> >> John Hi, >> >> Thank you for coming back on this. >> >> I'm trying to connect 2 SPI busses on the BBB (HDMI disabled) and configure >> SPI1 as SPI slave so that I can sent messages from SPI0 to SPI1 - this >> allows me my application development and laterone I'll connect the >> respective SPI slave and master devices >> >> Thank you >> Yaron >> >> On Wed, Mar 23, 2016 at 10:37 PM, John Syne <john3...@gmail.com >> <mailto:john3...@gmail.com>> wrote: >> What exactly are you trying to do? Please explain your application so that >> we can propose a solution. >> >> Regards, >> John >> >> >> >> >>> On Mar 23, 2016, at 4:29 AM, yaron.leder...@gmail.com >>> <mailto:yaron.leder...@gmail.com> wrote: >>> >>> Hi, >>> >>> Is there any resolution about this ? Since I'm having the same consideration >>> >>> Thanks ! >>> >>> >>> On Wednesday, November 4, 2015 at 4:15:23 PM UTC+2, ravi...@gmail.com >>> <http://gmail.com/> wrote: >>> Hi, >>> >>> I'm trying to setup SPI slave mode with same above method and changed >>> OMAP2_MCSPI_MODULCTRL_MS set to 0 for slave mode. >>> >>> i'm facing issue in master mode and slave both on sckl pin configuration. >>> >>> http://elinux.org/BeagleBone_Black_Enable_SPIDEV >>> <http://elinux.org/BeagleBone_Black_Enable_SPIDEV> in this link why sckl >>> pin is configured as INPUT 0x33 but it will work with same configuration if >>> i change it to OUTPUT it doesn't work with any slave device and no clock on >>> that pin. >>> >>> Please anyone clarify this doubt and issues. >>> >>> For slave mode i tried to change OMAP2_MCSPI_MODULCTRL_MS bit in driver >>> file spi_omap2_mcspi.c but no use. still its master only. >>> >>> Please provide any suggestion or exact procedure. >>> >>> Thank you in advance. >>> >>> Regard s >>> Ravi >>> >>> On Thursday, September 18, 2014 at 5:45:47 AM UTC+5:30, phil...@gmail.com >>> <> wrote: >>> >>> I am having issues with SPI between two BBB that may be simple to solve. I >>> have spidev_test loopback working on each board but am having problems >>> connecting the two. >>> >>> spi0 master dts: >>> 0x150 0x10 /* spi0_sclk, OUTPUT_PULLUP | MODE0 */ >>> 0x154 0x30 /* spi0_d0, INPUT_PULLUP | MODE0 */ >>> 0x158 0x10 /* spi0_d1, OUTPUT_PULLUP | MODE0 */ >>> 0x15c 0x10 /* spi0_cs0, OUTPUT_PULLUP | MODE0 */ >>> >>> spi slave dts: >>> 0x150 0x30 /* spi0_sclk, INPUT_PULLUP | MODE0 */ >>> 0x154 0x10 /* spi0_d0, OUTPUT_PULLUP | MODE0 */ >>> 0x158 0x30 /* spi0_d1, INPUT_PULLUP | MODE0 */ >>> 0x15c 0x30 /* spi0_cs0, INPUT_PULLUP | MODE0 */ >>> >>> >>> The oscilloscope shows activity when spi0_sckl (P9_17) is not connected but >>> nothing when P9_17 is connected between both boards. >>> I am sending bytes from master with the command: echo 1 > /dev/spidev1.0 >>> >>> I need 4-8mbit/sec transfer, is this achievable by bit banging over GPIO >>> and would that be a viable alternative to getting SPI working? >>> >>> >>> -- >>> For more options, visit http://beagleboard.org/discuss >>> <http://beagleboard.org/discuss> >>> --- >>> You received this message because you are subscribed to the Google Groups >>> "BeagleBoard" group. >>> To unsubscribe from this group and stop receiving emails from it, send an >>> email to beagleboard+unsubscr...@googlegroups.com >>> <mailto:beagleboard+unsubscr...@googlegroups.com>. >>> For more options, visit https://groups.google.com/d/optout >>> <https://groups.google.com/d/optout>. >> >> >> -- >> For more options, visit http://beagleboard.org/discuss >> <http://beagleboard.org/discuss> >> --- >> You received this message because you are subscribed to a topic in the >> Google Groups "BeagleBoard" group. >> To unsubscribe from this topic, visit >> https://groups.google.com/d/topic/beagleboard/jQ1LH6IDH1A/unsubscribe >> <https://groups.google.com/d/topic/beagleboard/jQ1LH6IDH1A/unsubscribe>. >> To unsubscribe from this group and all its topics, send an email to >> beagleboard+unsubscr...@googlegroups.com >> <mailto:beagleboard+unsubscr...@googlegroups.com>. >> For more options, visit https://groups.google.com/d/optout >> <https://groups.google.com/d/optout>. >> >> >> >> -- >> בברכה, >> >> ירון יצחק לדרמן >> 08-6909594 >> >> -- >> For more options, visit http://beagleboard.org/discuss >> <http://beagleboard.org/discuss> >> --- >> You received this message because you are subscribed to the Google Groups >> "BeagleBoard" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to beagleboard+unsubscr...@googlegroups.com >> <mailto:beagleboard+unsubscr...@googlegroups.com>. >> For more options, visit https://groups.google.com/d/optout >> <https://groups.google.com/d/optout>. > > > -- > For more options, visit http://beagleboard.org/discuss > <http://beagleboard.org/discuss> > --- > You received this message because you are subscribed to the Google Groups > "BeagleBoard" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to beagleboard+unsubscr...@googlegroups.com > <mailto:beagleboard+unsubscr...@googlegroups.com>. > For more options, visit https://groups.google.com/d/optout > <https://groups.google.com/d/optout>. > > > -- > For more options, visit http://beagleboard.org/discuss > <http://beagleboard.org/discuss> > --- > You received this message because you are subscribed to the Google Groups > "BeagleBoard" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to beagleboard+unsubscr...@googlegroups.com > <mailto:beagleboard+unsubscr...@googlegroups.com>. > For more options, visit https://groups.google.com/d/optout > <https://groups.google.com/d/optout>. -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.