Provided by: freebsd-manpages_12.2-1_all
iic_gpiomux — driver for I2C mux hardware controlled via GPIO
To compile this driver into the kernel, place the following line in your kernel configuration file: device iic_gpiomux Alternatively, to load the driver as a module at boot time, place the following line in loader.conf(5): iic_gpiomux_load="YES"
The iic_gpiomux driver supports any type of I2C bus multiplexer (mux) hardware that is controlled by manipulating the state of one or more GPIO pins. It automatically connects an upstream I2C bus to one of the downstream buses as needed when slave devices on the downstream buses initiate I/O. More information on the automatic switching behavior is available in iicmux(4).
On an fdt(4) based system, an iic_gpiomux device node may be defined as a child node of any arbitrary bus in the FDT data. The i2c-parent property indicates the connection to the upstream I2C bus. The children of the iic_gpiomux node are additional i2c buses, which will have their own i2c slave devices described in their child nodes. The iic_gpiomux driver conforms to the standard i2c/i2c-mux-gpio.txt bindings document.
The iic_gpiomux driver first appeared in FreeBSD 13.0.