/Linux-v5.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 …]
|
D | i2c-pxa-pci-ce4100.txt | 1 CE4100 I2C 2 ---------- 4 CE4100 has one PCI device which is described as the I2C-Controller. This 5 PCI device has three PCI-bars, each bar contains a complete I2C 6 controller. So we have a total of three independent I2C-Controllers 8 The driver is probed via the PCI-ID and is gathering the information of 10 Grant Likely recommended to use the ranges property to map the PCI-Bar 12 of the specific I2C controller. This were his exact words: 22 non-zero if you had 2 or more devices mapped off 30 ------------------------------------------------ [all …]
|
D | i2c-s3c2410.txt | 1 * Samsung's I2C controller 3 The Samsung's I2C controller is used to interface with I2C devices. 6 - compatible: value should be either of the following. 7 (a) "samsung, s3c2410-i2c", for i2c compatible with s3c2410 i2c. 8 (b) "samsung, s3c2440-i2c", for i2c compatible with s3c2440 i2c. 9 (c) "samsung, s3c2440-hdmiphy-i2c", for s3c2440-like i2c used 11 (d) "samsung, exynos5-sata-phy-i2c", for s3c2440-like i2c used as 13 - reg: physical base address of the controller and length of memory mapped 15 - interrupts: interrupt number to the cpu. 16 - samsung,i2c-sda-delay: Delay (in ns) applied to data line (SDA) edges. [all …]
|
D | i2c-at91.txt | 1 I2C for Atmel platforms 4 - compatible : Must be one of: 5 "atmel,at91rm9200-i2c", 6 "atmel,at91sam9261-i2c", 7 "atmel,at91sam9260-i2c", 8 "atmel,at91sam9g20-i2c", 9 "atmel,at91sam9g10-i2c", 10 "atmel,at91sam9x5-i2c", 11 "atmel,sama5d4-i2c", 12 "atmel,sama5d2-i2c", [all …]
|
/Linux-v5.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 …]
|
/Linux-v5.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 …]
|
/Linux-v5.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 …]
|
D | aspeed-bmc-facebook-wedge400.dts | 1 // SPDX-License-Identifier: GPL-2.0+ 3 /dts-v1/; 5 #include <dt-bindings/gpio/aspeed-gpio.h> 6 #include "ast2500-facebook-netbmc-common.dtsi" 10 compatible = "facebook,wedge400-bmc", "aspeed,ast2500"; 14 * PCA9548 (2-0070) provides 8 channels connecting to 27 * PCA9548 (8-0070) provides 8 channels connecting to 40 * PCA9548 (11-0076) provides 8 channels connecting to 56 stdout-path = &uart1; 60 ast-adc-hwmon { [all …]
|
D | s5pv210-aries.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 6 /dts-v1/; 7 #include <dt-bindings/gpio/gpio.h> 8 #include <dt-bindings/interrupt-controller/irq.h> 32 reserved-memory { 33 #address-cells = <1>; 34 #size-cells = <1>; 38 compatible = "shared-dma-pool"; 39 no-map; 44 compatible = "shared-dma-pool"; [all …]
|
D | r8a7792.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 3 * Device Tree Source for the R-Car V2H (R8A77920) SoC 8 #include <dt-bindings/clock/r8a7792-cpg-mssr.h> 9 #include <dt-bindings/interrupt-controller/irq.h> 10 #include <dt-bindings/interrupt-controller/arm-gic.h> 11 #include <dt-bindings/power/r8a7792-sysc.h> 15 #address-cells = <2>; 16 #size-cells = <2>; 39 compatible = "fixed-clock"; 40 #clock-cells = <0>; [all …]
|
/Linux-v5.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 …]
|
D | i2c-arb-gpio-challenge.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * GPIO-based I2C Arbitration Using a Challenge & Response Mechanism 9 #include <linux/gpio/consumer.h> 11 #include <linux/i2c.h> 12 #include <linux/i2c-mux.h> 19 * struct i2c_arbitrator_data - Driver data for I2C arbitrator 21 * @our_gpio: GPIO descriptor we'll use to claim. 22 * @their_gpio: GPIO descriptor that the other side will use to claim. 23 * @slew_delay_us: microseconds to wait for a GPIO to go high. 38 * i2c_arbitrator_select - claim the I2C bus [all …]
|
/Linux-v5.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 …]
|
/Linux-v5.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 …]
|
/Linux-v5.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 …]
|
/Linux-v5.10/Documentation/driver-api/gpio/ |
D | drivers-on-gpio.rst | 2 Subsystem drivers using GPIO 5 Note that standard kernel drivers exist for common GPIO tasks and will provide 6 the right in-kernel and userspace APIs/ABIs for the job, and that these 10 - leds-gpio: drivers/leds/leds-gpio.c will handle LEDs connected to GPIO 13 - ledtrig-gpio: drivers/leds/trigger/ledtrig-gpio.c will provide a LED trigger, 14 i.e. a LED will turn on/off in response to a GPIO line going high or low 15 (and that LED may in turn use the leds-gpio as per above). 17 - gpio-keys: drivers/input/keyboard/gpio_keys.c is used when your GPIO line 20 - gpio-keys-polled: drivers/input/keyboard/gpio_keys_polled.c is used when your 21 GPIO line cannot generate interrupts, so it needs to be periodically polled [all …]
|
/Linux-v5.10/Documentation/devicetree/bindings/power/supply/ |
D | sbs,sbs-manager.txt | 1 Binding for sbs-manager 4 - compatible: "<vendor>,<part-number>", "sbs,sbs-charger" as fallback. The part 7 - reg: integer, i2c address of the device. Should be <0xa>. 9 - gpio-controller: Marks the port as GPIO controller. 10 See "gpio-specifier" in .../devicetree/bindings/gpio/gpio.txt. 11 - #gpio-cells: Should be <2>. The first cell is the pin number, the second cell 13 See "gpio-specifier" in .../devicetree/bindings/gpio/gpio.txt. 15 From OS view the device is basically an i2c-mux used to communicate with up to 17 behaviour. So standard i2c-mux nodes can be used to register up to four slave 23 compatible = "lltc,ltc1760", "sbs,sbs-manager"; [all …]
|
/Linux-v5.10/Documentation/devicetree/bindings/gpio/ |
D | gateworks,pld-gpio.txt | 1 Gateworks PLD GPIO controller bindings 3 The GPIO controller should be a child node on an I2C bus, 4 see: i2c/i2c.txt for details. 7 - compatible: Should be "gateworks,pld-gpio" 8 - reg: I2C slave address 9 - gpio-controller: Marks the device node as a GPIO controller. 10 - #gpio-cells: Should be <2>. The first cell is the gpio number and 16 compatible = "gateworks,pld-gpio"; 18 gpio-controller; 19 #gpio-cells = <2>;
|
/Linux-v5.10/Documentation/devicetree/bindings/media/i2c/ |
D | maxim,max9286.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 4 --- 5 $id: http://devicetree.org/schemas/media/i2c/maxim,max9286.yaml# 6 $schema: http://devicetree.org/meta-schemas/core.yaml# 11 - Jacopo Mondi <jacopo+renesas@jmondi.org> 12 - Kieran Bingham <kieran.bingham+renesas@ideasonboard.com> 13 - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> 14 - Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> 18 Serial Links (GMSL) and outputs them on a CSI-2 D-PHY port using up to 4 data 22 channel that encapsulates I2C messages. The MAX9286 forwards all I2C traffic [all …]
|
/Linux-v5.10/drivers/regulator/ |
D | max8998.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 // max8998.c - Voltage regulator driver for the Maxim 8998 5 // Copyright (C) 2009-2010 Samsung Electronics 11 #include <linux/i2c.h> 13 #include <linux/gpio.h> 23 #include <linux/mfd/max8998-private.h> 48 *shift = 3 - (ldo - MAX8998_LDO2); in max8998_get_enable_register() 52 *shift = 7 - (ldo - MAX8998_LDO6); in max8998_get_enable_register() 56 *shift = 7 - (ldo - MAX8998_LDO14); in max8998_get_enable_register() 60 *shift = 7 - (ldo - MAX8998_BUCK1); in max8998_get_enable_register() [all …]
|