| /kernel/linux/linux-4.19/Documentation/devicetree/bindings/i2c/ |
| D | i2c-gpio.txt | 1 Device-Tree bindings for i2c gpio driver 4 - compatible = "i2c-gpio"; 5 - sda-gpios: gpio used for the sda signal, this should be flagged as 7 from <dt-bindings/gpio/gpio.h> since the signal is by definition 9 - scl-gpios: gpio used for the scl signal, this should be flagged as 11 from <dt-bindings/gpio/gpio.h> since the signal is by definition 15 - i2c-gpio,scl-output-only: scl as output only 16 - i2c-gpio,delay-us: delay between GPIO operations (may depend on each platform) 17 - i2c-gpio,timeout-ms: timeout to get data 20 - gpios: sda and scl gpio, alternative for {sda,scl}-gpios [all …]
|
| D | i2c-mux.txt | 1 Common i2c bus multiplexer/switch properties. 3 An i2c bus multiplexer/switch will have several child busses that are 4 numbered uniquely in a device dependent manner. The nodes for an i2c bus 8 - #address-cells = <1>; 9 This property is required if the i2c-mux child node does not exist. 11 - #size-cells = <0>; 12 This property is required if the i2c-mux child node does not exist. 14 - i2c-mux 15 For i2c multiplexers/switches that have child nodes that are a mixture 16 of both i2c child busses and other child nodes, the 'i2c-mux' subnode [all …]
|
| D | i2c-mux-ltc4306.txt | 1 * Linear Technology / Analog Devices I2C bus switch 5 - compatible: Must contain one of the following. 7 - reg: The I2C address of the device. 11 - Standard I2C mux properties. See i2c-mux.txt in this directory. 12 - I2C child bus nodes. See i2c-mux.txt in this directory. 16 - enable-gpios: Reference to the GPIO connected to the enable input. 17 - i2c-mux-idle-disconnect: Boolean; if defined, forces mux to disconnect all 19 multiplexers on the bus and the devices behind them use same I2C addresses. 20 - gpio-controller: Marks the device node as a GPIO Controller. 21 - #gpio-cells: Should be two. The first cell is the pin number and [all …]
|
| D | i2c-mux-gpio.txt | 1 GPIO-based I2C Bus Mux 3 This binding describes an I2C bus multiplexer that uses GPIOs to 4 route the I2C signals. 6 +-----+ +-----+ 8 +------------+ +-----+ +-----+ 10 | | /--------+--------+ 11 | +------+ | +------+ child bus A, on GPIO value set to 0 12 | | I2C |-|--| Mux | 13 | +------+ | +--+---+ child bus B, on GPIO value set to 1 14 | | | \----------+--------+--------+ [all …]
|
| D | i2c-arb-gpio-challenge.txt | 1 GPIO-based I2C Arbitration Using a Challenge & Response Mechanism 3 This uses GPIO lines and a challenge & response mechanism to arbitrate who is 4 the master of an I2C bus in a multimaster situation. 7 the standard I2C multi-master rules. Using GPIOs is generally useful in 12 * It is nonstandard (not using standard I2C multimaster) 14 problems (hard to tell if i2c issues were caused by one master, another, or 21 others can see. These are all active low with pull-ups enabled. We'll 24 - OUR_CLAIM: output from us signaling to other hosts that we want the bus 25 - THEIR_CLAIMS: output from others signaling that they want the bus 43 - compatible: i2c-arb-gpio-challenge [all …]
|
| D | i2c-imx.txt | 1 * Freescale Inter IC (I2C) and High Speed Inter IC (HS-I2C) for i.MX 4 - compatible : 5 - "fsl,imx1-i2c" for I2C compatible with the one integrated on i.MX1 SoC 6 - "fsl,imx21-i2c" for I2C compatible with the one integrated on i.MX21 SoC 7 - "fsl,vf610-i2c" for I2C compatible with the one integrated on Vybrid vf610 SoC 8 - reg : Should contain I2C/HS-I2C registers location and length 9 - interrupts : Should contain I2C/HS-I2C interrupt 10 - clocks : Should contain the I2C/HS-I2C clock specifier 13 - clock-frequency : Constains desired I2C/HS-I2C bus clock frequency in Hz. 15 - dmas: A list of two dma specifiers, one for each entry in dma-names. [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/i2c/ |
| D | i2c-gpio.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/i2c/i2c-gpio.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Bindings for GPIO bitbanged I2C 10 - Wolfram Sang <wolfram@the-dreams.de> 13 - $ref: /schemas/i2c/i2c-controller.yaml# 18 - const: i2c-gpio 20 sda-gpios: 22 gpio used for the sda signal, this should be flagged as [all …]
|
| D | i2c-mux.txt | 1 Common i2c bus multiplexer/switch properties. 3 An i2c bus multiplexer/switch will have several child busses that are 4 numbered uniquely in a device dependent manner. The nodes for an i2c bus 8 - #address-cells = <1>; 9 This property is required if the i2c-mux child node does not exist. 11 - #size-cells = <0>; 12 This property is required if the i2c-mux child node does not exist. 14 - i2c-mux 15 For i2c multiplexers/switches that have child nodes that are a mixture 16 of both i2c child busses and other child nodes, the 'i2c-mux' subnode [all …]
|
| D | i2c-mux-ltc4306.txt | 1 * Linear Technology / Analog Devices I2C bus switch 5 - compatible: Must contain one of the following. 7 - reg: The I2C address of the device. 11 - Standard I2C mux properties. See i2c-mux.txt in this directory. 12 - I2C child bus nodes. See i2c-mux.txt in this directory. 16 - enable-gpios: Reference to the GPIO connected to the enable input. 17 - i2c-mux-idle-disconnect: Boolean; if defined, forces mux to disconnect all 19 multiplexers on the bus and the devices behind them use same I2C addresses. 20 - gpio-controller: Marks the device node as a GPIO Controller. 21 - #gpio-cells: Should be two. The first cell is the pin number and [all …]
|
| D | i2c-mux-gpio.txt | 1 GPIO-based I2C Bus Mux 3 This binding describes an I2C bus multiplexer that uses GPIOs to 4 route the I2C signals. 6 +-----+ +-----+ 8 +------------+ +-----+ +-----+ 10 | | /--------+--------+ 11 | +------+ | +------+ child bus A, on GPIO value set to 0 12 | | I2C |-|--| Mux | 13 | +------+ | +--+---+ child bus B, on GPIO value set to 1 14 | | | \----------+--------+--------+ [all …]
|
| D | i2c-arb-gpio-challenge.txt | 1 GPIO-based I2C Arbitration Using a Challenge & Response Mechanism 3 This uses GPIO lines and a challenge & response mechanism to arbitrate who is 4 the master of an I2C bus in a multimaster situation. 7 the standard I2C multi-master rules. Using GPIOs is generally useful in 12 * It is nonstandard (not using standard I2C multimaster) 14 problems (hard to tell if i2c issues were caused by one master, another, or 21 others can see. These are all active low with pull-ups enabled. We'll 24 - OUR_CLAIM: output from us signaling to other hosts that we want the bus 25 - THEIR_CLAIMS: output from others signaling that they want the bus 43 - compatible: i2c-arb-gpio-challenge [all …]
|
| /kernel/linux/linux-4.19/Documentation/i2c/muxes/ |
| D | i2c-mux-gpio | 1 Kernel driver i2c-mux-gpio 6 ----------- 8 i2c-mux-gpio is an i2c mux driver providing access to I2C bus segments 9 from a master I2C bus and a hardware MUX controlled through GPIO pins. 13 ---------- ---------- Bus segment 1 - - - - - 14 | | SCL/SDA | |-------------- | | 15 | |------------| | 17 | Linux | GPIO 1..N | MUX |--------------- Devices 18 | |------------| | | | 20 | | | |---------------| | [all …]
|
| /kernel/linux/linux-5.10/Documentation/i2c/muxes/ |
| D | i2c-mux-gpio.rst | 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 | |------------| | 19 | Linux | GPIO 1..N | MUX |--------------- Devices 20 | |------------| | | | 22 | | | |---------------| | [all …]
|
| /kernel/linux/linux-5.10/drivers/staging/sm750fb/ |
| D | ddk750_swi2c.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * swi2c.c --- SM750/SM718 DDK 6 * This file contains the source code for I2C using software 16 * I2C Software Master Driver: 18 * Each i2c cycle is split into 4 sections. Each of these section marks 22 * +-------------+-------------+-------------+-------------+ 37 * ---------------+---+---+---+---+ 40 * ---------------+---+---+---+---+ 43 * ---------------+---+---+---+---+ 46 * ---------------+---+---+---+---+ [all …]
|
| /kernel/linux/linux-4.19/drivers/staging/sm750fb/ |
| D | ddk750_swi2c.c | 7 * swi2c.c --- SM750/SM718 DDK 8 * This file contains the source code for I2C using software 18 * I2C Software Master Driver: 20 * Each i2c cycle is split into 4 sections. Each of these section marks 24 * +-------------+-------------+-------------+-------------+ 39 * ---------------+---+---+---+---+ 42 * ---------------+---+---+---+---+ 45 * ---------------+---+---+---+---+ 48 * ---------------+---+---+---+---+ 51 * ---------------+---+---+---+---+ [all …]
|
| /kernel/linux/linux-5.10/arch/arm/boot/dts/ |
| D | aspeed-bmc-opp-tacoma.dts | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 /dts-v1/; 5 #include "aspeed-g6.dtsi" 6 #include <dt-bindings/gpio/aspeed-gpio.h> 7 #include <dt-bindings/i2c/i2c.h> 8 #include <dt-bindings/leds/leds-pca955x.h> 12 compatible = "ibm,tacoma-bmc", "aspeed,ast2600"; 15 stdout-path = &uart5; 24 reserved-memory { 25 #address-cells = <1>; [all …]
|
| D | aspeed-bmc-opp-mihawk.dts | 1 // SPDX-License-Identifier: GPL-2.0+ 2 /dts-v1/; 3 #include "aspeed-g5.dtsi" 4 #include <dt-bindings/gpio/aspeed-gpio.h> 5 #include <dt-bindings/leds/leds-pca955x.h> 9 compatible = "ibm,mihawk-bmc", "aspeed,ast2500"; 59 stdout-path = &uart5; 67 reserved-memory { 68 #address-cells = <1>; 69 #size-cells = <1>; [all …]
|
| /kernel/linux/linux-5.10/drivers/i2c/muxes/ |
| D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 3 # Multiplexer I2C chip drivers configuration 6 menu "Multiplexer I2C Chip support" 10 tristate "GPIO-based I2C arbitration" 15 I2C multimaster arbitration scheme using GPIOs and a challenge & 17 a GPIO. 20 will be called i2c-arb-gpio-challenge. 23 tristate "GPIO-based I2C multiplexer" 27 GPIO based I2C multiplexer. This driver provides access to 28 I2C busses connected through a MUX, which is controlled [all …]
|
| /kernel/linux/linux-4.19/drivers/i2c/muxes/ |
| D | Kconfig | 2 # Multiplexer I2C chip drivers configuration 5 menu "Multiplexer I2C Chip support" 9 tristate "GPIO-based I2C arbitration" 14 I2C multimaster arbitration scheme using GPIOs and a challenge & 16 a GPIO. 19 will be called i2c-arb-gpio-challenge. 22 tristate "GPIO-based I2C multiplexer" 26 GPIO based I2C multiplexer. This driver provides access to 27 I2C busses connected through a MUX, which is controlled 28 through GPIO pins. [all …]
|
| D | i2c-arb-gpio-challenge.c | 2 * GPIO-based I2C Arbitration Using a Challenge & Response Mechanism 18 #include <linux/gpio.h> 20 #include <linux/i2c.h> 21 #include <linux/i2c-mux.h> 29 * struct i2c_arbitrator_data - Driver data for I2C arbitrator 31 * @our_gpio: GPIO we'll use to claim. 32 * @our_gpio_release: 0 if active high; 1 if active low; AKA if the GPIO == 34 * @their_gpio: GPIO that the other side will use to claim. 35 * @their_gpio_release: 0 if active high; 1 if active low; AKA if the GPIO == 37 * @slew_delay_us: microseconds to wait for a GPIO to go high. [all …]
|
| /kernel/linux/linux-5.10/sound/soc/codecs/ |
| D | wm1250-ev1.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Driver for the 1250-EV1 audio I/O module 11 #include <linux/i2c.h> 12 #include <linux/gpio.h> 15 #include <sound/soc-dapm.h> 16 #include <sound/wm1250-ev1.h> 27 struct gpio gpios[WM1250_EV1_NUM_GPIOS]; 33 struct wm1250_priv *wm1250 = dev_get_drvdata(component->dev); in wm1250_ev1_set_bias_level() 37 ena = wm1250->gpios[WM1250_EV1_GPIO_CLK_ENA].gpio; in wm1250_ev1_set_bias_level() 39 ena = -1; in wm1250_ev1_set_bias_level() [all …]
|
| /kernel/linux/linux-4.19/sound/soc/codecs/ |
| D | wm1250-ev1.c | 2 * Driver for the 1250-EV1 audio I/O module 16 #include <linux/i2c.h> 17 #include <linux/gpio.h> 20 #include <sound/soc-dapm.h> 21 #include <sound/wm1250-ev1.h> 32 struct gpio gpios[WM1250_EV1_NUM_GPIOS]; 38 struct wm1250_priv *wm1250 = dev_get_drvdata(component->dev); in wm1250_ev1_set_bias_level() 42 ena = wm1250->gpios[WM1250_EV1_GPIO_CLK_ENA].gpio; in wm1250_ev1_set_bias_level() 44 ena = -1; in wm1250_ev1_set_bias_level() 68 SND_SOC_DAPM_ADC("ADC", "wm1250-ev1 Capture", SND_SOC_NOPM, 0, 0), [all …]
|
| /kernel/linux/linux-5.10/drivers/i2c/busses/ |
| D | i2c-pca-platform.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Platform driver for the PCA9564 I2C controller. 17 #include <linux/i2c.h> 20 #include <linux/i2c-algo-pca.h> 21 #include <linux/platform_data/i2c-pca-platform.h> 22 #include <linux/gpio/consumer.h> 32 struct gpio_desc *gpio; member 44 struct i2c_pca_pf_data *i2c = pd; in i2c_pca_pf_readbyte8() local 45 return ioread8(i2c->reg_base + reg); in i2c_pca_pf_readbyte8() 50 struct i2c_pca_pf_data *i2c = pd; in i2c_pca_pf_readbyte16() local [all …]
|
| /kernel/linux/linux-4.19/drivers/i2c/busses/ |
| D | i2c-pca-platform.c | 4 * Platform driver for the PCA9564 I2C controller. 19 #include <linux/i2c.h> 22 #include <linux/i2c-algo-pca.h> 23 #include <linux/platform_data/i2c-pca-platform.h> 24 #include <linux/gpio/consumer.h> 34 struct gpio_desc *gpio; member 46 struct i2c_pca_pf_data *i2c = pd; in i2c_pca_pf_readbyte8() local 47 return ioread8(i2c->reg_base + reg); in i2c_pca_pf_readbyte8() 52 struct i2c_pca_pf_data *i2c = pd; in i2c_pca_pf_readbyte16() local 53 return ioread8(i2c->reg_base + reg * 2); in i2c_pca_pf_readbyte16() [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/pinctrl/ |
| D | pinctrl-mcp23s08.txt | 2 8-/16-bit I/O expander with serial interface (I2C/SPI) 5 - compatible : Should be 6 - "mcp,mcp23s08" (DEPRECATED) for 8 GPIO SPI version 7 - "mcp,mcp23s17" (DEPRECATED) for 16 GPIO SPI version 8 - "mcp,mcp23008" (DEPRECATED) for 8 GPIO I2C version or 9 - "mcp,mcp23017" (DEPRECATED) for 16 GPIO I2C version of the chip 11 - "microchip,mcp23s08" for 8 GPIO SPI version 12 - "microchip,mcp23s17" for 16 GPIO SPI version 13 - "microchip,mcp23s18" for 16 GPIO SPI version 14 - "microchip,mcp23008" for 8 GPIO I2C version or [all …]
|