Home
last modified time | relevance | path

Searched +full:i2c +full:- +full:gpio (Results 1 – 25 of 1049) sorted by relevance

12345678910>>...42

/Linux-v5.10/Documentation/devicetree/bindings/i2c/
Di2c-gpio.yaml1 # 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 …]
Di2c-mux.txt1 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 …]
Di2c-mux-ltc4306.txt1 * 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 …]
Di2c-mux-gpio.txt1 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 …]
Di2c-arb-gpio-challenge.txt1 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 …]
Di2c-pxa-pci-ce4100.txt1 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 …]
Di2c-s3c2410.txt1 * 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 …]
Di2c-at91.txt1 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/
Di2c-mux-gpio.rst2 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/
Dddk750_swi2c.c1 // 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/
Daspeed-bmc-opp-tacoma.dts1 // 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 …]
Daspeed-bmc-opp-mihawk.dts1 // 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 …]
Daspeed-bmc-facebook-wedge400.dts1 // 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 …]
Ds5pv210-aries.dtsi1 // 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 …]
Dr8a7792.dtsi1 // 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/
DKconfig1 # 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 …]
Di2c-arb-gpio-challenge.c1 // 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/
Dwm1250-ev1.c1 // 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/
Di2c-pca-platform.c1 // 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/
Dpinctrl-mcp23s08.txt2 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/
Ddrivers-on-gpio.rst2 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/
Dsbs,sbs-manager.txt1 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/
Dgateworks,pld-gpio.txt1 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/
Dmaxim,max9286.yaml1 # 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/
Dmax8998.c1 // 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 …]

12345678910>>...42