how to use iic(4)
smithi at nimnet.asn.au
Fri Sep 21 20:48:46 PDT 2007
This drew a blank in -questions. I don't know where else to post it, so
I'm hoping someone here might be able to spare me a clue.
We're building a small board with two AVR Tiny MCUs chatting to each
other over an opto-isolated I2C-compatible bus, hopefully at 400kbps.
Hoping to use the iicbb(4) on lpbb(4) parallel port interface to talk
with either of these MCUs for debugging, control and data acquisition.
The iic character device driver provides generic i/o to any iicbus(4)
instance. In order to control I2C devices, use /dev/iic? with the fol-
I2CSTART send start condition to the specified device (with 7-bit
address) on the bus
I2CSTOP send stop condition to the bus
I2CRSTCARD reset the bus
You may also use read/write routines, then I2C start/stop handshake is
managed by the iicbus system.
Does the latter statement suggest that ordinary reads from or writes to
/dev/iic? could be performed by redirection of say echo and read from a
script? Or is the device only accessible by ioctl from eg a C program?
Secondly, how does /dev/iic? come to exist? This 5.5-STABLE system
seems to have all the requisite drivers, but there's no /dev/iic*:
paqi% kldstat -v | egrep 'iic|lpbb'
12 1 0xc2456000 3000 lpbb.ko
Also, iicbb(4) is said to be a master-only interface. I can work with
that, but if anyone knows of any iicbus slave-mode code I'm all eyes ..
More information about the freebsd-net