Lines Matching +full:i2c +full:- +full:bus +full:- +full:name
2 Kernel driver i2c-mux-gpio
8 -----------
10 i2c-mux-gpio is an i2c mux driver providing access to I2C bus segments
11 from a master I2C bus and a hardware MUX controlled through GPIO pins.
15 ---------- ---------- Bus segment 1 - - - - -
16 | | SCL/SDA | |-------------- | |
17 | |------------| |
18 | | | | Bus segment 2 | |
19 | Linux | GPIO 1..N | MUX |--------------- Devices
20 | |------------| | | |
21 | | | | Bus segment M
22 | | | |---------------| |
23 ---------- ---------- - - - - -
25 SCL/SDA of the master I2C bus is multiplexed to bus segment 1..M
29 -----
31 i2c-mux-gpio uses the platform bus, so you need to provide a struct
33 i2c_mux_gpio_platform_data with the I2C adapter number of the master
34 bus, the number of bus segments to create and the GPIO pins used
35 to control it. See include/linux/platform_data/i2c-mux-gpio.h for details.
37 E.G. something like this for a MUX providing 4 bus segments
40 #include <linux/platform_data/i2c-mux-gpio.h>
62 .name = "i2c-mux-gpio",
70 you can instead provide a chip name (.chip_name) and relative GPIO pin
71 numbers, and the i2c-mux-gpio driver will do the work for you,
76 -------------------
78 When registering your i2c-mux-gpio device, you should pass the number
82 Alternatively, if you don't need a stable device name, you can simply