Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

gpioiic(4) [netbsd man page]

GPIOIIC(4)						   BSD Kernel Interfaces Manual 						GPIOIIC(4)

gpioiic -- GPIO I2C controller SYNOPSIS
gpioiic* at gpio? offset 0 mask 0x3 flag 0x0 gpioiic* at gpio? iic* at gpioiic? DESCRIPTION
The gpioiic driver allows bit-banging an I2C bus as a master using two GPIO pins. By default the first pin is used as a serial data (SDA) signal and the second as a serial clock (SCL). If the flag locator is set to 0x01, the order of the SDA and SCL signals is reversed. Both GPIO pins must be able to drive an output and the SDA pin must be also able to read an input. The pins can be specified in the kernel configuration with the offset and the mask locators. The offset and mask can also be specified when gpioiic is attached at runtime using the GPIOATTACH ioctl(2) on the gpio(4) device. Each bit in the mask locator defines one pin; the pin number is calculated as an addition of the bit position and the offset locator. For example, offset 17 and mask 0x5 defines pin numbers 17 and 19. SEE ALSO
gpio(4), iic(4), intro(4) HISTORY
The gpioiic driver first appeared in OpenBSD 3.9 and NetBSD 5.0. AUTHORS
The gpioiic driver was written by Alexander Yurchenko <> and was ported to NetBSD by Marc Balmer <>. CAVEATS
A gpioiic device can not be detached from the gpio(4) bus at runtime due to the fact that iic(4) busses can not detach once attached. BSD
October 2, 2011 BSD

Check Out this Related Man Page

GPIOLED(4)						   BSD Kernel Interfaces Manual 						GPIOLED(4)

gpioled -- GPIO LED generic device driver SYNOPSIS
To compile this driver into the kernel, place the following lines in your kernel configuration file: device gpio device gpioled DESCRIPTION
The gpioled driver provides glue to attach a led(4) compatible device to a GPIO pin. Each LED in the system has a name which is used to export a device as /dev/led/<name>. The GPIO pin can then be controlled by writing to this device as described in led(4). On a device.hints(5) based system, like MIPS, these values are configurable for gpioled: The gpiobus you are attaching to. Normally assigned to gpiobus0. Arbitrary name of device in /dev/led/ to create for led(4). hint.gpioled.%d.pins Which pin on the GPIO interface to map to this instance. Please note that this mask should only ever have one bit set (any other bits - i.e., pins - will be ignored). On a FDT(4) based system, like ARM, the DTS part for a gpioled device usually looks like: gpio: gpio { gpio-controller; ... led0 { compatible = "gpioled"; gpios = <&gpio 16 2 0>; /* GPIO pin 16. */ name = "ok"; }; led1 { compatible = "gpioled"; gpios = <&gpio 17 2 0>; /* GPIO pin 17. */ name = "user-led1"; }; }; Optionally, you can choose to combine all the LEDs under a single ``gpio-leds'' compatible node: simplebus0 { ... leds { compatible = "gpio-leds"; led0 { gpios = <&gpio 16 2 0>; name = "ok" }; led1 { gpios = <&gpio 17 2 0>; name = "user-led1" }; }; }; Both methods are equally supported and it is possible to have the LEDs defined with any sort of mix between the methods. The only restric- tion is that a GPIO pin cannot be mapped by two different (gpio)leds. For more details about the gpios property, please consult /usr/src/sys/boot/fdt/dts/bindings-gpio.txt. The property name is the arbitrary name of the device in /dev/led/ to create for led(4). SEE ALSO
fdt(4), gpio(4), gpioiic(4), led(4) HISTORY
The gpioled manual page first appeared in FreeBSD 10.1. AUTHORS
This manual page was written by Luiz Otavio O Souza. BSD
May 14, 2014 BSD
Man Page