1*8ce07fe7SLuiz Otavio O Souza.\" Copyright (c) 2013, Luiz Otavio O Souza <loos@FreeBSD.org> 2*8ce07fe7SLuiz Otavio O Souza.\" All rights reserved. 3*8ce07fe7SLuiz Otavio O Souza.\" 4*8ce07fe7SLuiz Otavio O Souza.\" Redistribution and use in source and binary forms, with or without 5*8ce07fe7SLuiz Otavio O Souza.\" modification, are permitted provided that the following conditions 6*8ce07fe7SLuiz Otavio O Souza.\" are met: 7*8ce07fe7SLuiz Otavio O Souza.\" 1. Redistributions of source code must retain the above copyright 8*8ce07fe7SLuiz Otavio O Souza.\" notice, this list of conditions and the following disclaimer. 9*8ce07fe7SLuiz Otavio O Souza.\" 2. Redistributions in binary form must reproduce the above copyright 10*8ce07fe7SLuiz Otavio O Souza.\" notice, this list of conditions and the following disclaimer in the 11*8ce07fe7SLuiz Otavio O Souza.\" documentation and/or other materials provided with the distribution. 12*8ce07fe7SLuiz Otavio O Souza.\" 13*8ce07fe7SLuiz Otavio O Souza.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 14*8ce07fe7SLuiz Otavio O Souza.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15*8ce07fe7SLuiz Otavio O Souza.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 16*8ce07fe7SLuiz Otavio O Souza.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 17*8ce07fe7SLuiz Otavio O Souza.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 18*8ce07fe7SLuiz Otavio O Souza.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 19*8ce07fe7SLuiz Otavio O Souza.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20*8ce07fe7SLuiz Otavio O Souza.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 21*8ce07fe7SLuiz Otavio O Souza.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 22*8ce07fe7SLuiz Otavio O Souza.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 23*8ce07fe7SLuiz Otavio O Souza.\" SUCH DAMAGE. 24*8ce07fe7SLuiz Otavio O Souza.\" 25*8ce07fe7SLuiz Otavio O Souza.\" $FreeBSD$ 26*8ce07fe7SLuiz Otavio O Souza.\" 27*8ce07fe7SLuiz Otavio O Souza.Dd November 5, 2013 28*8ce07fe7SLuiz Otavio O Souza.Dt GPIOIIC 4 29*8ce07fe7SLuiz Otavio O Souza.Os 30*8ce07fe7SLuiz Otavio O Souza.Sh NAME 31*8ce07fe7SLuiz Otavio O Souza.Nm gpioiic 32*8ce07fe7SLuiz Otavio O Souza.Nd GPIO I2C bit-banging device driver 33*8ce07fe7SLuiz Otavio O Souza.Sh SYNOPSIS 34*8ce07fe7SLuiz Otavio O Souza.Cd "device gpio" 35*8ce07fe7SLuiz Otavio O Souza.Cd "device gpioiic" 36*8ce07fe7SLuiz Otavio O Souza.Cd "device iic" 37*8ce07fe7SLuiz Otavio O Souza.Cd "device iicbb" 38*8ce07fe7SLuiz Otavio O Souza.Cd "device iicbus" 39*8ce07fe7SLuiz Otavio O Souza.Sh DESCRIPTION 40*8ce07fe7SLuiz Otavio O SouzaThe 41*8ce07fe7SLuiz Otavio O Souza.Em gpioiic 42*8ce07fe7SLuiz Otavio O Souzadriver provides an IIC bit-banging interface using two GPIO pins for the 43*8ce07fe7SLuiz Otavio O SouzaSCL and SDA on the 44*8ce07fe7SLuiz Otavio O Souza.Em gpiobus . 45*8ce07fe7SLuiz Otavio O Souza.Nm 46*8ce07fe7SLuiz Otavio O Souzaimplements an open colector kind of output, as recommended by the standard, 47*8ce07fe7SLuiz Otavio O Souzawhen driving the pins on the 48*8ce07fe7SLuiz Otavio O Souza.Em gpiobus , 49*8ce07fe7SLuiz Otavio O Souzai.e, they are never switched to the logical value of '1', 50*8ce07fe7SLuiz Otavio O Souzaor they are '0' or simply open (Hi-Z/tri-state). 51*8ce07fe7SLuiz Otavio O SouzaSo the pullup resistors are required so 52*8ce07fe7SLuiz Otavio O Souza.Nm 53*8ce07fe7SLuiz Otavio O Souzacan work. 54*8ce07fe7SLuiz Otavio O Souza.Pp 55*8ce07fe7SLuiz Otavio O SouzaOn a hint based system, like 56*8ce07fe7SLuiz Otavio O Souza.Li MIPS , these values are configureable for the 57*8ce07fe7SLuiz Otavio O Souza.Nm gpioiic : 58*8ce07fe7SLuiz Otavio O Souza.Bl -tag -width ".Va hint.gpioiic.%d.atXXX" 59*8ce07fe7SLuiz Otavio O Souza.It Va hint.gpioiic.%d.at 60*8ce07fe7SLuiz Otavio O SouzaThe gpiobus you are attaching to. 61*8ce07fe7SLuiz Otavio O SouzaNormally just gpiobus0. 62*8ce07fe7SLuiz Otavio O Souza.It Va hint.gpioiic.%d.pins 63*8ce07fe7SLuiz Otavio O SouzaThis is a bitmask of the pins on the 64*8ce07fe7SLuiz Otavio O Souza.Em gpiobus 65*8ce07fe7SLuiz Otavio O Souzathat are to be used for SCLOCK and SDATA from the GPIO IIC 66*8ce07fe7SLuiz Otavio O Souzabit-banging bus. 67*8ce07fe7SLuiz Otavio O SouzaTo configure pin 0 and 7, use the bitmask of 68*8ce07fe7SLuiz Otavio O Souza10000001 and convert it to a hexadecimal value of 0x0081. 69*8ce07fe7SLuiz Otavio O SouzaPlease note that this mask should only ever have two bits set 70*8ce07fe7SLuiz Otavio O Souza(any others bits - i.e., pins - will be ignored). 71*8ce07fe7SLuiz Otavio O Souza.It Va hint.gpioiic.%d.scl 72*8ce07fe7SLuiz Otavio O SouzaIndicates which bit in the 73*8ce07fe7SLuiz Otavio O Souza.Va hint.gpioiic.%d.pins 74*8ce07fe7SLuiz Otavio O Souzashould be used as the SCLOCK 75*8ce07fe7SLuiz Otavio O Souzasource. 76*8ce07fe7SLuiz Otavio O Souza.It Va hint.gpioiic.%d.sda 77*8ce07fe7SLuiz Otavio O SouzaIndicates which bit in the 78*8ce07fe7SLuiz Otavio O Souza.Va hint.gpioiic.%d.pins 79*8ce07fe7SLuiz Otavio O Souzashould be used as the SDATA 80*8ce07fe7SLuiz Otavio O Souzasource. 81*8ce07fe7SLuiz Otavio O Souza.El 82*8ce07fe7SLuiz Otavio O Souza.Sh SEE ALSO 83*8ce07fe7SLuiz Otavio O Souza.Xr gpio 4 , 84*8ce07fe7SLuiz Otavio O Souza.Xr gpioled 4 , 85*8ce07fe7SLuiz Otavio O Souza.Xr iic 4 , 86*8ce07fe7SLuiz Otavio O Souza.Xr iicbb 4 , 87*8ce07fe7SLuiz Otavio O Souza.Xr iicbus 4 88*8ce07fe7SLuiz Otavio O Souza.Sh HISTORY 89*8ce07fe7SLuiz Otavio O SouzaThe 90*8ce07fe7SLuiz Otavio O Souza.Nm 91*8ce07fe7SLuiz Otavio O Souzamanual page first appeared in 92*8ce07fe7SLuiz Otavio O Souza.Fx 11.0 . 93*8ce07fe7SLuiz Otavio O Souza.Sh AUTHORS 94*8ce07fe7SLuiz Otavio O SouzaThis 95*8ce07fe7SLuiz Otavio O Souzamanual page was written by 96*8ce07fe7SLuiz Otavio O Souza.An Luiz Otavio O Souza . 97