| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/i2c/ |
| D | nxp,pca9541.txt | 1 * NXP PCA9541 I2C bus master selector 5 - compatible: Must be "nxp,pca9541" 7 - reg: The I2C address of the device. 11 - I2C arbitration bus node. See i2c-arb.txt in this directory. 16 i2c-arbitrator@74 { 20 i2c-arb { 21 #address-cells = <1>; 22 #size-cells = <0>;
|
| D | i2c-gate.txt | 1 An i2c gate is useful to e.g. reduce the digital noise for RF tuners connected 2 to the i2c bus. Gates are similar to arbitrators in that you need to perform 3 some kind of operation to access the i2c bus past the arbitrator/gate, but 7 Common i2c gate properties. 9 - i2c-gate child node 11 Required properties for the i2c-gate child node: 12 - #address-cells = <1>; 13 - #size-cells = <0>; 15 Optional properties for i2c-gate child node: 16 - Child nodes conforming to i2c bus binding [all …]
|
| D | i2c-arb-gpio-challenge.txt | 1 GPIO-based I2C Arbitration Using a Challenge & Response Mechanism 4 the master of an I2C bus in a multimaster situation. 7 the standard I2C multi-master rules. Using GPIOs is generally useful in 12 * It is nonstandard (not using standard I2C multimaster) 14 problems (hard to tell if i2c issues were caused by one master, another, or 21 others can see. These are all active low with pull-ups enabled. We'll 24 - OUR_CLAIM: output from us signaling to other hosts that we want the bus 25 - THEIR_CLAIMS: output from others signaling that they want the bus 43 - compatible: i2c-arb-gpio-challenge 44 - our-claim-gpio: The GPIO that we use to claim the bus. [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/i2c/ |
| D | i2c-gate.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/i2c/i2c-gate.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Common i2c gate properties 10 - Peter Rosin <peda@axentia.se> 13 An i2c gate is useful to e.g. reduce the digital noise for RF tuners connected 14 to the i2c bus. Gates are similar to arbitrators in that you need to perform 15 some kind of operation to access the i2c bus past the arbitrator/gate, but 20 - $ref: /schemas/i2c/i2c-controller.yaml [all …]
|
| D | nxp,pca9541.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 4 $id: http://devicetree.org/schemas/i2c/nxp,pca9541.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: NXP PCA9541 I2C bus master selector 10 - Peter Rosin <peda@axentia.se> 19 i2c-arb: 21 $ref: /schemas/i2c/i2c-controller.yaml 24 I2C arbitration bus node. 27 - compatible [all …]
|
| D | i2c-mt65xx.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/i2c/i2c-mt65xx.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: MediaTek I2C controller 10 This driver interfaces with the native I2C controller present in 14 - $ref: /schemas/i2c/i2c-controller.yaml# 17 - Qii Wang <qii.wang@mediatek.com> 22 - const: mediatek,mt2712-i2c 23 - const: mediatek,mt6577-i2c [all …]
|
| D | i2c-arb-gpio-challenge.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 4 $id: http://devicetree.org/schemas/i2c/i2c-arb-gpio-challenge.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: GPIO-based I2C Arbitration Using a Challenge & Response Mechanism 10 - Doug Anderson <dianders@chromium.org> 11 - Peter Rosin <peda@axentia.se> 15 the master of an I2C bus in a multimaster situation. 18 standard I2C multi-master rules. Using GPIOs is generally useful in the case 23 * It is nonstandard (not using standard I2C multimaster) [all …]
|
| /kernel/linux/linux-5.10/drivers/i2c/ |
| D | i2c-mux.c | 2 * Multiplexed I2C bus driver. 4 * Copyright (c) 2008-2009 Rodolfo Giometti <giometti@linux.it> 5 * Copyright (c) 2008-2009 Eurotech S.p.A. <info@eurotech.it> 6 * Copyright (c) 2009-2010 NSN GmbH & Co KG <michael.lawnick.ext@nsn.com> 8 * Simplifies access to complex multiplexed I2C bus topologies, by presenting 9 * each multiplexed bus segment as an additional I2C adapter. 10 * Supports multi-level mux'ing (mux behind a mux). 13 * i2c-virt.c from Kumar Gala <galak@kernel.crashing.org> 14 * i2c-virtual.c from Ken Harrenstien, Copyright (c) 2004 Google, Inc. 15 * i2c-virtual.c from Brian Kuschak <bkuschak@yahoo.com> [all …]
|
| /kernel/linux/linux-6.6/drivers/i2c/ |
| D | i2c-mux.c | 2 * Multiplexed I2C bus driver. 4 * Copyright (c) 2008-2009 Rodolfo Giometti <giometti@linux.it> 5 * Copyright (c) 2008-2009 Eurotech S.p.A. <info@eurotech.it> 6 * Copyright (c) 2009-2010 NSN GmbH & Co KG <michael.lawnick.ext@nsn.com> 8 * Simplifies access to complex multiplexed I2C bus topologies, by presenting 9 * each multiplexed bus segment as an additional I2C adapter. 10 * Supports multi-level mux'ing (mux behind a mux). 13 * i2c-virt.c from Kumar Gala <galak@kernel.crashing.org> 14 * i2c-virtual.c from Ken Harrenstien, Copyright (c) 2004 Google, Inc. 15 * i2c-virtual.c from Brian Kuschak <bkuschak@yahoo.com> [all …]
|
| /kernel/linux/linux-5.10/include/linux/ |
| D | i2c-mux.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 4 * i2c-mux.h - functions for the i2c-bus mux support 6 * Copyright (c) 2008-2009 Rodolfo Giometti <giometti@linux.it> 7 * Copyright (c) 2008-2009 Eurotech S.p.A. <info@eurotech.it> 22 unsigned int arbitrator:1; member 48 return muxc->priv; in i2c_mux_priv() 54 * Called to create an i2c bus on a multiplexed bus segment. 56 * callback functions to perform hardware-specific mux control.
|
| /kernel/linux/linux-6.6/include/linux/ |
| D | i2c-mux.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 4 * i2c-mux.h - functions for the i2c-bus mux support 6 * Copyright (c) 2008-2009 Rodolfo Giometti <giometti@linux.it> 7 * Copyright (c) 2008-2009 Eurotech S.p.A. <info@eurotech.it> 22 unsigned int arbitrator:1; member 48 return muxc->priv; in i2c_mux_priv() 54 * Called to create an i2c bus on a multiplexed bus segment. 56 * callback functions to perform hardware-specific mux control.
|
| /kernel/linux/linux-5.10/drivers/i2c/muxes/ |
| D | i2c-arb-gpio-challenge.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * GPIO-based I2C Arbitration Using a Challenge & Response Mechanism 11 #include <linux/i2c.h> 12 #include <linux/i2c-mux.h> 19 * struct i2c_arbitrator_data - Driver data for I2C arbitrator 38 * i2c_arbitrator_select - claim the I2C bus 40 * Use the GPIO-based signalling protocol; return -EBUSY if we fail. 48 stop_time = jiffies + usecs_to_jiffies(arb->wait_free_us) + 1; in i2c_arbitrator_select() 51 gpiod_set_value(arb->our_gpio, 1); in i2c_arbitrator_select() 52 udelay(arb->slew_delay_us); in i2c_arbitrator_select() [all …]
|
| /kernel/linux/linux-6.6/drivers/i2c/muxes/ |
| D | i2c-arb-gpio-challenge.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * GPIO-based I2C Arbitration Using a Challenge & Response Mechanism 11 #include <linux/i2c.h> 12 #include <linux/i2c-mux.h> 19 * struct i2c_arbitrator_data - Driver data for I2C arbitrator 38 * i2c_arbitrator_select - claim the I2C bus 40 * Use the GPIO-based signalling protocol; return -EBUSY if we fail. 48 stop_time = jiffies + usecs_to_jiffies(arb->wait_free_us) + 1; in i2c_arbitrator_select() 51 gpiod_set_value(arb->our_gpio, 1); in i2c_arbitrator_select() 52 udelay(arb->slew_delay_us); in i2c_arbitrator_select() [all …]
|
| /kernel/linux/linux-6.6/drivers/i2c/busses/ |
| D | i2c-designware-amdpsp.c | 1 // SPDX-License-Identifier: GPL-2.0 3 #include <linux/i2c.h> 5 #include <linux/psp-platform-access.h> 9 #include "i2c-designware-core.h" 43 /* Status field in command-response buffer is updated by PSP */ in check_i2c_req_sts() 44 status = READ_ONCE(req->hdr.status); in check_i2c_req_sts() 50 return -EBUSY; in check_i2c_req_sts() 53 return -EIO; in check_i2c_req_sts() 58 * Errors in x86-PSP i2c-arbitration protocol may occur at two levels: 59 * 1. mailbox communication - PSP is not operational or some IO errors with [all …]
|
| D | i2c-mt65xx.c | 1 // SPDX-License-Identifier: GPL-2.0-only 11 #include <linux/dma-mapping.h> 14 #include <linux/i2c.h> 85 #define I2C_DRV_NAME "i2c-mt65xx" 88 * enum i2c_mt65xx_clks - Clocks enumeration for MT65XX I2C 90 * @I2C_MT65XX_CLK_MAIN: main clock for i2c bus 91 * @I2C_MT65XX_CLK_DMA: DMA clock for i2c via DMA 92 * @I2C_MT65XX_CLK_PMIC: PMIC clock for i2c from PMIC 93 * @I2C_MT65XX_CLK_ARB: Arbitrator clock for i2c 287 struct i2c_adapter adap; /* i2c host adapter */ [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/powerpc/fsl/ |
| D | mpc5200.txt | 2 ---------------------------- 4 (c) 2006-2009 Secret Lab Technologies Ltd 8 ------------------ 9 For mpc5200 on-chip devices, the format for each compatible value is 10 <chip>-<device>[-<mode>]. The OS should be able to match a device driver 21 "fsl,mpc5200-<device>". 29 compatible = "fsl,mpc5200b-<device>","fsl,mpc5200-<device>"; 34 ie. ethernet on mpc5200: compatible = "fsl,mpc5200-fec"; 35 ethernet on mpc5200b: compatible = "fsl,mpc5200b-fec", "fsl,mpc5200-fec"; 39 "fsl,mpc5200-psc-i2s", not "fsl,mpc5200-i2s". This convention is chosen to [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/powerpc/fsl/ |
| D | mpc5200.txt | 2 ---------------------------- 4 (c) 2006-2009 Secret Lab Technologies Ltd 8 ------------------ 9 For mpc5200 on-chip devices, the format for each compatible value is 10 <chip>-<device>[-<mode>]. The OS should be able to match a device driver 21 "fsl,mpc5200-<device>". 29 compatible = "fsl,mpc5200b-<device>","fsl,mpc5200-<device>"; 34 ie. ethernet on mpc5200: compatible = "fsl,mpc5200-fec"; 35 ethernet on mpc5200b: compatible = "fsl,mpc5200b-fec", "fsl,mpc5200-fec"; 39 "fsl,mpc5200-psc-i2s", not "fsl,mpc5200-i2s". This convention is chosen to [all …]
|
| /kernel/linux/linux-6.6/arch/arm/boot/dts/samsung/ |
| D | exynos5250-snow-common.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 8 #include <dt-bindings/gpio/gpio.h> 9 #include <dt-bindings/clock/maxim,max77686.h> 10 #include <dt-bindings/interrupt-controller/irq.h> 11 #include <dt-bindings/input/input.h> 12 #include <dt-bindings/sound/samsung-i2s.h> 30 stdout-path = "serial3:115200n8"; 33 gpio-keys { 34 compatible = "gpio-keys"; 35 pinctrl-names = "default"; [all …]
|
| /kernel/linux/linux-5.10/arch/arm/boot/dts/ |
| D | exynos5250-snow-common.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 8 #include <dt-bindings/gpio/gpio.h> 9 #include <dt-bindings/clock/maxim,max77686.h> 10 #include <dt-bindings/interrupt-controller/irq.h> 11 #include <dt-bindings/input/input.h> 12 #include <dt-bindings/sound/samsung-i2s.h> 27 stdout-path = "serial3:115200n8"; 30 gpio-keys { 31 compatible = "gpio-keys"; 32 pinctrl-names = "default"; [all …]
|
| /kernel/linux/linux-6.6/Documentation/i2c/ |
| D | i2c-topology.rst | 2 I2C muxes and complex topologies 5 There are a couple of reasons for building more complex I2C topologies 6 than a straight-forward I2C bus with one adapter and one or more devices. 16 from the I2C bus, at least most of the time, and sits behind a gate 19 Several types of hardware components such as I2C muxes, I2C gates and I2C 22 These components are represented as I2C adapter trees by Linux, where 25 I2C transfers, and all adapters with a parent are part of an "i2c-mux" 26 object (quoted, since it can also be an arbitrator or a gate). 29 an I2C transfer on one of its child adapters. The mux driver can 39 There are two variants of locking available to I2C muxes, they can be [all …]
|
| /kernel/linux/linux-5.10/Documentation/i2c/ |
| D | i2c-topology.rst | 2 I2C muxes and complex topologies 5 There are a couple of reasons for building more complex I2C topologies 6 than a straight-forward I2C bus with one adapter and one or more devices. 14 from the I2C bus, at least most of the time, and sits behind a gate 20 These constructs are represented as I2C adapter trees by Linux, where 23 I2C transfers, and all adapters with a parent are part of an "i2c-mux" 24 object (quoted, since it can also be an arbitrator or a gate). 27 an I2C transfer on one of its child adapters. The mux driver can 37 There are two variants of locking available to I2C muxes, they can be 38 mux-locked or parent-locked muxes. As is evident from below, it can be [all …]
|
| /kernel/linux/linux-5.10/drivers/i2c/busses/ |
| D | i2c-mt65xx.c | 1 // SPDX-License-Identifier: GPL-2.0-only 11 #include <linux/dma-mapping.h> 14 #include <linux/i2c.h> 83 #define I2C_DRV_NAME "i2c-mt65xx" 233 struct i2c_adapter adap; /* i2c host adapter */ 237 /* set in i2c probe */ 238 void __iomem *base; /* i2c base addr */ 240 struct clk *clk_main; /* main clock for i2c bus */ 241 struct clk *clk_dma; /* DMA clock for i2c via DMA */ 242 struct clk *clk_pmic; /* PMIC clock for i2c from PMIC */ [all …]
|
| /kernel/linux/linux-5.10/drivers/infiniband/hw/hfi1/ |
| D | chip.c | 2 * Copyright(c) 2015 - 2020 Intel Corporation. 24 * - Redistributions of source code must retain the above copyright 26 * - Redistributions in binary form must reproduce the above copyright 30 * - Neither the name of Intel Corporation nor the names of its 73 MODULE_PARM_DESC(num_vls, "Set number of Virtual Lanes to use (1-8)"); 119 #define SEC_SC_HALTED 0x4 /* per-context only */ 120 #define SEC_SPC_FREEZE 0x8 /* per-HFI only */ 128 * 0 - User Fecn Handling 129 * 1 - Vnic 130 * 2 - AIP [all …]
|
| /kernel/linux/linux-6.6/drivers/infiniband/hw/hfi1/ |
| D | chip.c | 1 // SPDX-License-Identifier: GPL-2.0 or BSD-3-Clause 3 * Copyright(c) 2015 - 2020 Intel Corporation. 32 MODULE_PARM_DESC(num_vls, "Set number of Virtual Lanes to use (1-8)"); 78 #define SEC_SC_HALTED 0x4 /* per-context only */ 79 #define SEC_SPC_FREEZE 0x8 /* per-HFI only */ 87 * 0 - User Fecn Handling 88 * 1 - Vnic 89 * 2 - AIP 90 * 3 - Verbs 101 #define emulator_rev(dd) ((dd)->irev >> 8) [all …]
|