/linux/Documentation/devicetree/bindings/i2c/ |
H A 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: GPIO bitbanged I2C 10 - Wolfram Sang <wsa@kernel.org> 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 …]
|
H A D | i2c-mux-gpmux.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/i2c/i2c-mux-gpmux.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: General Purpose I2C Bus Mux 10 - Peter Rosin <peda@axentia.se> 13 This binding describes an I2C bus multiplexer that uses a mux controller 14 from the mux subsystem to route the I2C signals. 16 .-----. .-----. 18 .------------. '-----' '-----' [all …]
|
H A D | i2c-mux.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/i2c/i2c-mux.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Common i2c bus multiplexer/switch properties. 10 - Peter Rosin <peda@axentia.se> 13 An i2c bus multiplexer/switch will have several child busses that are numbered 14 uniquely in a device dependent manner. The nodes for an i2c bus 17 For i2c multiplexers/switches that have child nodes that are a mixture of both 18 i2c child busses and other child nodes, the 'i2c-mux' subnode can be used for [all …]
|
H A 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.yaml in this directory. 12 - I2C child bus nodes. See i2c-mux.yaml 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 …]
|
H A D | i2c-arb-gpio-challenge.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 4 $id: http://devicetree.org/schemas/i2c/i2c-arb-gpio-challenge.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: GPIO-based I2C Arbitration Using a Challenge & Response Mechanism 10 - Doug Anderson <dianders@chromium.org> 11 - Peter Rosin <peda@axentia.se> 14 This uses GPIO lines and a challenge & response mechanism to arbitrate who is 15 the master of an I2C bus in a multimaster situation. 18 standard I2C multi-master rules. Using GPIOs is generally useful in the case [all …]
|
H A D | i2c-mux-gpio.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only 3 --- 4 $id: http://devicetree.org/schemas/i2c/i2c-mux-gpio.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: GPIO-based I2C Bus Mux 10 - Wolfram Sang <wsa@kernel.org> 13 This binding describes an I2C bus multiplexer that uses GPIOs to route the I2C signals. 15 +-----+ +-----+ 17 +------------+ +-----+ +-----+ 19 | | /--------+--------+ [all …]
|
H A 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 …]
|
/linux/Documentation/i2c/muxes/ |
H A 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/Documentation/devicetree/bindings/media/i2c/ |
H A 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/arch/arm/boot/dts/aspeed/ |
H A D | aspeed-bmc-facebook-catalina.dts | 1 // SPDX-License-Identifier: GPL-2.0+ 3 /dts-v1/; 5 #include "aspeed-g6.dtsi" 6 #include <dt-bindings/gpio/aspeed-gpio.h> 7 #include <dt-bindings/usb/pd.h> 8 #include <dt-bindings/leds/leds-pca955x.h> 9 #include <dt-bindings/interrupt-controller/irq.h> 10 #include <dt-bindings/i2c/i2c.h> 14 compatible = "facebook,catalina-bmc", "aspeed,ast2600"; 64 stdout-path = "serial4:57600n8"; [all …]
|
H A D | aspeed-bmc-bytedance-g220a.dts | 1 // SPDX-License-Identifier: GPL-2.0+ 3 /dts-v1/; 5 #include "aspeed-g5.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 = "bytedance,g220a-bmc", "aspeed,ast2500"; 57 stdout-path = &uart5; 65 reserved-memory { 66 #address-cells = <1>; [all …]
|
H A 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 …]
|
H A 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 …]
|
/linux/drivers/staging/sm750fb/ |
H A 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/arch/arm/boot/dts/nuvoton/ |
H A D | nuvoton-npcm730-gbs.dts | 1 // SPDX-License-Identifier: GPL-2.0 4 /dts-v1/; 5 #include "nuvoton-npcm730.dtsi" 6 #include <dt-bindings/gpio/gpio.h> 10 compatible = "quanta,gbs-bmc","nuvoton,npcm730"; 71 stdout-path = &serial0; 78 gpio-keys { 79 compatible = "gpio-keys"; 80 sas-cable0 { 81 label = "sas-cable0"; [all …]
|
H A D | nuvoton-npcm750-runbmc-olympus.dts | 1 // SPDX-License-Identifier: GPL-2.0 5 /dts-v1/; 6 #include "nuvoton-npcm750.dtsi" 7 #include "nuvoton-npcm750-runbmc-olympus-pincfg.dtsi" 9 #include <dt-bindings/i2c/i2c.h> 10 #include <dt-bindings/gpio/gpio.h> 43 stdout-path = &serial3; 50 iio-hwmon { 51 compatible = "iio-hwmon"; 52 io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 3>, [all …]
|
/linux/drivers/i2c/muxes/ |
H A 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 …]
|
/linux/arch/mips/boot/dts/mscc/ |
H A D | jaguar2_pcb110.dts | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 6 /dts-v1/; 8 #include <dt-bindings/gpio/gpio.h> 11 model = "Jaguar2 Cu8-Sfp16 PCB110 Reference Board"; 12 compatible = "mscc,jr2-pcb110", "mscc,jr2"; 45 i2c0_imux: i2c0-imux { 46 compatible = "i2c-mux-pinctrl"; 47 #address-cells = <1>; 48 #size-cells = <0>; 49 i2c-parent = <&i2c0>; [all …]
|
/linux/drivers/i2c/busses/ |
H A 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> 31 struct gpio_desc *gpio; member 41 struct i2c_pca_pf_data *i2c = pd; in i2c_pca_pf_readbyte8() local 42 return ioread8(i2c->reg_base + reg); in i2c_pca_pf_readbyte8() 47 struct i2c_pca_pf_data *i2c = pd; in i2c_pca_pf_readbyte16() local [all …]
|
H A D | i2c-gpio.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Bitbanging I2C bus driver using the GPIO API 10 #include <linux/gpio/consumer.h> 11 #include <linux/i2c-algo-bit.h> 12 #include <linux/i2c.h> 16 #include <linux/platform_data/i2c-gpio.h> 43 gpiod_set_value_cansleep(priv->sda, state); in i2c_gpio_setsda_val() 48 * for pins that are configured as open drain and for output-only 49 * pins. The latter case will break the i2c protocol, but it will 56 gpiod_set_value_cansleep(priv->scl, state); in i2c_gpio_setscl_val() [all …]
|
/linux/arch/arm64/boot/dts/exynos/ |
H A D | exynosautov920-pinctrl.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 3 * Samsung's ExynosAutov920 SoC pin-mux and pin-config device tree source 7 * Samsung's ExynosAutov920 SoC pin-mux and pin-config options are listed as 11 #include <dt-bindings/interrupt-controller/arm-gic.h> 13 #include "exynos-pinctrl.h" 16 gpa0: gpa0-gpio-bank { 17 gpio-controller; 18 #gpio-cells = <2>; 19 interrupt-controller; 20 #interrupt-cells = <2>; [all …]
|
/linux/Documentation/devicetree/bindings/pinctrl/ |
H A 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/drivers/pinctrl/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 35 bool "AMD GPIO pin control" 44 The driver for memory mapped GPIO functionality on AMD platforms 47 for GPIO use. 53 tristate "Apple SoC GPIO pin controller driver" 62 This is the driver for the GPIO controller found on Apple ARM SoCs, 66 will be called pinctrl-apple-gpio. 69 bool "Axis ARTPEC-6 pin controller driver" 74 This is the driver for the Axis ARTPEC-6 pin controller. This driver 77 found in Documentation/devicetree/bindings/pinctrl/axis,artpec6-pinctrl.txt [all …]
|
/linux/arch/arm/boot/dts/samsung/ |
H A 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 …]
|
/linux/arch/arm/boot/dts/st/ |
H A D | ste-ux500-samsung-janice.dts | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Devicetree for the Samsung Galaxy S Advance GT-I9070 also known as Janice. 6 /dts-v1/; 7 #include "ste-db8500.dtsi" 8 #include "ste-ab8500.dtsi" 9 #include "ste-dbx5x0-pinctrl.dtsi" 10 #include <dt-bindings/gpio/gpio.h> 11 #include <dt-bindings/leds/common.h> 12 #include <dt-bindings/input/input.h> 13 #include <dt-bindings/interrupt-controller/irq.h> [all …]
|