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 <[email protected]> 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 < > [email protected]> 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 <[email protected]> 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, [email protected] 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, [email protected] >> 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 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, >>> [email protected] 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 >> --- >> 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 [email protected]. >> For more options, visit https://groups.google.com/d/optout. >> >> >> >> -- >> For more options, visit 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. >> To unsubscribe from this group and all its topics, send an email to >> [email protected]. >> For more options, visit https://groups.google.com/d/optout. >> > > > > -- > בברכה, > > ירון יצחק לדרמן > 08-6909594 > > -- > 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 [email protected]. > For more options, visit 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 [email protected]. > For more options, visit 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 [email protected]. For more options, visit https://groups.google.com/d/optout.
