Home
last modified time | relevance | path

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

12345678910>>...42

/kernel/linux/linux-4.19/drivers/i2c/muxes/
Di2c-mux-gpio.c2 * I2C multiplexer using GPIO API
12 #include <linux/i2c-mux.h>
13 #include <linux/platform_data/i2c-mux-gpio.h>
17 #include <linux/gpio.h>
18 #include "../../gpio/gpiolib.h"
28 static void i2c_mux_gpio_set(const struct gpiomux *mux, unsigned val) in i2c_mux_gpio_set() argument
32 for (i = 0; i < mux->data.n_gpios; i++) in i2c_mux_gpio_set()
33 mux->values[i] = (val >> i) & 1; in i2c_mux_gpio_set()
35 gpiod_set_array_value_cansleep(mux->data.n_gpios, in i2c_mux_gpio_set()
36 mux->gpios, mux->values); in i2c_mux_gpio_set()
[all …]
DKconfig9 tristate "GPIO-based I2C arbitration"
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.
31 will be called i2c-mux-gpio.
40 I2C busses connected through a MUX, which in turn is controlled
41 by a MUX-controller from the MUX subsystem.
[all …]
/kernel/linux/linux-4.19/Documentation/i2c/muxes/
Di2c-mux-gpio1 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/
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 …]
/kernel/linux/linux-5.10/drivers/i2c/muxes/
Di2c-mux-gpio.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * I2C multiplexer using GPIO API
9 #include <linux/i2c-mux.h>
10 #include <linux/platform_data/i2c-mux-gpio.h>
15 #include <linux/gpio/consumer.h>
17 #include "../../gpio/gpiolib.h"
25 static void i2c_mux_gpio_set(const struct gpiomux *mux, unsigned val) in i2c_mux_gpio_set() argument
31 gpiod_set_array_value_cansleep(mux->ngpios, mux->gpios, NULL, values); in i2c_mux_gpio_set()
36 struct gpiomux *mux = i2c_mux_priv(muxc); in i2c_mux_gpio_select() local
38 i2c_mux_gpio_set(mux, chan); in i2c_mux_gpio_select()
[all …]
DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
10 tristate "GPIO-based I2C arbitration"
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
29 through GPIO pins.
32 will be called i2c-mux-gpio.
41 I2C busses connected through a MUX, which in turn is controlled
[all …]
/kernel/linux/linux-5.10/arch/arm64/boot/dts/qcom/
Dmsm8996-pins.dtsi1 // SPDX-License-Identifier: GPL-2.0-only
3 * Copyright (c) 2013-2016, The Linux Foundation. All rights reserved.
10 mux {
12 function = "gpio";
17 drive-strength = <2>; /* 2 mA */
18 bias-pull-down; /* pull down */
19 input-enable;
26 mux {
28 function = "gpio";
32 drive-strength = <16>;
[all …]
/kernel/linux/linux-4.19/Documentation/devicetree/bindings/mux/
Dgpio-mux.txt1 GPIO-based multiplexer controller bindings
3 Define what GPIO pins are used to control a multiplexer. Or several
7 - compatible : "gpio-mux"
8 - mux-gpios : list of gpios used to control the multiplexer, least
10 - #mux-control-cells : <0>
11 * Standard mux-controller bindings as decribed in mux-controller.txt
14 - idle-state : if present, the state the mux will have when idle. The
18 multiplexer GPIO pins, where the first pin is the least significant
23 mux: mux-controller {
24 compatible = "gpio-mux";
[all …]
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/mux/
Dgpio-mux.txt1 GPIO-based multiplexer controller bindings
3 Define what GPIO pins are used to control a multiplexer. Or several
7 - compatible : "gpio-mux"
8 - mux-gpios : list of gpios used to control the multiplexer, least
10 - #mux-control-cells : <0>
11 * Standard mux-controller bindings as decribed in mux-controller.txt
14 - idle-state : if present, the state the mux will have when idle. The
18 multiplexer GPIO pins, where the first pin is the least significant
23 mux: mux-controller {
24 compatible = "gpio-mux";
[all …]
/kernel/linux/linux-4.19/arch/arm/boot/dts/
Dqcom-apq8064-pins.dtsi1 // SPDX-License-Identifier: GPL-2.0
4 sdc4_gpios: sdc4-gpios {
11 sdcc1_pins: sdcc1-pin-active {
14 drive-strengh = <16>;
15 bias-disable;
20 drive-strengh = <10>;
21 bias-pull-up;
26 drive-strengh = <10>;
27 bias-pull-up;
31 sdcc3_pins: sdcc3-pin-active {
[all …]
Dmmp2.dtsi11 #include <dt-bindings/clock/marvell,mmp2.h>
24 #address-cells = <1>;
25 #size-cells = <1>;
26 compatible = "simple-bus";
27 interrupt-parent = <&intc>;
30 L2: l2-cache {
31 compatible = "marvell,tauros2-cache";
32 marvell,tauros2-cache-features = <0x3>;
36 compatible = "mrvl,axi-bus", "simple-bus";
37 #address-cells = <1>;
[all …]
/kernel/linux/linux-5.10/arch/arm/boot/dts/
Dqcom-apq8064-pins.dtsi1 // SPDX-License-Identifier: GPL-2.0
4 sdc4_gpios: sdc4-gpios {
11 sdcc1_pins: sdcc1-pin-active {
14 drive-strengh = <16>;
15 bias-disable;
20 drive-strengh = <10>;
21 bias-pull-up;
26 drive-strengh = <10>;
27 bias-pull-up;
31 sdcc3_pins: sdcc3-pin-active {
[all …]
/kernel/linux/linux-4.19/arch/arm64/boot/dts/amlogic/
Dmeson-gxl.dtsi1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
7 #include "meson-gx.dtsi"
8 #include <dt-bindings/clock/gxbb-clkc.h>
9 #include <dt-bindings/clock/gxbb-aoclkc.h>
10 #include <dt-bindings/gpio/meson-gxl-gpio.h>
11 #include <dt-bindings/reset/amlogic,meson-gxbb-reset.h>
14 compatible = "amlogic,meson-gxl";
19 compatible = "amlogic,meson-gxl-dwc3";
20 #address-cells = <2>;
21 #size-cells = <2>;
[all …]
Dmeson-gxbb.dtsi1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
6 #include "meson-gx.dtsi"
7 #include <dt-bindings/gpio/meson-gxbb-gpio.h>
8 #include <dt-bindings/reset/amlogic,meson-gxbb-reset.h>
9 #include <dt-bindings/clock/gxbb-clkc.h>
10 #include <dt-bindings/clock/gxbb-aoclkc.h>
11 #include <dt-bindings/reset/gxbb-aoclkc.h>
14 compatible = "amlogic,meson-gxbb";
18 compatible = "amlogic,meson-gxbb-usb2-phy";
19 #phy-cells = <0>;
[all …]
/kernel/linux/linux-4.19/arch/arm64/boot/dts/qcom/
Dmsm8996-pins.dtsi2 * Copyright (c) 2013-2016, The Linux Foundation. All rights reserved.
22 function = "gpio";
27 drive-strength = <12>;
28 bias-disable;
32 drive-strength = <16>;
33 bias-disable;
34 output-high;
40 function = "gpio";
45 drive-strength = <2>;
46 bias-pull-down;
[all …]
/kernel/linux/linux-5.10/arch/arm64/boot/dts/amlogic/
Dmeson-gxbb.dtsi1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
6 #include "meson-gx.dtsi"
7 #include "meson-gx-mali450.dtsi"
8 #include <dt-bindings/gpio/meson-gxbb-gpio.h>
9 #include <dt-bindings/reset/amlogic,meson-gxbb-reset.h>
10 #include <dt-bindings/clock/gxbb-clkc.h>
11 #include <dt-bindings/clock/gxbb-aoclkc.h>
12 #include <dt-bindings/reset/gxbb-aoclkc.h>
15 compatible = "amlogic,meson-gxbb";
19 compatible = "amlogic,meson-gxbb-usb2-phy";
[all …]
Dmeson-gxl.dtsi1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
7 #include "meson-gx.dtsi"
8 #include <dt-bindings/clock/gxbb-clkc.h>
9 #include <dt-bindings/clock/gxbb-aoclkc.h>
10 #include <dt-bindings/gpio/meson-gxl-gpio.h>
11 #include <dt-bindings/reset/amlogic,meson-gxbb-reset.h>
14 compatible = "amlogic,meson-gxl";
18 compatible = "amlogic,meson-gxl-usb-ctrl";
21 #address-cells = <2>;
22 #size-cells = <2>;
[all …]
/kernel/linux/linux-4.19/include/linux/platform_data/
Di2c-mux-gpio.h2 * i2c-mux-gpio interface to platform code
14 /* MUX has no specific idle mode */
15 #define I2C_MUX_GPIO_NO_IDLE ((unsigned)-1)
18 * struct i2c_mux_gpio_platform_data - Platform-dependent data for i2c-mux-gpio
21 * @values: Array of bitmasks of GPIO settings (low/high) for each
24 * @classes: Optional I2C auto-detection classes
25 * @gpio_chip: Optional GPIO chip name; if set, GPIO pin numbers are given
26 * relative to the base GPIO number of that chip
27 * @gpios: Array of GPIO numbers used to control MUX
28 * @n_gpios: Number of GPIOs used to control MUX
[all …]
/kernel/linux/linux-4.19/Documentation/devicetree/bindings/i2c/
Di2c-mux-gpio.txt1 GPIO-based I2C Bus Mux
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 | | | \----------+--------+--------+
15 | +------+ | | | | |
16 | | GPIO |-|-----+ +-----+ +-----+ +-----+
[all …]
Di2c-mux-ltc4306.txt5 - 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
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
23 See ../gpio/gpio.txt for more information.
24 - ltc,downstream-accelerators-enable: Enables the rise time accelerators
[all …]
Di2c-mux.txt8 - #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
16 of both i2c child busses and other child nodes, the 'i2c-mux' subnode
17 can be used for populating the i2c child busses. If an 'i2c-mux'
21 Required properties for the i2c-mux child node:
22 - #address-cells = <1>;
23 - #size-cells = <0>;
[all …]
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/i2c/
Di2c-mux-gpio.txt1 GPIO-based I2C Bus Mux
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 | | | \----------+--------+--------+
15 | +------+ | | | | |
16 | | GPIO |-|-----+ +-----+ +-----+ +-----+
[all …]
Di2c-mux-ltc4306.txt5 - 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
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
23 See ../gpio/gpio.txt for more information.
24 - ltc,downstream-accelerators-enable: Enables the rise time accelerators
[all …]
Di2c-mux.txt8 - #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
16 of both i2c child busses and other child nodes, the 'i2c-mux' subnode
17 can be used for populating the i2c child busses. If an 'i2c-mux'
21 Required properties for the i2c-mux child node:
22 - #address-cells = <1>;
23 - #size-cells = <0>;
[all …]
/kernel/linux/linux-5.10/drivers/mux/
DMakefile1 # SPDX-License-Identifier: GPL-2.0
6 mux-core-objs := core.o
7 mux-adg792a-objs := adg792a.o
8 mux-adgs1408-objs := adgs1408.o
9 mux-gpio-objs := gpio.o
10 mux-mmio-objs := mmio.o
12 obj-$(CONFIG_MULTIPLEXER) += mux-core.o
13 obj-$(CONFIG_MUX_ADG792A) += mux-adg792a.o
14 obj-$(CONFIG_MUX_ADGS1408) += mux-adgs1408.o
15 obj-$(CONFIG_MUX_GPIO) += mux-gpio.o
[all …]

12345678910>>...42