/Linux-v5.15/Documentation/devicetree/bindings/mux/ |
D | gpio-mux.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/mux/gpio-mux.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: GPIO-based multiplexer controller bindings 10 - Peter Rosin <peda@axentia.se> 13 Define what GPIO pins are used to control a multiplexer. Or several 17 multiplexer GPIO pins, where the first pin is the least significant 22 const: gpio-mux 24 mux-gpios: [all …]
|
D | mux-controller.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/mux/mux-controller.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Peter Rosin <peda@axentia.se> 13 A multiplexer (or mux) controller will have one, or several, consumer devices 14 that uses the mux controller. Thus, a mux controller can possibly control 16 multiplexer needed by each consumer, but a single mux controller can of course 19 A mux controller provides a number of states to its consumers, and the state 20 space is a simple zero-based enumeration. I.e. 0-1 for a 2-way multiplexer, [all …]
|
D | adi,adg792a.txt | 4 - compatible : "adi,adg792a" or "adi,adg792g" 5 - #mux-control-cells : <0> if parallel (the three muxes are bound together 6 with a single mux controller controlling all three muxes), or <1> if 7 not (one mux controller for each mux). 8 * Standard mux-controller bindings as described in mux-controller.yaml 11 - gpio-controller : if present, #gpio-cells below is required. 12 - #gpio-cells : should be <2> 13 - First cell is the GPO line number, i.e. 0 or 1 14 - Second cell is used to specify active high (0) 18 - idle-state : if present, array of states that the mux controllers will have [all …]
|
D | adi,adgs1408.txt | 1 Bindings for Analog Devices ADGS1408/1409 8:1/Dual 4:1 Mux 4 - compatible : Should be one of 7 * Standard mux-controller bindings as described in mux-controller.yaml 10 - gpio-controller : if present, #gpio-cells is required. 11 - #gpio-cells : should be <2> 12 - First cell is the GPO line number, i.e. 0 to 3 14 - Second cell is used to specify active high (0) 18 - idle-state : if present, the state that the mux controller will have 28 * One mux controller. 29 * Mux state set to idle as is (no idle-state declared) [all …]
|
/Linux-v5.15/Documentation/devicetree/bindings/i2c/ |
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 …]
|
D | i2c-mux-gpio.txt | 1 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 …]
|
D | i2c-mux-ltc4306.txt | 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 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 …]
|
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# 10 - Peter Rosin <peda@axentia.se> 18 i2c child busses and other child nodes, the 'i2c-mux' subnode can be used for 19 populating the i2c child busses. If an 'i2c-mux' subnode is present, only 24 pattern: '^(i2c-?)?mux' 26 '#address-cells': 29 '#size-cells': [all …]
|
/Linux-v5.15/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.15/drivers/i2c/muxes/ |
D | i2c-mux-gpio.c | 1 // 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 …]
|
D | Kconfig | 1 # 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 …]
|
/Linux-v5.15/arch/arm/boot/dts/ |
D | aspeed-bmc-ampere-mtjade.dts | 1 // SPDX-License-Identifier: GPL-2.0+ 2 /dts-v1/; 3 #include "aspeed-g5.dtsi" 4 #include <dt-bindings/gpio/aspeed-gpio.h> 8 compatible = "ampere,mtjade-bmc", "aspeed,ast2500"; 11 stdout-path = &uart5; 19 reserved-memory { 20 #address-cells = <1>; 21 #size-cells = <1>; 25 no-map; [all …]
|
D | qcom-apq8064-pins.dtsi | 1 // 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 …]
|
D | mmp3.dtsi | 1 // SPDX-License-Identifier: GPL-2.0+ OR MIT 6 #include <dt-bindings/clock/marvell,mmp2.h> 7 #include <dt-bindings/power/marvell,mmp2.h> 8 #include <dt-bindings/interrupt-controller/arm-gic.h> 11 #address-cells = <1>; 12 #size-cells = <1>; 15 #address-cells = <1>; 16 #size-cells = <0>; 17 enable-method = "marvell,mmp3-smp"; 22 next-level-cache = <&l2>; [all …]
|
/Linux-v5.15/arch/arm64/boot/dts/amlogic/ |
D | meson-gxbb.dtsi | 1 // 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 …]
|
D | meson-gxl.dtsi | 1 // 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 …]
|
/Linux-v5.15/drivers/mux/ |
D | gpio.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * GPIO-controlled multiplexer driver 12 #include <linux/gpio/consumer.h> 15 #include <linux/mux/driver.h> 23 static int mux_gpio_set(struct mux_control *mux, int state) in mux_gpio_set() argument 25 struct mux_gpio *mux_gpio = mux_chip_priv(mux->chip); in mux_gpio_set() 31 gpiod_set_array_value_cansleep(mux_gpio->gpios->ndescs, in mux_gpio_set() 32 mux_gpio->gpios->desc, in mux_gpio_set() 33 mux_gpio->gpios->info, values); in mux_gpio_set() 43 { .compatible = "gpio-mux", }, [all …]
|
D | Makefile | 1 # 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 …]
|
/Linux-v5.15/Documentation/devicetree/bindings/iio/multiplexer/ |
D | io-channel-mux.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/iio/multiplexer/io-channel-mux.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Peter Rosin <peda@axentia.se> 16 For each non-empty string in the channels property, an io-channel will be 17 created. The number of this io-channel is the same as the index into the list 18 of strings in the channels property, and also matches the mux controller 19 state. The mux controller state is described in 20 Documentation/devicetree/bindings/mux/mux-controller.yaml [all …]
|
/Linux-v5.15/Documentation/devicetree/bindings/pinctrl/ |
D | qcom,msm8974-pinctrl.txt | 4 - compatible: "qcom,msm8974-pinctrl" 5 - reg: Should be the base address and length of the TLMM block. 6 - interrupts: Should be the parent IRQ of the TLMM block. 7 - interrupt-controller: Marks the device node as an interrupt controller. 8 - #interrupt-cells: Should be two. 9 - gpio-controller: Marks the device node as a GPIO controller. 10 - #gpio-cells : Should be two. 11 The first cell is the gpio pin number and the 13 - gpio-ranges: see ../gpio/gpio.txt 17 - gpio-reserved-ranges: see ../gpio/gpio.txt [all …]
|
D | qcom,ipq8064-pinctrl.txt | 4 - compatible: "qcom,ipq8064-pinctrl" 5 - reg: Should be the base address and length of the TLMM block. 6 - interrupts: Should be the parent IRQ of the TLMM block. 7 - interrupt-controller: Marks the device node as an interrupt controller. 8 - #interrupt-cells: Should be two. 9 - gpio-controller: Marks the device node as a GPIO controller. 10 - #gpio-cells : Should be two. 11 The first cell is the gpio pin number and the 13 - gpio-ranges: see ../gpio/gpio.txt 17 - gpio-reserved-ranges: see ../gpio/gpio.txt [all …]
|
D | qcom,ipq4019-pinctrl.txt | 7 - compatible: "qcom,ipq4019-pinctrl" 8 - reg: Should be the base address and length of the TLMM block. 9 - interrupts: Should be the parent IRQ of the TLMM block. 10 - interrupt-controller: Marks the device node as an interrupt controller. 11 - #interrupt-cells: Should be two. 12 - gpio-controller: Marks the device node as a GPIO controller. 13 - #gpio-cells : Should be two. 14 The first cell is the gpio pin number and the 16 - gpio-ranges: see ../gpio/gpio.txt 20 - gpio-reserved-ranges: see ../gpio/gpio.txt [all …]
|
D | st,stm32-pinctrl.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 4 --- 5 $id: http://devicetree.org/schemas/pinctrl/st,stm32-pinctrl.yaml# 6 $schema: http://devicetree.org/meta-schemas/core.yaml# 8 title: STM32 GPIO and Pin Mux/Config controller 11 - Alexandre TORGUE <alexandre.torgue@st.com> 14 STMicroelectronics's STM32 MCUs intregrate a GPIO and Pin mux/config hardware 17 on-chip controllers onto these pads. 22 - st,stm32f429-pinctrl 23 - st,stm32f469-pinctrl [all …]
|
/Linux-v5.15/drivers/pinctrl/ |
D | pinmux.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Copyright (C) 2011-2012 ST-Ericsson SA 6 * Written on behalf of Linaro for ST-Ericsson 7 * Based on bits of regulator core, gpio core and clk core 21 #include <linux/radix-tree.h> 34 const struct pinmux_ops *ops = pctldev->desc->pmxops; in pinmux_check_ops() 40 !ops->get_functions_count || in pinmux_check_ops() 41 !ops->get_function_name || in pinmux_check_ops() 42 !ops->get_function_groups || in pinmux_check_ops() 43 !ops->set_mux) { in pinmux_check_ops() [all …]
|
/Linux-v5.15/Documentation/devicetree/bindings/media/ |
D | video-mux.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/media/video-mux.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Sakari Ailus <sakari.ailus@linux.intel.com> 11 - Laurent Pinchart <laurent.pinchart@ideasonboard.com> 20 const: video-mux 22 mux-controls: 25 '#address-cells': 28 '#size-cells': [all …]
|