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.

Reply via email to