/linux/Documentation/devicetree/bindings/mux/ |
H A 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-schema [all...] |
H A 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-schema [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-controlle [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-schema [all...] |
/linux/drivers/mux/ |
H A 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 - Represent 41 struct mux_control *mux; global() member 125 struct mux_control *mux = &mux_chip->mux[i]; mux_chip_alloc() local 140 mux_control_set(struct mux_control * mux,int state) mux_control_set() argument 168 struct mux_control *mux = &mux_chip->mux[i]; mux_chip_register() local 302 mux_control_states(struct mux_control * mux) mux_control_states() argument 311 __mux_control_select(struct mux_control * mux,int state) __mux_control_select() argument 332 mux_control_delay(struct mux_control * mux,unsigned int delay_us) mux_control_delay() argument 365 mux_control_select_delay(struct mux_control * mux,unsigned int state,unsigned int delay_us) mux_control_select_delay() argument 425 mux_control_try_select_delay(struct mux_control * mux,unsigned int state,unsigned int delay_us) mux_control_try_select_delay() argument 477 mux_control_deselect(struct mux_control * mux) mux_control_deselect() argument 630 mux_control_put(struct mux_control * mux) mux_control_put() argument 638 struct mux_control *mux = *(struct mux_control **)res; devm_mux_control_release() local 654 struct mux_control **ptr, *mux; devm_mux_control_get() local [all...] |
/linux/drivers/clk/ti/ |
H A D | mux.c | 1 // SPDX-License-Identifier: GPL-2.0-only 7 * Tero Kristo <t-kristo@ti.com> 10 #include <linux/clk-provider.h> 23 struct clk_omap_mux *mux = to_clk_omap_mux(hw); in ti_clk_mux_get_parent() local 28 * FIXME need a mux-specific flag to determine if val is bitwise or in ti_clk_mux_get_parent() 34 val = ti_clk_ll_ops->clk_read in ti_clk_mux_get_parent() 60 struct clk_omap_mux *mux = to_clk_omap_mux(hw); ti_clk_mux_set_parent() local 94 struct clk_omap_mux *mux = to_clk_omap_mux(hw); clk_mux_save_context() local 108 struct clk_omap_mux *mux = to_clk_omap_mux(hw); clk_mux_restore_context() local 127 struct clk_omap_mux *mux; _register_mux() local 224 struct clk_omap_mux *mux; ti_clk_build_component_mux() local 253 struct clk_omap_mux *mux; of_ti_composite_mux_clk_setup() local [all...] |
/linux/drivers/iio/multiplexer/ |
H A D | iio-mux.c | 1 // SPDX-License-Identifier: GPL-2.0 17 #include <linux/mux/consumer.h> 30 struct mux { struct 40 static int iio_mux_select(struct mux *mux, int idx) in iio_mux_select() argument 42 struct mux_child *child = &mux->child[idx]; in iio_mux_select() 43 struct iio_chan_spec const *chan = &mux in iio_mux_select() 32 controlmux global() argument 36 childmux global() argument 83 iio_mux_deselect(struct mux * mux) iio_mux_deselect() argument 92 struct mux *mux = iio_priv(indio_dev); mux_read_raw() local 123 struct mux *mux = iio_priv(indio_dev); mux_read_avail() local 150 struct mux *mux = iio_priv(indio_dev); mux_write_raw() local 181 struct mux *mux = iio_priv(indio_dev); mux_read_ext_info() local 203 struct mux *mux = iio_priv(indio_dev); mux_write_ext_info() local 241 mux_configure_chan_ext_info(struct device * dev,struct mux * mux,int idx,int num_ext_info) mux_configure_chan_ext_info() argument 294 mux_configure_channel(struct device * dev,struct mux * mux,u32 state,const char * label,int idx) mux_configure_channel() argument 340 struct mux *mux; mux_probe() local [all...] |
/linux/drivers/clk/mediatek/ |
H A D | clk-mux.c | 1 // SPDX-License-Identifier: GPL-2.0 8 #include <linux/clk-provider.h> 18 #include "clk-mux.h" 35 struct mtk_clk_mux *mux = to_mtk_clk_mux(hw); in mtk_clk_mux_enable_setclr() local 38 if (mux->lock) in mtk_clk_mux_enable_setclr() 39 spin_lock_irqsave(mux in mtk_clk_mux_enable_setclr() 67 struct mtk_clk_mux *mux = to_mtk_clk_mux(hw); mtk_clk_mux_disable_setclr() local 75 struct mtk_clk_mux *mux = to_mtk_clk_mux(hw); mtk_clk_mux_is_enabled() local 85 struct mtk_clk_mux *mux = to_mtk_clk_mux(hw); mtk_clk_mux_get_parent() local 108 struct mtk_clk_mux *mux = to_mtk_clk_mux(hw); mtk_clk_mux_set_parent_setclr_lock() local 149 struct mtk_clk_mux *mux = to_mtk_clk_mux(hw); mtk_clk_mux_determine_rate() local 172 mtk_clk_register_mux(struct device * dev,const struct mtk_mux * mux,struct regmap * regmap,spinlock_t * lock) mtk_clk_register_mux() argument 206 struct mtk_clk_mux *mux; mtk_clk_unregister_mux() local 233 const struct mtk_mux *mux = &muxes[i]; mtk_clk_register_muxes() local 256 const struct mtk_mux *mux = &muxes[i]; mtk_clk_register_muxes() local 278 const struct mtk_mux *mux = &muxes[i - 1]; mtk_clk_unregister_muxes() local [all...] |
H A D | clk-cpumux.c | 1 // SPDX-License-Identifier: GPL-2.0-only 4 * Author: Pi-Cheng Chen <pi-cheng.chen@linaro.org> 7 #include <linux/clk-provider.h> 15 #include "clk-mtk.h" 16 #include "clk-cpumux.h" 33 struct mtk_clk_cpumux *mux in clk_cpumux_get_parent() local 46 struct mtk_clk_cpumux *mux = to_mtk_clk_cpumux(hw); clk_cpumux_set_parent() local 62 mtk_clk_register_cpumux(struct device * dev,const struct mtk_composite * mux,struct regmap * regmap) mtk_clk_register_cpumux() argument 121 const struct mtk_composite *mux = &clks[i]; mtk_clk_register_cpumuxes() local 143 const struct mtk_composite *mux = &clks[i]; mtk_clk_register_cpumuxes() local 162 const struct mtk_composite *mux = &clks[i - 1]; mtk_clk_unregister_cpumuxes() local [all...] |
/linux/drivers/i2c/muxes/ |
H A D | i2c-mux-reg.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 10 #include <linux/i2c-mux.h> 15 #include <linux/platform_data/i2c-mux-re 23 i2c_mux_reg_set(const struct regmux * mux,unsigned int chan_id) i2c_mux_reg_set() argument 63 struct regmux *mux = i2c_mux_priv(muxc); i2c_mux_reg_select() local 70 struct regmux *mux = i2c_mux_priv(muxc); i2c_mux_reg_deselect() local 79 i2c_mux_reg_probe_dt(struct regmux * mux,struct platform_device * pdev) i2c_mux_reg_probe_dt() argument 149 i2c_mux_reg_probe_dt(struct regmux * mux,struct platform_device * pdev) i2c_mux_reg_probe_dt() argument 159 struct regmux *mux; i2c_mux_reg_probe() local [all...] |
H A D | i2c-mux-gpio.c | 1 // SPDX-License-Identifier: GPL-2.0-only 13 #include <linux/i2c-mux.h> 16 #include <linux/platform_data/i2c-mux-gpio.h> 26 static void i2c_mux_gpio_set(const struct gpiomux *mux, unsigne argument 37 struct gpiomux *mux = i2c_mux_priv(muxc); i2c_mux_gpio_select() local 49 struct gpiomux *mux = i2c_mux_priv(muxc); i2c_mux_gpio_deselect() local 56 i2c_mux_gpio_probe_fw(struct gpiomux * mux,struct platform_device * pdev) i2c_mux_gpio_probe_fw() argument 131 struct gpiomux *mux; i2c_mux_gpio_probe() local [all...] |
H A D | i2c-mux-mlxcpld.c | 1 // SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 3 * Mellanox i2c mux driver 5 * Copyright (C) 2016-2020 Mellanox Technologies 10 #include <linux/i2c-mux.h> 18 /* mlxcpld_mux - mu 61 mlxcpld_mux_reg_write(struct i2c_adapter * adap,struct mlxcpld_mux * mux,u32 val) mlxcpld_mux_reg_write() argument 90 struct mlxcpld_mux *mux = i2c_mux_priv(muxc); mlxcpld_mux_select_chan() local 108 struct mlxcpld_mux *mux = i2c_mux_priv(muxc); mlxcpld_mux_deselect() local [all...] |
/linux/drivers/gpu/drm/amd/amdgpu/ |
H A D | amdgpu_ring_mux.c | 43 static inline struct amdgpu_mux_entry *amdgpu_ring_mux_sw_entry(struct amdgpu_ring_mux *mux, in amdgpu_ring_mux_sw_entry() argument 46 return ring->entry_index < mux->ring_entry_size ? in amdgpu_ring_mux_sw_entry() 47 &mux->ring_entry[ring->entry_index] : NULL; in amdgpu_ring_mux_sw_entry() 51 static void amdgpu_ring_mux_copy_pkt_from_sw_ring(struct amdgpu_ring_mux *mux, in amdgpu_ring_mux_copy_pkt_from_sw_ring() argument 56 struct amdgpu_ring *real_ring = mux->real_rin in amdgpu_ring_mux_copy_pkt_from_sw_ring() 76 amdgpu_mux_resubmit_chunks(struct amdgpu_ring_mux * mux) amdgpu_mux_resubmit_chunks() argument 131 amdgpu_ring_mux_schedule_resubmit(struct amdgpu_ring_mux * mux) amdgpu_ring_mux_schedule_resubmit() argument 138 struct amdgpu_ring_mux *mux = timer_container_of(mux, t, amdgpu_mux_resubmit_fallback() local 150 amdgpu_ring_mux_init(struct amdgpu_ring_mux * mux,struct amdgpu_ring * ring,unsigned int entry_size) amdgpu_ring_mux_init() argument 175 amdgpu_ring_mux_fini(struct amdgpu_ring_mux * mux) amdgpu_ring_mux_fini() argument 195 amdgpu_ring_mux_add_sw_ring(struct amdgpu_ring_mux * mux,struct amdgpu_ring * ring) amdgpu_ring_mux_add_sw_ring() argument 213 amdgpu_ring_mux_set_wptr(struct amdgpu_ring_mux * mux,struct amdgpu_ring * ring,u64 wptr) amdgpu_ring_mux_set_wptr() argument 253 amdgpu_ring_mux_get_wptr(struct amdgpu_ring_mux * mux,struct amdgpu_ring * ring) amdgpu_ring_mux_get_wptr() argument 282 amdgpu_ring_mux_get_rptr(struct amdgpu_ring_mux * mux,struct amdgpu_ring * ring) amdgpu_ring_mux_get_rptr() argument 319 struct amdgpu_ring_mux *mux = &adev->gfx.muxer; amdgpu_sw_ring_get_rptr_gfx() local 328 struct amdgpu_ring_mux *mux = &adev->gfx.muxer; amdgpu_sw_ring_get_wptr_gfx() local 337 struct amdgpu_ring_mux *mux = &adev->gfx.muxer; amdgpu_sw_ring_set_wptr_gfx() local 362 amdgpu_mcbp_scan(struct amdgpu_ring_mux * mux) amdgpu_mcbp_scan() argument 382 amdgpu_mcbp_trigger_preempt(struct amdgpu_ring_mux * mux) amdgpu_mcbp_trigger_preempt() argument 396 struct amdgpu_ring_mux *mux = &adev->gfx.muxer; amdgpu_sw_ring_ib_begin() local 411 struct amdgpu_ring_mux *mux = &adev->gfx.muxer; amdgpu_sw_ring_ib_end() local 422 struct amdgpu_ring_mux *mux = &adev->gfx.muxer; amdgpu_sw_ring_ib_mark_offset() local 433 amdgpu_ring_mux_start_ib(struct amdgpu_ring_mux * mux,struct amdgpu_ring * ring) amdgpu_ring_mux_start_ib() argument 462 scan_and_remove_signaled_chunk(struct amdgpu_ring_mux * mux,struct amdgpu_ring * ring) scan_and_remove_signaled_chunk() argument 484 amdgpu_ring_mux_ib_mark_offset(struct amdgpu_ring_mux * mux,struct amdgpu_ring * ring,u64 offset,enum amdgpu_ring_mux_offset_type type) amdgpu_ring_mux_ib_mark_offset() argument 519 amdgpu_ring_mux_end_ib(struct amdgpu_ring_mux * mux,struct amdgpu_ring * ring) amdgpu_ring_mux_end_ib() argument 542 amdgpu_mcbp_handle_trailing_fence_irq(struct amdgpu_ring_mux * mux) amdgpu_mcbp_handle_trailing_fence_irq() argument [all...] |
/linux/sound/soc/codecs/ |
H A D | tas5086.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 8 * - implement DAPM and input muxing 9 * - implement modulation limit 10 * - implement non-default PWM start 13 * because the registers are of unequal size, and multi-byt [all...] |
H A D | rt5665.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * rt5665.c -- RT5665/RT5658 ALSA SoC audio codec driver 26 #include <sound/soc-dapm.h> 884 static const DECLARE_TLV_DB_SCALE(hp_vol_tlv, -2250, 150, 0); 885 static const DECLARE_TLV_DB_SCALE(mono_vol_tlv, -1400, 150, 0); 886 static const DECLARE_TLV_DB_SCALE(out_vol_tlv, -465 [all...] |
H A D | rt5677.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * rt5677.c -- RT5677 ALSA SoC audio codec driver 29 #include <sound/soc-dapm.h> 35 #include "rt5677-spi.h" 552 * rt5677_dsp_mode_i2c_write_addr - Write value to address on DSP mode. 563 struct snd_soc_component *component = rt5677->componen in rt5677_dsp_mode_i2c_write_addr() [all...] |
/linux/include/linux/mux/ |
H A 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 controlle 104 mux_control_get_index(struct mux_control * mux) mux_control_get_index() argument [all...] |
/linux/drivers/clk/ |
H A D | clk-mux.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright (C) 2011-2012 Mike Turquette, Linaro Ltd <mturquette@linaro.org> 10 #include <linux/clk-provider.h> 21 * prepare - clk_prepare only ensures that parents are prepared 22 * enable - clk_enable only ensures that parents are enabled 23 * rate - rate is only affected by parent switching. No clk_set_rate support 24 * parent - parent is adjustable through clk_set_parent 27 static inline u32 clk_mux_readl(struct clk_mux *mux) in clk_mux_readl() argument 35 clk_mux_writel(struct clk_mux * mux,u32 val) clk_mux_writel() argument 90 struct clk_mux *mux = to_clk_mux(hw); clk_mux_get_parent() local 101 struct clk_mux *mux = to_clk_mux(hw); clk_mux_set_parent() local 132 struct clk_mux *mux = to_clk_mux(hw); clk_mux_determine_rate() local 157 struct clk_mux *mux; __clk_hw_register_mux() local 262 struct clk_mux *mux; clk_unregister_mux() local 278 struct clk_mux *mux; clk_hw_unregister_mux() local [all...] |
/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-cell [all...] |
/linux/Documentation/devicetree/bindings/net/ |
H A D | mdio-mux-multiplexer.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/net/mdio-mux-multiplexer.yaml# 5 $schema: http://devicetree.org/meta-schema [all...] |
/linux/Documentation/i2c/ |
H A D | i2c-topology.rst | 6 than a straight-forward I2C bus with one adapter and one or more devices. 10 1. A mux may be needed on the bus to prevent address collisions. 25 I2C transfers, and all adapters with a parent are part of an "i2c-mux" 28 Depending of the particular mux driver, something happens when there is 29 an I2C transfer on one of its child adapters. The mux driver can 30 obviously operate a mux, but it can also do arbitration with an external 31 bus master or open a gate. The mux driver has two operations for this, 40 mux-locke [all...] |
/linux/include/dt-bindings/clock/ |
H A D | tegra186-clock.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 384 /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_I2S2 */ 386 /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_I2S3 */ 388 /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_SPDF_IN */ 392 /** @clkdesc{spi_clks, out, mux, CLK_RST_CONTROLLER_CLK_SOURCE_SPI3} */ 394 /** @clkdesc{i2c_clks, out, mux, CLK_RST_CONTROLLER_CLK_SOURCE_I2C1} */ 396 /** @clkdesc{i2c_clks, out, mux, CLK_RST_CONTROLLER_CLK_SOURCE_I2C5} */ 398 /** @brief output of mux controlle [all...] |
/linux/drivers/clk/sophgo/ |
H A D | clk-cv18xx-ip.c | 1 // SPDX-License-Identifier: GPL-2.0 6 #include <linux/clk-provider.h> 11 #include "clk-cv18xx-ip.h" 25 return cv1800_clk_setbit(&gate->common, &gate->gate); in gate_enable() 32 cv1800_clk_clearbit(&gate->common, &gate->gat in gate_disable() 396 struct cv1800_clk_mux *mux = hw_to_cv1800_clk_mux(hw); mux_enable() local 403 struct cv1800_clk_mux *mux = hw_to_cv1800_clk_mux(hw); mux_disable() local 410 struct cv1800_clk_mux *mux = hw_to_cv1800_clk_mux(hw); mux_is_enabled() local 418 struct cv1800_clk_mux *mux = data; mux_round_rate() local 427 struct cv1800_clk_mux *mux = hw_to_cv1800_clk_mux(hw); mux_determine_rate() local 436 struct cv1800_clk_mux *mux = hw_to_cv1800_clk_mux(hw); mux_recalc_rate() local 450 struct cv1800_clk_mux *mux = hw_to_cv1800_clk_mux(hw); mux_set_rate() local 461 struct cv1800_clk_mux *mux = hw_to_cv1800_clk_mux(hw); mux_get_parent() local 467 _mux_set_parent(struct cv1800_clk_mux * mux,u8 index) _mux_set_parent() argument 480 struct cv1800_clk_mux *mux = hw_to_cv1800_clk_mux(hw); mux_set_parent() local 508 struct cv1800_clk_mux *mux = hw_to_cv1800_clk_mux(hw); hw_to_cv1800_clk_bypass_mux() local 517 struct cv1800_clk_bypass_mux *mux = data; bypass_mux_round_rate() local 536 struct cv1800_clk_bypass_mux *mux = hw_to_cv1800_clk_bypass_mux(hw); bypass_mux_determine_rate() local 545 struct cv1800_clk_bypass_mux *mux = hw_to_cv1800_clk_bypass_mux(hw); bypass_mux_recalc_rate() local 556 struct cv1800_clk_bypass_mux *mux = hw_to_cv1800_clk_bypass_mux(hw); bypass_mux_set_rate() local 566 struct cv1800_clk_bypass_mux *mux = hw_to_cv1800_clk_bypass_mux(hw); bypass_mux_get_parent() local 576 struct cv1800_clk_bypass_mux *mux = hw_to_cv1800_clk_bypass_mux(hw); bypass_mux_set_parent() local 719 struct cv1800_clk_regfield *mux; mmux_get_parent() local 740 struct cv1800_clk_regfield *mux; mmux_set_parent() local [all...] |
/linux/net/kcm/ |
H A D | kcmsock.c | 1 // SPDX-License-Identifier: GPL-2.0-only 47 return (struct kcm_tx_msg *)skb->cb; in kcm_tx_msg() 52 csk->sk_err = EPIPE; in report_csk_error() 59 struct sock *csk = psock->sk; in kcm_abort_tx_psock() 60 struct kcm_mux *mux = psock->mux; in kcm_abort_tx_psock() local 64 spin_lock_bh(&mux->lock); in kcm_abort_tx_psock() 66 if (psock->tx_stopped) { in kcm_abort_tx_psock() 67 spin_unlock_bh(&mux->lock); in kcm_abort_tx_psock() 71 psock->tx_stopped = 1; in kcm_abort_tx_psock() 72 KCM_STATS_INCR(psock->stats.tx_aborts); in kcm_abort_tx_psock() [all …]
|
/linux/drivers/clk/qcom/ |
H A D | clk-krait.c | 1 // SPDX-License-Identifier: GPL-2.0 10 #include <linux/clk-provider.h> 13 #include <asm/krait-l2-accessors.h> 15 #include "clk-krait.h" 23 static void __krait_mux_set_sel(struct krait_mux_clk *mux, int sel) in __krait_mux_set_sel() argument 30 regval = krait_get_l2_indirect_reg(mux->offse in __krait_mux_set_sel() 65 struct krait_mux_clk *mux = to_krait_mux_clk(hw); krait_mux_set_parent() local 81 struct krait_mux_clk *mux = to_krait_mux_clk(hw); krait_mux_get_parent() local [all...] |