/linux-5.10/drivers/mux/ |
D | gpio.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * GPIO-controlled multiplexer driver 13 #include <linux/mux/driver.h> 19 struct gpio_descs *gpios; member 22 static int mux_gpio_set(struct mux_control *mux, int state) in mux_gpio_set() argument 24 struct mux_gpio *mux_gpio = mux_chip_priv(mux->chip); in mux_gpio_set() 29 gpiod_set_array_value_cansleep(mux_gpio->gpios->ndescs, in mux_gpio_set() 30 mux_gpio->gpios->desc, in mux_gpio_set() 31 mux_gpio->gpios->info, values); in mux_gpio_set() 41 { .compatible = "gpio-mux", }, [all …]
|
/linux-5.10/drivers/i2c/muxes/ |
D | i2c-mux-gpio.c | 1 // SPDX-License-Identifier: GPL-2.0-only 9 #include <linux/i2c-mux.h> 10 #include <linux/platform_data/i2c-mux-gpio.h> 22 struct gpio_desc **gpios; member 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() 45 struct gpiomux *mux = i2c_mux_priv(muxc); in i2c_mux_gpio_deselect() local 47 i2c_mux_gpio_set(mux, mux->data.idle); in i2c_mux_gpio_deselect() [all …]
|
/linux-5.10/Documentation/devicetree/bindings/i2c/ |
D | i2c-mux-gpio.txt | 1 GPIO-based I2C Bus Mux 3 This binding describes an I2C bus multiplexer that uses GPIOs to 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 | +------+ | | | | | [all …]
|
D | i2c-mux-gpmux.txt | 1 General Purpose I2C Bus Mux 3 This binding describes an I2C bus multiplexer that uses a mux controller 4 from the mux subsystem to route the I2C signals. 6 .-----. .-----. 8 .------------. '-----' '-----' 10 | | .--------+--------' 11 | .------. | .------+ child bus A, on MUX value set to 0 12 | | I2C |-|--| Mux | 13 | '------' | '--+---+ child bus B, on MUX value set to 1 14 | .------. | | '----------+--------+--------. [all …]
|
/linux-5.10/Documentation/devicetree/bindings/mux/ |
D | gpio-mux.txt | 1 GPIO-based multiplexer controller bindings 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 23 mux: mux-controller { 24 compatible = "gpio-mux"; 25 #mux-control-cells = <0>; 27 mux-gpios = <&pioA 0 GPIO_ACTIVE_HIGH>, [all …]
|
D | mux-controller.txt | 4 A multiplexer (or mux) controller will have one, or several, consumer devices 5 that uses the mux controller. Thus, a mux controller can possibly control 7 multiplexer needed by each consumer, but a single mux controller can of course 10 A mux controller provides a number of states to its consumers, and the state 11 space is a simple zero-based enumeration. I.e. 0-1 for a 2-way multiplexer, 12 0-7 for an 8-way multiplexer, etc. 16 --------- 18 Mux controller consumers should specify a list of mux controllers that they 19 want to use with a property containing a 'mux-ctrl-list': 21 mux-ctrl-list ::= <single-mux-ctrl> [mux-ctrl-list] [all …]
|
/linux-5.10/arch/arm/boot/dts/ |
D | at91-tse850-3.dts | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * at91-tse850-3.dts - Device Tree file for the Axentia TSE-850 3.0 board 9 /dts-v1/; 10 #include <dt-bindings/pwm/pwm.h> 11 #include "at91-linea.dtsi" 14 model = "Axentia TSE-850 3.0"; 19 compatible = "fixed-clock"; 21 #clock-cells = <0>; 22 clock-frequency = <16000000>; 23 clock-output-names = "sck"; [all …]
|
D | bcm47094-linksys-panamera.dts | 1 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT 6 /dts-v1/; 9 #include "bcm5301x-nand-cs0-bch8.dtsi" 25 gpio-keys { 26 compatible = "gpio-keys"; 31 gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>; 37 gpios = <&chipcommon 16 GPIO_ACTIVE_LOW>; 43 gpios = <&chipcommon 17 GPIO_ACTIVE_LOW>; 48 compatible = "gpio-leds"; 52 gpios = <&chipcommon 22 GPIO_ACTIVE_LOW>; [all …]
|
D | qcom-ipq8064-rb3011.dts | 1 // SPDX-License-Identifier: GPL-2.0 2 #include "qcom-ipq8064.dtsi" 3 #include <dt-bindings/input/input.h> 6 model = "MikroTik RB3011UiAS-RM"; 13 mdio-gpio0 = &mdio0; 14 mdio-gpio1 = &mdio1; 19 stdout-path = "serial0:115200n8"; 29 compatible = "virtual,mdio-gpio"; 30 gpios = <&qcom_pinmux 1 GPIO_ACTIVE_HIGH>, 32 #address-cells = <1>; [all …]
|
D | vf610-zii-scu4-aib.dts | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 3 // Copyright (C) 2016-2018 Zodiac Inflight Innovations 5 /dts-v1/; 10 compatible = "zii,vf610scu4-aib", "zii,vf610dev", "fsl,vf610"; 13 stdout-path = &uart0; 21 gpio-leds { 22 compatible = "gpio-leds"; 23 pinctrl-0 = <&pinctrl_leds_debug>; 24 pinctrl-names = "default"; 28 gpios = <&gpio3 0 GPIO_ACTIVE_HIGH>; [all …]
|
D | aspeed-bmc-lenovo-hr630.dts | 1 // SPDX-License-Identifier: GPL-2.0+ 5 * Copyright (C) 2019-present Lenovo 8 /dts-v1/; 10 #include "aspeed-g5.dtsi" 11 #include <dt-bindings/gpio/aspeed-gpio.h> 15 compatible = "lenovo,hr630-bmc", "aspeed,ast2500"; 29 stdout-path = &uart5; 38 reserved-memory { 39 #address-cells = <1>; 40 #size-cells = <1>; [all …]
|
D | mt7629-rfb.dts | 1 // SPDX-License-Identifier: GPL-2.0 7 /dts-v1/; 8 #include <dt-bindings/input/input.h> 13 compatible = "mediatek,mt7629-rfb", "mediatek,mt7629"; 20 stdout-path = "serial0:115200n8"; 23 gpio-keys { 24 compatible = "gpio-keys"; 29 gpios = <&pio 60 GPIO_ACTIVE_LOW>; 35 gpios = <&pio 58 GPIO_ACTIVE_LOW>; 44 reg_3p3v: regulator-3p3v { [all …]
|
D | zynq-zc702.dts | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (C) 2011 - 2014 Xilinx 6 /dts-v1/; 7 #include "zynq-7000.dtsi" 11 compatible = "xlnx,zynq-zc702", "xlnx,zynq-7000"; 27 stdout-path = "serial0:115200n8"; 30 gpio-keys { 31 compatible = "gpio-keys"; 35 gpios = <&gpio0 12 0>; 37 wakeup-source; [all …]
|
/linux-5.10/drivers/net/mdio/ |
D | mdio-mux-gpio.c | 1 // SPDX-License-Identifier: GPL-2.0 11 #include <linux/mdio-mux.h> 18 struct gpio_descs *gpios; member 33 gpiod_set_array_value_cansleep(s->gpios->ndescs, s->gpios->desc, in mdio_mux_gpio_switch_fn() 34 s->gpios->info, values); in mdio_mux_gpio_switch_fn() 42 struct gpio_descs *gpios; in mdio_mux_gpio_probe() local 45 gpios = devm_gpiod_get_array(&pdev->dev, NULL, GPIOD_OUT_LOW); in mdio_mux_gpio_probe() 46 if (IS_ERR(gpios)) in mdio_mux_gpio_probe() 47 return PTR_ERR(gpios); in mdio_mux_gpio_probe() 49 s = devm_kzalloc(&pdev->dev, sizeof(*s), GFP_KERNEL); in mdio_mux_gpio_probe() [all …]
|
/linux-5.10/Documentation/devicetree/bindings/fsi/ |
D | fsi-master-aspeed.txt | 1 Device-tree bindings for AST2600 FSI master 2 ------------------------------------------- 8 - compatible: "aspeed,ast2600-fsi-master" 9 - reg: base address and length 10 - clocks: phandle and clock number 11 - interrupts: platform dependent interrupt description 12 - pinctrl-0: phandle to pinctrl node 13 - pinctrl-names: pinctrl state 16 - cfam-reset-gpios: GPIO for CFAM reset 18 - fsi-routing-gpios: GPIO for setting the FSI mux (internal or cabled) [all …]
|
D | fsi-master-gpio.txt | 1 Device-tree bindings for gpio-based FSI master driver 2 ----------------------------------------------------- 5 - compatible = "fsi-master-gpio"; 6 - clock-gpios = <gpio-descriptor>; : GPIO for FSI clock 7 - data-gpios = <gpio-descriptor>; : GPIO for FSI data signal 10 - enable-gpios = <gpio-descriptor>; : GPIO for enable signal 11 - trans-gpios = <gpio-descriptor>; : GPIO for voltage translator enable 12 - mux-gpios = <gpio-descriptor>; : GPIO for pin multiplexing with other 14 - no-gpio-delays; : Don't add extra delays between GPIO 21 fsi-master { [all …]
|
D | fsi-master-ast-cf.txt | 1 Device-tree bindings for ColdFire offloaded gpio-based FSI master driver 2 ------------------------------------------------------------------------ 5 - compatible = 6 "aspeed,ast2400-cf-fsi-master" for an AST2400 based system 8 "aspeed,ast2500-cf-fsi-master" for an AST2500 based system 10 - clock-gpios = <gpio-descriptor>; : GPIO for FSI clock 11 - data-gpios = <gpio-descriptor>; : GPIO for FSI data signal 12 - enable-gpios = <gpio-descriptor>; : GPIO for enable signal 13 - trans-gpios = <gpio-descriptor>; : GPIO for voltage translator enable 14 - mux-gpios = <gpio-descriptor>; : GPIO for pin multiplexing with other [all …]
|
/linux-5.10/arch/arm64/boot/dts/mediatek/ |
D | mt7622-bananapi-bpi-r64.dts | 5 * SPDX-License-Identifier: (GPL-2.0 OR MIT) 8 /dts-v1/; 9 #include <dt-bindings/input/input.h> 10 #include <dt-bindings/gpio/gpio.h> 16 model = "Bananapi BPI-R64"; 17 compatible = "bananapi,bpi-r64", "mediatek,mt7622"; 24 stdout-path = "serial0:115200n8"; 30 proc-supply = <&mt6380_vcpu_reg>; 31 sram-supply = <&mt6380_vm_reg>; 35 proc-supply = <&mt6380_vcpu_reg>; [all …]
|
D | mt7622-rfb1.dts | 6 * SPDX-License-Identifier: (GPL-2.0 OR MIT) 9 /dts-v1/; 10 #include <dt-bindings/input/input.h> 11 #include <dt-bindings/gpio/gpio.h> 18 compatible = "mediatek,mt7622-rfb1", "mediatek,mt7622"; 25 stdout-path = "serial0:115200n8"; 31 proc-supply = <&mt6380_vcpu_reg>; 32 sram-supply = <&mt6380_vm_reg>; 36 proc-supply = <&mt6380_vcpu_reg>; 37 sram-supply = <&mt6380_vm_reg>; [all …]
|
/linux-5.10/Documentation/devicetree/bindings/display/msm/ |
D | hdmi.txt | 4 - compatible: one of the following 5 * "qcom,hdmi-tx-8996" 6 * "qcom,hdmi-tx-8994" 7 * "qcom,hdmi-tx-8084" 8 * "qcom,hdmi-tx-8974" 9 * "qcom,hdmi-tx-8660" 10 * "qcom,hdmi-tx-8960" 11 - reg: Physical base address and length of the controller's registers 12 - reg-names: "core_physical" 13 - interrupts: The interrupt signal from the hdmi block. [all …]
|
/linux-5.10/Documentation/devicetree/bindings/iio/multiplexer/ |
D | io-channel-mux.txt | 7 - compatible : "io-channel-mux" 8 - io-channels : Channel node of the parent channel that has multiplexed 10 - io-channel-names : Should be "parent". 11 - #address-cells = <1>; 12 - #size-cells = <0>; 13 - mux-controls : Mux controller node to use for operating the mux 14 - channels : List of strings, labeling the mux controller states. 16 For each non-empty string in the channels property, an io-channel will 17 be created. The number of this io-channel is the same as the index into 18 the list of strings in the channels property, and also matches the mux [all …]
|
/linux-5.10/drivers/extcon/ |
D | extcon-intel-int3496.c | 1 // SPDX-License-Identifier: GPL-2.0 14 #include <linux/extcon-provider.h> 49 { "id-gpios", &id_gpios, 1, ACPI_GPIO_QUIRK_NO_IO_RESTRICTION }, 50 { "vbus-gpios", &vbus_gpios, 1 }, 51 { "mux-gpios", &mux_gpios, 1 }, 59 int id = gpiod_get_value_cansleep(data->gpio_usb_id); in int3496_do_usb_id() 62 dev_dbg(data->dev, "Connected %s cable\n", id ? "PERIPHERAL" : "HOST"); in int3496_do_usb_id() 65 * Peripheral: set USB mux to peripheral and disable VBUS in int3496_do_usb_id() 66 * Host: set USB mux to host and enable VBUS in int3496_do_usb_id() 68 if (!IS_ERR(data->gpio_usb_mux)) in int3496_do_usb_id() [all …]
|
/linux-5.10/Documentation/devicetree/bindings/clock/ |
D | gpio-mux-clock.txt | 5 [1] Documentation/devicetree/bindings/clock/clock-bindings.txt 8 - compatible : shall be "gpio-mux-clock". 9 - clocks: list of two references to parent clocks. 10 - #clock-cells : from common clock binding; shall be set to 0. 11 - select-gpios : GPIO reference for selecting the parent clock. 15 compatible = "gpio-mux-clock"; 17 #clock-cells = <0>; 18 select-gpios = <&gpio 1 GPIO_ACTIVE_HIGH>;
|
/linux-5.10/Documentation/devicetree/bindings/display/exynos/ |
D | exynos_hdmi.txt | 1 Device-Tree bindings for drm hdmi driver 4 - compatible: value should be one among the following: 5 1) "samsung,exynos4210-hdmi" 6 2) "samsung,exynos4212-hdmi" 7 3) "samsung,exynos5420-hdmi" 8 4) "samsung,exynos5433-hdmi" 9 - reg: physical base address of the hdmi and length of memory mapped 11 - interrupts: interrupt number to the cpu. 12 - hpd-gpios: following information about the hotplug gpio pin. 16 - ddc: phandle to the hdmi ddc node [all …]
|
/linux-5.10/Documentation/devicetree/bindings/connector/ |
D | usb-connector.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only 3 --- 4 $id: http://devicetree.org/schemas/connector/usb-connector.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Rob Herring <robh@kernel.org> 15 MUX and USB interface controller. 20 - enum: 21 - usb-a-connector 22 - usb-b-connector 23 - usb-c-connector [all …]
|