Date: Sat, 22 Sep 2007 13:16:33 +1000 From: Ian Smith <smithi@nimnet.asn.au> To: freebsd-net@freebsd.org Subject: how to use iic(4) Message-ID: <46F48911.6010106@nimnet.asn.au>
next in thread | raw e-mail | index | archive | help
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. iic(4) says: ======= 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- lowing ioctls: Ioctl Description 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' 29 iicbus/ic 30 iicbus/iic 31 bktr/iicbb 32 lpbb/iicbb 33 viapm/iicbb 34 pcf/iicbus 35 envctrl/iicbus 36 iicbb/iicbus 37 bti2c/iicbus 38 iicbus/iicsmb 86 iicsmb/smbus 12 1 0xc2456000 3000 lpbb.ko 247 ppbus/lpbb 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 .. Cheers, Ian
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?46F48911.6010106>