Home
last modified time | relevance | path

Searched +full:i2c +full:- +full:gate (Results 1 – 25 of 202) sorted by relevance

123456789

/Linux-v6.6/Documentation/devicetree/bindings/i2c/
Di2c-gate.yaml1 # 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 …]
/Linux-v6.6/Documentation/devicetree/bindings/iio/imu/
Dinvensense,mpu6050.yaml1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
3 ---
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: InvenSense MPU-6050 Six-Axis (Gyro + Accelerometer) MEMS MotionTracking Device
10 - Jean-Baptiste Maneyrol <jmaneyrol@invensense.com>
13 These devices support both I2C and SPI bus interfaces.
18 - enum:
19 - invensense,iam20680
20 - invensense,icm20608
21 - invensense,icm20609
[all …]
/Linux-v6.6/drivers/staging/sm750fb/
Dddk750_power.c1 // SPDX-License-Identifier: GPL-2.0
75 void sm750_set_current_gate(unsigned int gate) in sm750_set_current_gate() argument
78 poke32(MODE1_GATE, gate); in sm750_set_current_gate()
80 poke32(MODE0_GATE, gate); in sm750_set_current_gate()
88 u32 gate; in sm750_enable_2d_engine() local
90 gate = peek32(CURRENT_GATE); in sm750_enable_2d_engine()
92 gate |= (CURRENT_GATE_DE | CURRENT_GATE_CSC); in sm750_enable_2d_engine()
94 gate &= ~(CURRENT_GATE_DE | CURRENT_GATE_CSC); in sm750_enable_2d_engine()
96 sm750_set_current_gate(gate); in sm750_enable_2d_engine()
101 u32 gate; in sm750_enable_dma() local
[all …]
/Linux-v6.6/drivers/media/tuners/
Dtda18218.c1 // SPDX-License-Identifier: GPL-2.0-or-later
10 /* Max transfer size done by I2C transfer functions */
20 .addr = priv->cfg->i2c_address, in tda18218_wr_regs()
27 dev_warn(&priv->i2c->dev, in tda18218_wr_regs()
28 "%s: i2c wr reg=%04x: len=%d is too big!\n", in tda18218_wr_regs()
30 return -EINVAL; in tda18218_wr_regs()
34 remaining -= (priv->cfg->i2c_wr_max - 1)) { in tda18218_wr_regs()
36 if (len2 > (priv->cfg->i2c_wr_max - 1)) in tda18218_wr_regs()
37 len2 = (priv->cfg->i2c_wr_max - 1); in tda18218_wr_regs()
40 buf[0] = reg + len - remaining; in tda18218_wr_regs()
[all …]
Dfc0013.c1 // SPDX-License-Identifier: GPL-2.0-or-later
5 * Copyright (C) 2012 Hans-Frieder Vogt <hfvogt@gmx.net>
11 #include "fc0013-priv.h"
17 .addr = priv->addr, .flags = 0, .buf = buf, .len = 2 in fc0013_writereg()
20 if (i2c_transfer(priv->i2c, &msg, 1) != 1) { in fc0013_writereg()
21 err("I2C write reg failed, reg: %02x, val: %02x", reg, val); in fc0013_writereg()
22 return -EREMOTEIO; in fc0013_writereg()
30 { .addr = priv->addr, .flags = 0, .buf = &reg, .len = 1 }, in fc0013_readreg()
31 { .addr = priv->addr, .flags = I2C_M_RD, .buf = val, .len = 1 }, in fc0013_readreg()
34 if (i2c_transfer(priv->i2c, msg, 2) != 2) { in fc0013_readreg()
[all …]
Dfc0012.c1 // SPDX-License-Identifier: GPL-2.0-or-later
5 * Copyright (C) 2012 Hans-Frieder Vogt <hfvogt@gmx.net>
9 #include "fc0012-priv.h"
15 .addr = priv->cfg->i2c_address, .flags = 0, .buf = buf, .len = 2 in fc0012_writereg()
18 if (i2c_transfer(priv->i2c, &msg, 1) != 1) { in fc0012_writereg()
19 dev_err(&priv->i2c->dev, in fc0012_writereg()
20 "%s: I2C write reg failed, reg: %02x, val: %02x\n", in fc0012_writereg()
22 return -EREMOTEIO; in fc0012_writereg()
30 { .addr = priv->cfg->i2c_address, .flags = 0, in fc0012_readreg()
32 { .addr = priv->cfg->i2c_address, .flags = I2C_M_RD, in fc0012_readreg()
[all …]
Dtda18271.h1 /* SPDX-License-Identifier: GPL-2.0-or-later */
3 tda18271.h - header for the Philips / NXP TDA18271 silicon tuner
12 #include <linux/i2c.h>
84 /* use i2c gate provided by analog or digital demod */
85 enum tda18271_i2c_gate gate; member
90 /* some i2c providers can't write all 39 registers at once */
114 struct i2c_adapter *i2c,
119 struct i2c_adapter *i2c, in tda18271_attach() argument
Dtda18212.c1 // SPDX-License-Identifier: GPL-2.0-or-later
21 struct tda18212_dev *dev = fe->tuner_priv; in tda18212_set_params()
22 struct dtv_frontend_properties *c = &fe->dtv_property_cache; in tda18212_set_params()
50 dev_dbg(&dev->client->dev, in tda18212_set_params()
52 c->delivery_system, c->frequency, in tda18212_set_params()
53 c->bandwidth_hz); in tda18212_set_params()
55 if (fe->ops.i2c_gate_ctrl) in tda18212_set_params()
56 fe->ops.i2c_gate_ctrl(fe, 1); /* open I2C-gate */ in tda18212_set_params()
58 switch (c->delivery_system) { in tda18212_set_params()
60 if_khz = dev->cfg.if_atsc_vsb; in tda18212_set_params()
[all …]
/Linux-v6.6/Documentation/devicetree/bindings/iio/gyroscope/
Dinvensense,mpu3050.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Invensense MPU-3050 Gyroscope
10 - Linus Walleij <linus.walleij@linaro.org>
19 vdd-supply: true
21 vlogic-supply: true
28 mount-matrix: true
30 i2c-gate:
31 $ref: /schemas/i2c/i2c-controller.yaml
[all …]
/Linux-v6.6/arch/arm/boot/dts/intel/socfpga/
Dsocfpga.dtsi1 // SPDX-License-Identifier: GPL-2.0+
6 #include <dt-bindings/reset/altr,rst-mgr.h>
9 #address-cells = <1>;
10 #size-cells = <1>;
22 #address-cells = <1>;
23 #size-cells = <0>;
24 enable-method = "altr,socfpga-smp";
27 compatible = "arm,cortex-a9";
30 next-level-cache = <&L2>;
33 compatible = "arm,cortex-a9";
[all …]
Dsocfpga_arria10.dtsi1 // SPDX-License-Identifier: GPL-2.0
6 #include <dt-bindings/interrupt-controller/arm-gic.h>
7 #include <dt-bindings/reset/altr,rst-mgr-a10.h>
10 #address-cells = <1>;
11 #size-cells = <1>;
14 #address-cells = <1>;
15 #size-cells = <0>;
16 enable-method = "altr,socfpga-a10-smp";
19 compatible = "arm,cortex-a9";
22 next-level-cache = <&L2>;
[all …]
/Linux-v6.6/drivers/media/dvb-frontends/
Dzl10039.c1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * Driver for Zarlink ZL10039 DVB-S tuner
19 /* Max transfer size done by I2C transfer functions */
33 struct i2c_adapter *i2c; member
64 .addr = state->i2c_addr, in zl10039_read()
69 .addr = state->i2c_addr, in zl10039_read()
78 if (i2c_transfer(state->i2c, msg, 2) != 2) { in zl10039_read()
79 dprintk("%s: i2c read error\n", __func__); in zl10039_read()
80 return -EREMOTEIO; in zl10039_read()
92 .addr = state->i2c_addr, in zl10039_write()
[all …]
Ddibx000_common.c1 // SPDX-License-Identifier: GPL-2.0-only
4 #include <linux/i2c.h>
24 if (mutex_lock_interruptible(&mst->i2c_buffer_lock) < 0) { in dibx000_write_word()
26 return -EINVAL; in dibx000_write_word()
29 mst->i2c_write_buffer[0] = (reg >> 8) & 0xff; in dibx000_write_word()
30 mst->i2c_write_buffer[1] = reg & 0xff; in dibx000_write_word()
31 mst->i2c_write_buffer[2] = (val >> 8) & 0xff; in dibx000_write_word()
32 mst->i2c_write_buffer[3] = val & 0xff; in dibx000_write_word()
34 memset(mst->msg, 0, sizeof(struct i2c_msg)); in dibx000_write_word()
35 mst->msg[0].addr = mst->i2c_addr; in dibx000_write_word()
[all …]
Ddrxd.h1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * drxd.h: DRXD DVB-T demodulator driver
5 * Copyright (C) 2005-2007 Micronas
12 #include <linux/i2c.h>
30 /* If the tuner is not behind an i2c gate, be sure to flip this bit
31 or else the i2c bus could get wedged */
41 void *priv, struct i2c_adapter *i2c,
46 void *priv, struct i2c_adapter *i2c, in drxd_attach() argument
49 printk(KERN_INFO "%s: not probed - driver disabled by Kconfig\n", in drxd_attach()
Dtda10048.h1 /* SPDX-License-Identifier: GPL-2.0-or-later */
18 /* the demodulator's i2c address */
52 /* Disable I2C gate access */
66 struct i2c_adapter *i2c);
70 struct i2c_adapter *i2c) in tda10048_attach() argument
/Linux-v6.6/drivers/clk/tegra/
Dclk-tegra-periph.c1 // SPDX-License-Identifier: GPL-2.0-only
7 #include <linux/clk-provider.h>
16 #include "clk-id.h"
130 #define MASK(x) (BIT(x) - 1)
200 #define I2C(_name, _parents, _offset,\ macro
229 #define GATE(_name, _parent_name, \ macro
609 I2C("i2c1", mux_pllp_clkm, CLK_SOURCE_I2C1, 12, tegra_clk_i2c1),
610 I2C("i2c2", mux_pllp_clkm, CLK_SOURCE_I2C2, 54, tegra_clk_i2c2),
611 I2C("i2c3", mux_pllp_clkm, CLK_SOURCE_I2C3, 67, tegra_clk_i2c3),
612 I2C("i2c4", mux_pllp_clkm, CLK_SOURCE_I2C4, 103, tegra_clk_i2c4),
[all …]
/Linux-v6.6/drivers/i2c/
Di2c-mux.c2 * 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 …]
/Linux-v6.6/Documentation/driver-api/nfc/
Dnfc-hci.rst5 - Author: Eric Lapuyade, Samuel Ortiz
6 - Contact: eric.lapuyade@intel.com, samuel.ortiz@intel.com
9 -------
12 enables easy writing of HCI-based NFC drivers. The HCI layer runs as an NFC Core
17 ---
30 - one for executing commands : nfc_hci_msg_tx_work(). Only one command
32 - one for dispatching received events and commands : nfc_hci_msg_rx_work().
35 --------------------------
41 In case the chip supports pre-opened gates and pseudo-static pipes, the driver
45 -------------------
[all …]
/Linux-v6.6/drivers/iio/imu/inv_mpu6050/
Dinv_mpu_i2c.c1 // SPDX-License-Identifier: GPL-2.0-only
8 #include <linux/i2c.h>
30 switch (st->chip_type) { in inv_mpu_i2c_aux_bus()
38 /* no i2c auxiliary bus on the chip */ in inv_mpu_i2c_aux_bus()
43 if (st->magn_disabled) in inv_mpu_i2c_aux_bus()
55 struct device *dev = indio_dev->dev.parent; in inv_mpu_i2c_aux_setup()
60 * MPU9xxx magnetometer support requires to disable i2c auxiliary bus. in inv_mpu_i2c_aux_setup()
62 * i2c auxiliary bus if it used. in inv_mpu_i2c_aux_setup()
63 * Check for i2c-gate node in devicetree and set magnetometer disabled. in inv_mpu_i2c_aux_setup()
66 switch (st->chip_type) { in inv_mpu_i2c_aux_setup()
[all …]
/Linux-v6.6/drivers/clk/ingenic/
Djz4755-cgu.c1 // SPDX-License-Identifier: GPL-2.0
10 #include <linux/clk-provider.h>
14 #include <dt-bindings/clock/ingenic,jz4755-cgu.h>
33 0x0, 0x1, -1, 0x3,
80 CGU_REG_CPCCR, 21, 1, 1, -1, -1, -1, 0,
89 CGU_REG_CPCCR, 30, 1, 1, -1, -1, -1, 0,
98 CGU_REG_CPCCR, 0, 1, 4, 22, -1, -1, 0,
107 CGU_REG_CPCCR, 4, 1, 4, 22, -1, -1, 0,
116 CGU_REG_CPCCR, 8, 1, 4, 22, -1, -1, 0,
125 CGU_REG_CPCCR, 12, 1, 4, 22, -1, -1, 0,
[all …]
Djz4740-cgu.c1 // SPDX-License-Identifier: GPL-2.0-or-later
9 #include <linux/clk-provider.h>
14 #include <dt-bindings/clock/ingenic,jz4740-cgu.h>
51 0x0, 0x1, -1, 0x3,
71 .parents = { JZ4740_CLK_EXT, -1, -1, -1 },
96 .parents = { JZ4740_CLK_PLL, -1, -1, -1 },
98 CGU_REG_CPCCR, 21, 1, 1, -1, -1, -1, 0,
110 .parents = { JZ4740_CLK_PLL, -1, -1, -1 },
112 CGU_REG_CPCCR, 0, 1, 4, 22, -1, -1, 0,
119 .parents = { JZ4740_CLK_PLL, -1, -1, -1 },
[all …]
Djz4725b-cgu.c1 // SPDX-License-Identifier: GPL-2.0
9 #include <linux/clk-provider.h>
13 #include <dt-bindings/clock/ingenic,jz4725b-cgu.h>
36 0x0, 0x1, -1, 0x3,
56 .parents = { JZ4725B_CLK_EXT, -1, -1, -1 },
81 .parents = { JZ4725B_CLK_PLL, -1, -1, -1 },
83 CGU_REG_CPCCR, 21, 1, 1, -1, -1, -1, 0,
95 .parents = { JZ4725B_CLK_PLL, -1, -1, -1 },
97 CGU_REG_CPCCR, 0, 1, 4, 22, -1, -1, 0,
104 .parents = { JZ4725B_CLK_PLL, -1, -1, -1 },
[all …]
/Linux-v6.6/drivers/clk/
DKconfig1 # SPDX-License-Identifier: GPL-2.0
59 Low-Noise JESD204B Compliant Clock Jitter Cleaner With Dual Loop PLLs
79 depends on I2C
88 These multi-function devices have two fixed-rate oscillators, clocked at 32KHz each.
98 multi-function device has one fixed-rate oscillator, clocked
123 depends on I2C
129 be pre-programmed to support other configurations and features not yet
134 depends on I2C
142 depends on I2C
151 depends on I2C
[all …]
/Linux-v6.6/drivers/mfd/
Dsm501.c1 // SPDX-License-Identifier: GPL-2.0-only
19 #include <linux/platform_data/i2c-gpio.h>
25 #include <linux/sm501-regs.h>
135 unsigned long misct = smc501_readl(sm->regs + SM501_MISC_TIMING); in sm501_dump_clk()
136 unsigned long pm0 = smc501_readl(sm->regs + SM501_POWER_MODE_0_CLOCK); in sm501_dump_clk()
137 unsigned long pm1 = smc501_readl(sm->regs + SM501_POWER_MODE_1_CLOCK); in sm501_dump_clk()
138 unsigned long pmc = smc501_readl(sm->regs + SM501_POWER_MODE_CONTROL); in sm501_dump_clk()
163 dev_dbg(sm->dev, "MISCT=%08lx, PM0=%08lx, PM1=%08lx\n", in sm501_dump_clk()
166 dev_dbg(sm->dev, "PLL2 = %ld.%ld MHz (%ld), SDCLK0=%08lx, SDCLK1=%08lx\n", in sm501_dump_clk()
169 dev_dbg(sm->dev, "SDRAM: PM0=%ld, PM1=%ld\n", sdclk0, sdclk1); in sm501_dump_clk()
[all …]
/Linux-v6.6/drivers/media/pci/saa7134/
Dsaa7134-i2c.c1 // SPDX-License-Identifier: GPL-2.0-or-later
5 * i2c interface support
11 #include "saa7134-reg.h"
19 #include <media/v4l2-common.h>
21 /* ----------------------------------------------------------- */
25 MODULE_PARM_DESC(i2c_debug,"enable debug messages [i2c]");
29 MODULE_PARM_DESC(i2c_scan,"scan i2c bus at insmod time");
33 printk(KERN_DEBUG pr_fmt("i2c: " fmt), ## arg); \
44 /* ----------------------------------------------------------- */
53 IDLE = 0, // no I2C command pending
[all …]

123456789