/openbmc/linux/arch/arm/boot/dts/nuvoton/ |
H A D | nuvoton-wpcm450.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 4 #include <dt-bindings/interrupt-controller/irq.h> 8 #address-cells = <1>; 9 #size-cells = <1>; 23 #address-cells = <1>; 24 #size-cells = <0>; 27 compatible = "arm,arm926ej-s"; 33 clk24m: clock-24mhz { 35 compatible = "fixed-clock"; 36 clock-frequency = <24000000>; [all …]
|
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 …]
|
/openbmc/linux/Documentation/devicetree/bindings/mux/ |
H A 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 …]
|
H A 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 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 …]
|
H A 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 …]
|
/openbmc/obmc-console/ |
H A D | console-mux.c | 9 #include "console-server.h" 10 #include "console-mux.h" 23 static const char *key_mux_gpios = "mux-gpios"; 24 static const char *key_mux_index = "mux-index"; 57 length = comma - current; in extract_mux_gpio_name() 76 console_mux_find_gpio_by_index(struct console_gpio *gpio, in console_mux_find_gpio_by_index() argument 81 gpio->name = extract_mux_gpio_name(config_gpio_names); in console_mux_find_gpio_by_index() 82 if (gpio->name == NULL) { in console_mux_find_gpio_by_index() 83 warnx("could not extract mux gpio name from config '%s'", in console_mux_find_gpio_by_index() 88 gpio->line = gpiod_line_find(gpio->name); in console_mux_find_gpio_by_index() [all …]
|
/openbmc/linux/Documentation/devicetree/bindings/i2c/ |
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-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 …]
|
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> 15 +-----+ +-----+ 17 +------------+ +-----+ +-----+ 19 | | /--------+--------+ 20 | +------+ | +------+ child bus A, on GPIO value set to 0 [all …]
|
/openbmc/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 …]
|
/openbmc/linux/drivers/i2c/muxes/ |
H A 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> 11 #include <linux/platform_data/i2c-mux-gpio.h> 16 #include <linux/gpio/consumer.h> 18 #include "../../gpio/gpiolib.h" 26 static void i2c_mux_gpio_set(const struct gpiomux *mux, unsigned val) in i2c_mux_gpio_set() argument 32 gpiod_set_array_value_cansleep(mux->ngpios, mux->gpios, NULL, values); in i2c_mux_gpio_set() 37 struct gpiomux *mux = i2c_mux_priv(muxc); in i2c_mux_gpio_select() local 39 i2c_mux_gpio_set(mux, chan); in i2c_mux_gpio_select() [all …]
|
H A 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 …]
|
/openbmc/u-boot/drivers/gpio/ |
H A D | at91_gpio.c | 1 // SPDX-License-Identifier: GPL-2.0+ 16 #include <asm/gpio.h> 52 writel(mask, &at91_port->puer); in at91_set_port_pullup() 54 writel(mask, &at91_port->pudr); in at91_set_port_pullup() 55 writel(mask, &at91_port->per); in at91_set_port_pullup() 69 * mux the pin to the "GPIO" peripheral role. 78 writel(mask, &at91_port->idr); in at91_set_pio_periph() 80 writel(mask, &at91_port->per); in at91_set_pio_periph() 87 * mux the pin to the "A" internal peripheral role. 96 writel(mask, &at91_port->idr); in at91_set_a_periph() [all …]
|
/openbmc/u-boot/arch/arm/dts/ |
H A 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"; 19 compatible = "amlogic,meson-gxl-dwc3"; 20 #address-cells = <2>; 21 #size-cells = <2>; [all …]
|
H A D | meson-gxbb.dtsi | 1 // 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 …]
|
/openbmc/linux/arch/arm/boot/dts/qcom/ |
H A 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 …]
|
/openbmc/linux/arch/arm64/boot/dts/xilinx/ |
H A D | zynqmp-zc1751-xm019-dc5.dts | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * dts file for Xilinx ZynqMP zc1751-xm019-dc5 5 * (C) Copyright 2015 - 2021, Xilinx, Inc. 11 /dts-v1/; 14 #include "zynqmp-clk-ccf.dtsi" 15 #include <dt-bindings/gpio/gpio.h> 16 #include <dt-bindings/pinctrl/pinctrl-zynqmp.h> 19 model = "ZynqMP zc1751-xm019-dc5 RevA"; 20 compatible = "xlnx,zynqmp-zc1751", "xlnx,zynqmp"; 33 stdout-path = "serial0:115200n8"; [all …]
|
/openbmc/linux/arch/arm64/boot/dts/amlogic/ |
H A 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 …]
|
H A 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 …]
|
/openbmc/linux/drivers/mux/ |
H A 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 …]
|
H A 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 …]
|
/openbmc/docs/designs/ |
H A D | multihost-phosphor-buttons.md | 1 # Multi-host front panel phosphor buttons interface 12 Phosphor buttons module has currently option to monitor gpio events of power and 15 phosphor-buttons currently only support push type buttons.support for different 16 form factor inputs such as switches/MUX other than push type buttons are needed 20 Currently handler events are only based on monitoring gpio events as input 22 which monitors non gpio events and triggers button actions for example events 28 corresponding to platform specific hardware buttons/MUX/Switches which are 38 +----------------------------------------------+ 42 | +--------------+ +--------------+ | 46 | +--------------+ +--------------+ | [all …]
|
/openbmc/linux/Documentation/devicetree/bindings/usb/ |
H A D | gpio-sbu-mux.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 4 $id: http://devicetree.org/schemas/usb/gpio-sbu-mux.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: GPIO-based SBU mux 10 - Bjorn Andersson <andersson@kernel.org> 13 In USB Type-C applications the SBU lines needs to be connected, disconnected 15 a family of hardware solutions which switches between these modes using GPIO 21 - enum: 22 - onnn,fsusb43l10x [all …]
|
/openbmc/u-boot/drivers/i2c/muxes/ |
H A D | i2c-mux-gpio.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * I2C multiplexer using GPIO API 11 #include <asm-generic/gpio.h> 22 * struct i2c_mux_gpio_priv - private data for i2c mux gpio 26 * @gpios: the mux-gpios array 27 * @n_gpios: num of gpios in mux-gpios 28 * @idle: the value of idle-state 45 for (i = 0; i < priv->n_gpios; i++) { in i2c_mux_gpio_select() 46 ret = dm_gpio_set_value(&priv->gpios[i], (channel >> i) & 1); in i2c_mux_gpio_select() 60 for (i = 0; i < priv->n_gpios; i++) { in i2c_mux_gpio_deselect() [all …]
|
/openbmc/linux/drivers/pinctrl/ |
H A 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 24 #include <linux/radix-tree.h> 38 const struct pinmux_ops *ops = pctldev->desc->pmxops; in pinmux_check_ops() 44 !ops->get_functions_count || in pinmux_check_ops() 45 !ops->get_function_name || in pinmux_check_ops() 46 !ops->get_function_groups || in pinmux_check_ops() 47 !ops->set_mux) { in pinmux_check_ops() [all …]
|