1998-10-28 00:40:53 +00:00
|
|
|
.\" Copyright (c) 1998, Nicolas Souchu
|
|
|
|
.\" All rights reserved.
|
|
|
|
.\"
|
|
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
|
|
.\" modification, are permitted provided that the following conditions
|
|
|
|
.\" are met:
|
|
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
|
|
.\"
|
|
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
|
|
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
|
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
|
|
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
|
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
|
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
|
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
|
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
|
|
.\" SUCH DAMAGE.
|
|
|
|
.\"
|
1999-08-28 00:22:10 +00:00
|
|
|
.\" $FreeBSD$
|
1998-10-28 00:40:53 +00:00
|
|
|
.\"
|
|
|
|
.Dd August 6, 1998
|
|
|
|
.Dt IICBUS 4
|
|
|
|
.Os FreeBSD
|
|
|
|
.Sh NAME
|
|
|
|
.Nm iicbus
|
|
|
|
.Nd
|
|
|
|
I2C bus system
|
|
|
|
.Sh SYNOPSIS
|
2000-01-23 15:04:20 +00:00
|
|
|
.Cd "device iicbus"
|
|
|
|
.Cd "device iicbb"
|
1998-10-28 00:40:53 +00:00
|
|
|
.Pp
|
2000-01-23 15:04:20 +00:00
|
|
|
.Cd "device iic"
|
|
|
|
.Cd "device ic"
|
|
|
|
.Cd "device iicsmb"
|
1998-10-28 00:40:53 +00:00
|
|
|
.Sh DESCRIPTION
|
|
|
|
The
|
|
|
|
.Em iicbus
|
|
|
|
system provides a uniform, modular and architecture-independent
|
|
|
|
system for the implementation of drivers to control various I2C devices
|
|
|
|
and to utilize different I2C controllers.
|
|
|
|
.Sh I2C
|
2000-03-01 14:50:24 +00:00
|
|
|
I2C is an acronym for Inter Integrated Circuit bus.
|
|
|
|
The I2C bus was developed
|
|
|
|
in the early 1980's by Philips semiconductors.
|
|
|
|
It's purpose was to provide an
|
1998-10-28 00:40:53 +00:00
|
|
|
easy way to connect a CPU to peripheral chips in a TV-set.
|
|
|
|
.Pp
|
|
|
|
The BUS physically consists of 2 active wires and a ground connection.
|
2000-03-01 14:50:24 +00:00
|
|
|
The active wires, SDA and SCL, are both bidirectional.
|
|
|
|
Where SDA is the
|
1998-10-28 00:40:53 +00:00
|
|
|
Serial DAta line and SCL is the Serial CLock line.
|
2000-12-29 09:18:45 +00:00
|
|
|
.Pp
|
1998-10-28 00:40:53 +00:00
|
|
|
Every component hooked up to the bus has its own unique address whether it
|
2000-03-01 14:50:24 +00:00
|
|
|
is a CPU, LCD driver, memory, or complex function chip.
|
|
|
|
Each of these chips
|
2000-11-18 20:18:34 +00:00
|
|
|
can act as a receiver and/or transmitter depending on its functionality.
|
1998-10-28 00:40:53 +00:00
|
|
|
Obviously an LCD driver is only a receiver, while a memory or I/O chip can
|
2000-03-01 14:50:24 +00:00
|
|
|
both be transmitter and receiver.
|
|
|
|
Furthermore there may be one or
|
2000-11-18 20:18:34 +00:00
|
|
|
more BUS MASTERs.
|
2000-12-29 09:18:45 +00:00
|
|
|
.Pp
|
2000-03-01 14:50:24 +00:00
|
|
|
The BUS MASTER is the chip issuing the commands on the BUS.
|
|
|
|
In the I2C protocol
|
1998-10-28 00:40:53 +00:00
|
|
|
specification it is stated that the IC that initiates a data transfer on the
|
2000-03-01 14:50:24 +00:00
|
|
|
bus is considered the BUS MASTER.
|
|
|
|
At that time all the others are regarded to
|
|
|
|
as the BUS SLAVEs.
|
|
|
|
As mentioned before, the IC bus is a Multi-MASTER BUS.
|
1998-10-28 00:40:53 +00:00
|
|
|
This means that more than one IC capable of initiating data transfer can be
|
|
|
|
connected to it.
|
|
|
|
.Sh DEVICES
|
|
|
|
Some I2C device drivers are available:
|
|
|
|
.Pp
|
|
|
|
.Bl -column "Device drivers" -compact
|
|
|
|
.It Em Devices Ta Em Description
|
|
|
|
.It Sy iic Ta "general i/o operation"
|
|
|
|
.It Sy ic Ta "network IP interface"
|
|
|
|
.It Sy iicsmb Ta "I2C to SMB software bridge"
|
|
|
|
.El
|
|
|
|
.Sh INTERFACES
|
2000-03-01 14:50:24 +00:00
|
|
|
The I2C protocol may be implemented by hardware or software.
|
|
|
|
Software
|
1998-10-28 00:40:53 +00:00
|
|
|
interfaces rely on very simple hardware, usually two lines
|
2000-03-01 14:50:24 +00:00
|
|
|
twiddled by 2 registers.
|
|
|
|
Hardware interfaces are more intelligent and receive
|
1998-10-28 00:40:53 +00:00
|
|
|
8-bit characters they write to the bus according to the I2C protocol.
|
2000-12-29 09:18:45 +00:00
|
|
|
.Pp
|
1998-10-28 00:40:53 +00:00
|
|
|
I2C interfaces may act on the bus as slave devices, allowing spontaneous
|
2000-11-18 20:18:34 +00:00
|
|
|
bidirectional communications, thanks to the multi-master capabilities of the
|
1998-10-28 00:40:53 +00:00
|
|
|
I2C protocol.
|
2000-12-29 09:18:45 +00:00
|
|
|
.Pp
|
1998-10-28 00:40:53 +00:00
|
|
|
Some I2C interfaces are available:
|
|
|
|
.Pp
|
|
|
|
.Bl -column "Interface drivers" -compact
|
|
|
|
.It Em Interface Ta Em Description
|
|
|
|
.It Sy pcf Ta "Philips PCF8584 master/slave interface"
|
|
|
|
.It Sy iicbb Ta "generic bit-banging master-only driver"
|
|
|
|
.It Sy lpbb Ta "parallel port specific bit-banging interface"
|
|
|
|
.It Sy bktr Ta "Brooktree848 video chipset, hardware and software master-only interface"
|
|
|
|
.El
|
|
|
|
.Sh SEE ALSO
|
|
|
|
.Xr iicbb 4 ,
|
1999-08-15 10:48:36 +00:00
|
|
|
.Xr lpbb 4 ,
|
|
|
|
.Xr pcf 4
|
1998-10-28 00:40:53 +00:00
|
|
|
.Sh HISTORY
|
|
|
|
The
|
|
|
|
.Nm
|
|
|
|
manual page first appeared in
|
|
|
|
.Fx 3.0 .
|
1999-08-15 10:48:36 +00:00
|
|
|
.Sh AUTHORS
|
1998-10-28 00:40:53 +00:00
|
|
|
This
|
|
|
|
manual page was written by
|
|
|
|
.An Nicolas Souchu .
|