help with coding a loadable kernel module

Daniel Braniss danny at cs.huji.ac.il
Fri Apr 17 10:47:21 UTC 2015


> On Apr 17, 2015, at 12:55 PM, Tom Jones <jones at sdf.org> wrote:
> 
> On Fri, Apr 17, 2015 at 12:15:33PM +0300, Daniel Braniss wrote:
>> 
>>> On Apr 17, 2015, at 11:08 AM, Kurt Jaeger <lists at opsec.eu> wrote:
>>> 
>>> Hi!
>>> 
>>>> I know I'm embarking on a dangerous trip, but I want to use a Raspberry Pi
>>>> and or a BeagleBone to read (and write) RFID cards.
>>>> Since a driver is needed to use the spibus, I have 2 options while
>>>> developing:
>>> [...]
>>>> So before I give up on option 2, is there some examples/help?
>>> 
>>> Are you aware of this book ?
>>> 
>>> http://www.nostarch.com/bsddrivers.htm <http://www.nostarch.com/bsddrivers.htm>
>> 
>> no, but before I spend more money (this is getting expensive :-),
>> does it explain how to write a loadable module that needs to to talk
>> to a spibus? 
> 
> I don't think it does.
> 
> spibus is very simple, there is one interface call
> 
> SPIBUS_TRANSFER(device_t, device_t, strcut spi_command);
> 

chicken and egg issue :-), what device_t dev should I use?
it must point to the spibus …


> struct spi_command {
> 	void	*tx_cmd;
> 	uint32_t tx_cmd_sz;
> 	void	*rx_cmd;
> 	uint32_t rx_cmd_sz;
> 	void	*tx_data;
> 	uint32_t tx_data_sz;
> 	void	*rx_data;
> 	uint32_t rx_data_sz;
> };
> 
> The rx and tx buffers need to be the same size.
> 
> I there isn't an interface for configuring spibuses, the bcm2835_spi driver
> uses sysctl's directly to set clock speed and other configuration. I imagine
> the other drivers are similar or don't offer config.
> 
> I can also assume you have hardware for the rfid. If not you might be able to
> find a reader that is supported by libnfc[1] which supports the rfid tags you
> need to use.

I have 2 different RFIds, both are configured to talk via spi.

thanks,
	danny
> 
> [0]: svnweb.freebsd.org/base/head/sys/dev/spibus
> [1]: nfc-tools.org
> 
> -- 
> Tom
> @adventureloop
> adventurist.me
> 
> #pragma summon cthulhu
> :wq
> _______________________________________________
> freebsd-arm at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-arm
> To unsubscribe, send any mail to "freebsd-arm-unsubscribe at freebsd.org"



More information about the freebsd-arm mailing list