No empty .Rs/.Re
[netbsd-mini2440.git] / share / man / man4 / gpioiic.4
blob7b81bd754c29292f61790cad15ee8e77214f3d05
1 .\"     $NetBSD: gpioiic.4,v 1.1 2009/08/09 08:20:53 mbalmer Exp $
2 .\"     $OpenBSD: gpioiic.4,v 1.6 2008/11/24 15:30:21 jmc Exp $
3 .\"
4 .\" Copyright (c) 2006 Alexander Yurchenko <grange@openbsd.org>
5 .\"
6 .\" Permission to use, copy, modify, and distribute this software for any
7 .\" purpose with or without fee is hereby granted, provided that the above
8 .\" copyright notice and this permission notice appear in all copies.
9 .\"
10 .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11 .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12 .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13 .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14 .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 .\"
18 .Dd August 8, 2009
19 .Dt GPIOIIC 4
20 .Os
21 .Sh NAME
22 .Nm gpioiic
23 .Nd GPIO I2C controller
24 .Sh SYNOPSIS
25 .Cd "gpioiic* at gpio? offset 0 mask 0x3"
26 .Cd "gpioiic* at gpio?"
27 .Cd "iic* at gpioiic?"
28 .Sh DESCRIPTION
29 The
30 .Nm
31 driver allows bit-banging an I2C bus as a master using two GPIO pins.
32 The first pin is used as a serial data (SDA) signal and the second as
33 a serial clock (SCL).
34 Both GPIO pins must be able to drive an output and the SDA pin must be
35 also able to read an input.
36 .Pp
37 The pins can be specified in the kernel configuration with the
38 .Ar offset
39 and the
40 .Ar mask
41 locators.
42 The
43 .Ar offset
44 and
45 .Ar mask
46 can also be specified when
47 .Nm
48 is attached at runtime using the
49 .Dv GPIOATTACH
50 .Xr ioctl 2
51 on the
52 .Xr gpio 4
53 device.
54 Each bit in the
55 .Ar mask
56 locator defines one pin; the pin number is calculated as an addition of
57 the bit position and the
58 .Ar offset
59 locator.
60 For example,
61 .Ar offset 17
62 and
63 .Ar mask 0x5
64 defines pin numbers 17 and 19.
65 .Sh SEE ALSO
66 .Xr gpio 4 ,
67 .Xr iic 4 ,
68 .Xr intro 4
69 .Sh HISTORY
70 The
71 .Nm
72 driver first appeared in
73 .Ox 3.9
74 and
75 .Nx 5.0 .
76 .Sh AUTHORS
77 .An -nosplit
78 The
79 .Nm
80 driver was written by
81 .An Alexander Yurchenko Aq grange@openbsd.org
82 and was ported to
83 .Nx
85 .An Marc Balmer Aq marc@msys.ch .
86 .Sh CAVEATS
88 .Nm
89 device can not be detached from the
90 .Xr gpio 4
91 bus at runtime due to the fact that
92 .Xr iic 4
93 busses can not detach once attached.