OK, you have several options on how to implement this. First, look in drivers/iio or drivers/staging/iio for example drivers that use SPI. If you use the RT kernel, you will see latency of less than 1mS, but if this isn’t good enough, then I recommend using the PRU to program the McSPI. For examples of how to program the McSPI natively, look at Starterware for example code. If you look on Github, the Starterware examples have been ported to the PRU.
Regards, John > On Jan 5, 2016, at 4:57 AM, Chengcong BAO <[email protected]> wrote: > > Hello, > Thanks for replying firstly. > Actully, i am using beaglebone black with debian to developpe a system, which > needs at least 72 I/Os (36 outputs, and 36 inputs for interruptions). So i > use SPI and I/O expanders to controls the 36 outputs so that i have enough > GPIOs for Inputs. I am writing an kernel module for the 36 interrupt inputs. > Now, my SPI is working in User-Space by using /dev/spidev1.0, but i want to > integrate the SPI inside my kernel module as well. I wonder if it is > possible? > Because i want to measure the time between output and input (input signal is > from a sensor). Since SPI is in user-space, so the output is not always sent > in time, sometimes it has 4 or 5 ms delay, which it's a big deal to me. > > Thanks, > > Regards, > Cheng > > 2016-01-04 19:20 GMT+01:00 John Syne <[email protected] > <mailto:[email protected]>>: > It would be helpful if you explained what it is you are trying to do and then > we will provide suggestions on how to proceed. > > Regards, > John > > > > >> On Jan 4, 2016, at 1:34 AM, [email protected] >> <mailto:[email protected]> wrote: >> >> Hello, >> I saw your publish question about using SPI in a kernel module. I kind of >> stucking in this problem as well. >> So i wonder if you find a solution? >> >> I know it's too late to ask, but i hope i'm lucky to get some feedback from >> you. >> >> Regards, >> Cheng >> >> Le lundi 28 juillet 2014 16:00:59 UTC+2, Nils a écrit : >> Hello, >> >> I'm currently working on a kernel module which needs to communicate via SPI >> to an external microchip. >> >> I used the cape manager to enable SPI. The device is accessible through >> /dev/spidev1.0. >> But since it's a kernel module, I guess it's not recommended to access files >> via sys_open()? >> >> Another approach I found would be adding a struct to >> arch/arm/mach-omap2/board-am335xevm.c and then use spi_register_driver() in >> my kernel module. But in my kernel sources (3.8.13) this file doesn't exist. >> >> What would be the right way to use SPI in my kernel module? >> >> Regards, >> Nils >> >> -- >> 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 [email protected] >> <mailto:[email protected]>. >> 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/k4LIScayF9M/unsubscribe > <https://groups.google.com/d/topic/beagleboard/k4LIScayF9M/unsubscribe>. > To unsubscribe from this group and all its topics, send an email to > [email protected] > <mailto:[email protected]>. > 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 [email protected] > <mailto:[email protected]>. > 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 [email protected]. For more options, visit https://groups.google.com/d/optout.
