Home
last modified time | relevance | path

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

12345678910

/kernel/linux/linux-6.6/Documentation/devicetree/bindings/mux/
Dmux-consumer.yaml1 # 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 …]
Dadi,adgs1408.txt1 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 …]
Dadi,adg792a.txt4 - 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 …]
Dmux-controller.yaml1 # 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 …]
Dreg-mux.yaml1 # 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/
Di2c-mux-pinctrl.c1 // 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/
Di2c-mux-pinctrl.c1 // 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/
Ddriver.h1 /* 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/
Ddriver.h1 /* 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/
Dadgs1408.c1 // 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 …]
Dgpio.c1 // 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 …]
Dmmio.c1 // 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 …]
Dcore.c1 // 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 …]
DKconfig1 # 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/
Dadgs1408.c1 // 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 …]
Dgpio.c1 // 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 …]
Dmmio.c1 // 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 …]
Dcore.c1 // 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 …]
DKconfig1 # 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/
Dadi,adgs1408.txt1 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 …]
Dadi,adg792a.txt4 - 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 …]
Dreg-mux.txt1 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/
Dbond_3ad.h1 /* 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/
Dbond_3ad.h1 /* 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/
Dti,tcan104x-can.yaml1 # 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 …]

12345678910