| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/mux/ |
| D | mux-consumer.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/mux/mux-consumer.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Peter Rosin <peda@axentia.se> 13 Mux controller consumers should specify a list of mux controllers that they 14 want to use with a property containing a 'mux-ctrl-list': 16 mux-ctrl-list ::= <single-mux-ctrl> [mux-ctrl-list] 17 single-mux-ctrl ::= <mux-ctrl-phandle> [mux-ctrl-specifier] 18 mux-ctrl-phandle : phandle to mux controller node [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 22 States 0 through 7 correspond to signals S1 through S8 in the datasheet. 23 For ADGS1409 only states 0 to 3 are available. [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 | 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 | reg-mux.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/mux/reg-mux.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Generic register bitfield-based multiplexer controller 10 - Peter Rosin <peda@axentia.se> 19 - reg-mux # parent device of mux controller is not syscon device 20 - mmio-mux # parent device of mux controller is syscon device 24 '#mux-control-cells': 27 mux-reg-masks: [all …]
|
| /kernel/linux/linux-5.10/drivers/i2c/muxes/ |
| D | i2c-mux-pinctrl.c | 1 // SPDX-License-Identifier: GPL-2.0-only 9 #include <linux/i2c-mux.h> 19 struct pinctrl_state *states[]; member 24 struct i2c_mux_pinctrl *mux = i2c_mux_priv(muxc); in i2c_mux_pinctrl_select() local 26 return pinctrl_select_state(mux->pinctrl, mux->states[chan]); in i2c_mux_pinctrl_select() 31 return i2c_mux_pinctrl_select(muxc, muxc->num_adapters); in i2c_mux_pinctrl_deselect() 41 list_for_each_entry(setting, &state->settings, node) { in i2c_mux_pinctrl_root_adapter() 42 pin_root = i2c_root_adapter(setting->pctldev->dev); in i2c_mux_pinctrl_root_adapter() 56 struct device_node *np = dev->of_node; in i2c_mux_pinctrl_parent_adapter() 60 parent_np = of_parse_phandle(np, "i2c-parent", 0); in i2c_mux_pinctrl_parent_adapter() [all …]
|
| /kernel/linux/linux-6.6/drivers/i2c/muxes/ |
| D | i2c-mux-pinctrl.c | 1 // SPDX-License-Identifier: GPL-2.0-only 9 #include <linux/i2c-mux.h> 19 struct pinctrl_state *states[]; member 24 struct i2c_mux_pinctrl *mux = i2c_mux_priv(muxc); in i2c_mux_pinctrl_select() local 26 return pinctrl_select_state(mux->pinctrl, mux->states[chan]); in i2c_mux_pinctrl_select() 31 return i2c_mux_pinctrl_select(muxc, muxc->num_adapters); in i2c_mux_pinctrl_deselect() 41 list_for_each_entry(setting, &state->settings, node) { in i2c_mux_pinctrl_root_adapter() 42 pin_root = i2c_root_adapter(setting->pctldev->dev); in i2c_mux_pinctrl_root_adapter() 56 struct device_node *np = dev->of_node; in i2c_mux_pinctrl_parent_adapter() 60 parent_np = of_parse_phandle(np, "i2c-parent", 0); in i2c_mux_pinctrl_parent_adapter() [all …]
|
| /kernel/linux/linux-6.6/include/linux/mux/ |
| D | driver.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 * mux/driver.h - definitions for the multiplexer driver interface 13 #include <dt-bindings/mux/mux.h> 22 * struct mux_control_ops - Mux controller operations for a mux chip. 23 * @set: Set the state of the given mux controller. 26 int (*set)(struct mux_control *mux, int state); 30 * struct mux_control - Represents a mux controller. 31 * @lock: Protects the mux controller state. 32 * @chip: The mux chip that is handling this mux controller. 33 * @cached_state: The current mux controller state, or -1 if none. [all …]
|
| /kernel/linux/linux-5.10/include/linux/mux/ |
| D | driver.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 * mux/driver.h - definitions for the multiplexer driver interface 13 #include <dt-bindings/mux/mux.h> 21 * struct mux_control_ops - Mux controller operations for a mux chip. 22 * @set: Set the state of the given mux controller. 25 int (*set)(struct mux_control *mux, int state); 29 * struct mux_control - Represents a mux controller. 30 * @lock: Protects the mux controller state. 31 * @chip: The mux chip that is handling this mux controller. 32 * @cached_state: The current mux controller state, or -1 if none. [all …]
|
| /kernel/linux/linux-5.10/drivers/mux/ |
| D | adgs1408.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * ADGS1408/ADGS1409 SPI MUX driver 11 #include <linux/mux/driver.h> 36 static int adgs1408_set(struct mux_control *mux, int state) in adgs1408_set() argument 38 struct spi_device *spi = to_spi_device(mux->chip->dev.parent); in adgs1408_set() 55 struct device *dev = &spi->dev; in adgs1408_probe() 58 struct mux_control *mux; in adgs1408_probe() local 64 chip_id = spi_get_device_id(spi)->driver_data; in adgs1408_probe() 70 mux_chip->ops = &adgs1408_ops; in adgs1408_probe() 76 ret = device_property_read_u32(dev, "idle-state", (u32 *)&idle_state); in adgs1408_probe() [all …]
|
| D | gpio.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * GPIO-controlled multiplexer driver 13 #include <linux/mux/driver.h> 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", }, 48 struct device *dev = &pdev->dev; in mux_gpio_probe() [all …]
|
| D | mmio.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * MMIO register bitfield-controlled multiplexer driver 12 #include <linux/mux/driver.h> 18 static int mux_mmio_set(struct mux_control *mux, int state) in mux_mmio_set() argument 20 struct regmap_field **fields = mux_chip_priv(mux->chip); in mux_mmio_set() 22 return regmap_field_write(fields[mux_control_get_index(mux)], state); in mux_mmio_set() 30 { .compatible = "mmio-mux", }, 31 { .compatible = "reg-mux", }, 38 struct device *dev = &pdev->dev; in mux_mmio_probe() 39 struct device_node *np = dev->of_node; in mux_mmio_probe() [all …]
|
| D | core.c | 1 // SPDX-License-Identifier: GPL-2.0 10 #define pr_fmt(fmt) "mux-core: " fmt 18 #include <linux/mux/consumer.h> 19 #include <linux/mux/driver.h> 25 * The idle-as-is "state" is not an actual state that may be selected, it 32 .name = "mux", 54 ida_simple_remove(&mux_ida, mux_chip->id); in mux_chip_release() 59 .name = "mux-chip", 64 * mux_chip_alloc() - Allocate a mux-chip. 65 * @dev: The parent device implementing the mux interface. [all …]
|
| D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 22 be called mux-adg792a. 32 be called mux-adgs1408. 35 tristate "GPIO-controlled Multiplexer" 38 GPIO-controlled Multiplexer controller. 42 states. The GPIO pins can be connected (by the hardware) to several 46 be called mux-gpio. 49 tristate "MMIO/Regmap register bitfield-controlled Multiplexer" 52 MMIO/Regmap register bitfield-controlled Multiplexer controller. 56 bitfields, there will be 2^N possible multiplexer states. [all …]
|
| /kernel/linux/linux-6.6/drivers/mux/ |
| D | adgs1408.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * ADGS1408/ADGS1409 SPI MUX driver 11 #include <linux/mux/driver.h> 36 static int adgs1408_set(struct mux_control *mux, int state) in adgs1408_set() argument 38 struct spi_device *spi = to_spi_device(mux->chip->dev.parent); in adgs1408_set() 55 struct device *dev = &spi->dev; in adgs1408_probe() 58 struct mux_control *mux; in adgs1408_probe() local 64 chip_id = spi_get_device_id(spi)->driver_data; in adgs1408_probe() 70 mux_chip->ops = &adgs1408_ops; in adgs1408_probe() 76 ret = device_property_read_u32(dev, "idle-state", (u32 *)&idle_state); in adgs1408_probe() [all …]
|
| D | gpio.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * GPIO-controlled multiplexer driver 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", }, 50 struct device *dev = &pdev->dev; in mux_gpio_probe() [all …]
|
| D | mmio.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * MMIO register bitfield-controlled multiplexer driver 12 #include <linux/mux/driver.h> 18 static int mux_mmio_set(struct mux_control *mux, int state) in mux_mmio_set() argument 20 struct regmap_field **fields = mux_chip_priv(mux->chip); in mux_mmio_set() 22 return regmap_field_write(fields[mux_control_get_index(mux)], state); in mux_mmio_set() 30 { .compatible = "mmio-mux", }, 31 { .compatible = "reg-mux", }, 38 struct device *dev = &pdev->dev; in mux_mmio_probe() 39 struct device_node *np = dev->of_node; in mux_mmio_probe() [all …]
|
| D | core.c | 1 // SPDX-License-Identifier: GPL-2.0 10 #define pr_fmt(fmt) "mux-core: " fmt 19 #include <linux/mux/consumer.h> 20 #include <linux/mux/driver.h> 25 * The idle-as-is "state" is not an actual state that may be selected, it 32 * struct mux_state - Represents a mux controller state specific to a given 34 * @mux: Pointer to a mux controller. 35 * @state: State of the mux to be selected. 41 struct mux_control *mux; member 46 .name = "mux", [all …]
|
| D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 22 be called mux-adg792a. 32 be called mux-adgs1408. 35 tristate "GPIO-controlled Multiplexer" 38 GPIO-controlled Multiplexer controller. 42 states. The GPIO pins can be connected (by the hardware) to several 46 be called mux-gpio. 49 tristate "MMIO/Regmap register bitfield-controlled Multiplexer" 52 MMIO/Regmap register bitfield-controlled Multiplexer controller. 56 bitfields, there will be 2^N possible multiplexer states. [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/mux/ |
| 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.txt 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 22 States 0 through 7 correspond to signals S1 through S8 in the datasheet. 23 For ADGS1409 only states 0 to 3 are available. [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.txt 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 | reg-mux.txt | 1 Generic register bitfield-based multiplexer controller bindings 7 - compatible : should be one of 8 "reg-mux" : if parent device of mux controller is not syscon device 9 "mmio-mux" : if parent device of mux controller is syscon device 10 - #mux-control-cells : <1> 11 - mux-reg-masks : an array of register offset and pre-shifted bitfield mask 12 pairs, each describing a single mux control. 13 * Standard mux-controller bindings as decribed in mux-controller.txt 16 - idle-states : if present, the state the muxes will have when idle. The 21 pair in the mux-reg-masks array. [all …]
|
| /kernel/linux/linux-6.6/include/net/ |
| D | bond_3ad.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 3 * Copyright(c) 1999 - 2004 Intel Corporation. All rights reserved. 31 /* rx machine states(43.4.11 in the 802.3ad standard) */ 42 /* periodic machine states(43.4.12 in the 802.3ad standard) */ 51 /* mux machine states(43.4.13 in the 802.3ad standard) */ 54 AD_MUX_DETACHED, /* mux machine */ 55 AD_MUX_WAITING, /* mux machine */ 56 AD_MUX_ATTACHED, /* mux machine */ 57 AD_MUX_COLLECTING_DISTRIBUTING /* mux machine */ 60 /* tx machine states(43.4.15 in the 802.3ad standard) */ [all …]
|
| /kernel/linux/linux-5.10/include/net/ |
| D | bond_3ad.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 3 * Copyright(c) 1999 - 2004 Intel Corporation. All rights reserved. 31 /* rx machine states(43.4.11 in the 802.3ad standard) */ 42 /* periodic machine states(43.4.12 in the 802.3ad standard) */ 51 /* mux machine states(43.4.13 in the 802.3ad standard) */ 54 AD_MUX_DETACHED, /* mux machine */ 55 AD_MUX_WAITING, /* mux machine */ 56 AD_MUX_ATTACHED, /* mux machine */ 57 AD_MUX_COLLECTING_DISTRIBUTING /* mux machine */ 60 /* tx machine states(43.4.15 in the 802.3ad standard) */ [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/phy/ |
| D | ti,tcan104x-can.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/phy/ti,tcan104x-can.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Aswath Govindraju <a-govindraju@ti.com> 14 pattern: "^can-phy" 18 - nxp,tjr1443 19 - ti,tcan1042 20 - ti,tcan1043 22 '#phy-cells': [all …]
|