Home
last modified time | relevance | path

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

12345678910

/linux/Documentation/driver-api/
H A Di2c.rst4 I\ :sup:`2`\ C (or without fancy typography, "I2C") is an acronym for
5 the "Inter-IC" bus, a simple bus protocol which is widely used where low
7 some vendors use another name (such as "Two-Wire Interface", TWI) for
8 the same bus. I2C only needs two signals (SCL for clock, SDA for data),
10 I2C devices use seven bit addresses, and bus speeds of up to 400 kHz;
12 I2C is a multi-master bus; open drain signaling is used to arbitrate
16 The Linux I2C programming interfaces support the master side of bus
18 structured around two kinds of driver, and two kinds of device. An I2C
22 I2C bus segment it manages. On each I2C bus segment will be I2C devices
26 are functions to perform various I2C protocol operations; at this writing
[all …]
H A Dipmb.rst6 I2C bus that provides a standardized interconnection between
9 IPMB is also associated with the messaging protocol through the
15 hot-swapping disk drivers in the system chassis, etc...
27 ----------------------------
29 ipmb-dev-int - This is the driver needed on a Satellite MC to
31 This driver works with the I2C driver and a userspace
34 1) It is an I2C slave backend driver. So, it defines a callback
35 function to set the Satellite MC as an I2C slave.
43 --------------------
55 Name (_HID, "<Vendor-Specific HID>") // Vendor-Specific HID
[all …]
/linux/Documentation/i2c/
H A Dsmbus-protocol.rst2 The SMBus Protocol
5 The following is a summary of the SMBus protocol. It applies to
6 all revisions of the protocol (1.0, 1.1, and 2.0).
7 Certain protocol features which are not supported by
10 Some adapters understand only the SMBus (System Management Bus) protocol,
11 which is a subset from the I2C protocol. Fortunately, many devices use
14 If you write a driver for some I2C device, please try to use the SMBus
16 I2C protocol). This makes it possible to use the device driver on both
17 SMBus adapters and I2C adapters (the SMBus command set is automatically
18 translated to I2C on I2C adapters, but plain I2C commands can not be
[all …]
H A Dsummary.rst2 Introduction to I2C and SMBus
5 I²C (pronounce: I squared C and written I2C in the kernel documentation) is
6 a protocol developed by Philips. It is a two-wire protocol with variable
9 low bandwidth communications needs. I2C is widely used with embedded
11 and so are not advertised as being I2C but come under different names,
14 The latest official I2C specification is the `"I²C-bus specification and user
15 manual" (UM10204) <https://www.nxp.com/docs/en/user-guide/UM10204.pdf>`_
18 SMBus (System Management Bus) is based on the I2C protocol, and is mostly
19 a subset of I2C protocols and signaling. Many I2C devices will work on an
21 achieve I2C branding. Modern PC mainboards rely on SMBus. The most common
[all …]
H A Dindex.rst1 .. SPDX-License-Identifier: GPL-2.0
4 I2C/SMBus Subsystem
14 i2c-protocol
15 smbus-protocol
16 instantiating-devices
18 i2c-topology
19 muxes/i2c-mux-gpio
20 i2c-sysfs
21 i2c-address-translators
29 writing-clients
[all …]
/linux/include/trace/events/
H A Dsmbus.h1 /* SPDX-License-Identifier: GPL-2.0-or-later */
13 #include <linux/i2c.h>
17 * drivers/i2c/i2c-core-smbus.c
26 char read_write, u8 command, int protocol,
28 TP_ARGS(adap, addr, flags, read_write, command, protocol, data),
30 protocol == I2C_SMBUS_PROC_CALL ||
31 protocol == I2C_SMBUS_BLOCK_PROC_CALL),
38 __field(__u32, protocol )
41 __entry->adapter_nr = adap->nr;
42 __entry->addr = addr;
[all …]
/linux/Documentation/devicetree/bindings/ipmi/
H A Dipmb-dev.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/ipmi/ipmb-dev.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
10 The IPMB is an I2C bus which provides interconnection between a Baseboard
14 This device uses an I2C slave device to send and receive IPMB messages,
17 devices only support the I2C protocol and not the SMB protocol.
19 IPMB communications protocol Specification V1.0
20 https://www.intel.com/content/dam/www/public/us/en/documents/product-briefs/ipmp-spec-v1.0.pdf
23 - Ninad Palsule <ninad@linux.ibm.com>
[all …]
/linux/drivers/input/mouse/
H A DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
25 includes the standard 2 or 3-button PS/2 mouse, as well as PS/2
43 bool "ALPS PS/2 mouse protocol extension" if EXPERT
53 bool "BYD PS/2 mouse protocol extension" if EXPERT
63 bool "Logitech PS/2++ mouse protocol extension" if EXPERT
73 bool "Synaptics PS/2 mouse protocol extension" if EXPERT
86 depends on I2C=y || I2C=MOUSE_PS2
95 bool "Cypress PS/2 mouse protocol extension" if EXPERT
105 bool "Fujitsu Lifebook PS/2 mouse protocol extension" if EXPERT
109 Say Y here if you have a Fujitsu B-series Lifebook PS/2
[all …]
/linux/drivers/i2c/
H A DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
3 # I2C subsystem configuration
6 menu "I2C support"
8 config I2C config
9 tristate "I2C support"
13 I2C (pronounce: I-squared-C) is a slow serial bus protocol used in
15 or System Management Bus is a subset of the I2C protocol. More
16 information is contained in the directory <file:Documentation/i2c/>,
19 Both I2C and SMBus are supported here. You will need this for
22 If you want I2C support, you should say Y here and also to the
[all …]
H A Di2c-core-smbus.c1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * Linux I2C core SMBus and SMBus emulation code
5 * This file contains the SMBus functions which are always included in the I2C
6 * core because they can be emulated via I2C. SMBus specific extensions
7 * (e.g. smbalert) are handled in a separate i2c-smbus module.
9 * All SMBus-related things are written by Frodo Looijaard <frodol@dds.nl>
15 #include <linux/i2c.h>
16 #include <linux/i2c-smbus.h>
21 #include "i2c-core.h"
43 * i2c_smbus_pec - Incremental CRC8 over the given input data array
[all …]
/linux/drivers/platform/chrome/
H A DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
26 If you have an ACPI-compatible Chromebook, say Y or M here.
31 depends on I2C && DMI && X86
33 This driver instantiates i2c and smbus devices such as
47 The range of memory used is 0xf00000-0x1000000, traditionally
67 depends on I2C
73 devices that have multiple drop-in options for one component.
83 protocol for talking to the EC is defined by the bus driver.
89 tristate "ChromeOS Embedded Controller (I2C)"
90 depends on CROS_EC && I2C
[all …]
/linux/drivers/char/tpm/st33zp24/
H A Di2c.c1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * STMicroelectronics TPM I2C Linux driver for TPM ST33ZP24
4 * Copyright (C) 2009 - 2016 STMicroelectronics
8 #include <linux/i2c.h>
25 * Send byte to the TIS register according to the ST33ZP24 I2C protocol.
35 phy->buf[0] = tpm_register; in write8_reg()
36 memcpy(phy->buf + 1, tpm_data, tpm_size); in write8_reg()
37 return i2c_master_send(phy->client, phy->buf, tpm_size + 1); in write8_reg()
42 * Recv byte from the TIS register according to the ST33ZP24 I2C protocol.
57 status = i2c_master_recv(phy->client, tpm_data, tpm_size); in read8_reg()
[all …]
/linux/drivers/net/mdio/
H A Dmdio-i2c.c1 // SPDX-License-Identifier: GPL-2.0
3 * MDIO I2C bridge
5 * Copyright (C) 2015-2016 Russell King
8 * Network PHYs can appear on I2C buses when they are part of SFP module.
13 #include <linux/i2c.h>
14 #include <linux/mdio/mdio-i2c.h>
19 * I2C bus addresses 0x50 and 0x51 are normally an EEPROM, which is
36 struct i2c_adapter *i2c = bus->priv; in i2c_mii_read_default_c45() local
54 msgs[0].len = p - addr; in i2c_mii_read_default_c45()
61 ret = i2c_transfer(i2c, msgs, ARRAY_SIZE(msgs)); in i2c_mii_read_default_c45()
[all …]
/linux/drivers/hid/i2c-hid/
H A DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
3 tristate "I2C HID support"
5 depends on I2C
10 tristate "HID over I2C transport layer ACPI driver"
16 other HID based devices which is connected to your computer via I2C.
17 This driver supports ACPI-based systems.
22 will be called i2c-hid-acpi. It will also build/depend on the
23 module i2c-hid.
26 tristate "HID over I2C transport layer Open Firmware driver"
28 # (board-file) instantiated "hid-over-i2c" type i2c-clients.
[all …]
/linux/drivers/staging/nvec/
H A DREADME1 NVEC: An NVidia compliant Embedded Controller Protocol Implementation
3 This is an implementation of the NVEC protocol used to communicate with an
4 embedded controller (EC) via I2C bus. The EC is an I2C master while the host
5 processor is the I2C slave. Requests from the host processor to the EC are
8 There is no written documentation of the protocol available to the public,
13 [1] e.g. https://nv-tegra.nvidia.com/gitweb/?p=linux-2.6.git;a=tree;f=arch/arm/mach-tegra/nvec;hb=a…
/linux/drivers/i2c/busses/
H A Di2c-xgene-slimpro.c1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * X-Gene SLIMpro I2C Driver
9 * This driver provides support for X-Gene SLIMpro I2C device access
10 * using the APM X-Gene SLIMpro mailbox driver.
14 #include <linux/dma-mapping.h>
15 #include <linux/i2c.h>
25 #define SLIMPRO_IIC_BUS 1 /* Use I2C bus 1 only */
60 * SLIMpro I2C message encode
62 * dev - Controller number (0-based)
63 * chip - I2C chip address
[all …]
/linux/drivers/net/mctp/
H A DKconfig11 This driver provides an MCTP-over-serial interface, through a
12 serial line-discipline, as defined by DMTF specification "DSP0253 -
22 compile as a module, use m; the module will be called mctp-serial.
30 tristate "MCTP SMBus/I2C transport"
31 # i2c-mux is optional, but we must build as a module if i2c-mux is a module
33 depends on I2C
37 Provides a driver to access MCTP devices over SMBus/I2C transport,
38 from DMTF specification DSP0237. A MCTP protocol network device is
39 created for each I2C bus that has been assigned a mctp-i2c device.
47 A MCTP protocol network device is created for each I3C bus
[all …]
/linux/arch/arm/boot/dts/aspeed/
H A Daspeed-bmc-facebook-greatlakes.dts1 // SPDX-License-Identifier: GPL-2.0-or-later
4 /dts-v1/;
5 #include "aspeed-g6.dtsi"
6 #include <dt-bindings/gpio/aspeed-gpio.h>
7 #include <dt-bindings/leds/leds-pca955x.h>
8 #include <dt-bindings/i2c/i2c.h>
12 compatible = "facebook,greatlakes-bmc", "aspeed,ast2600";
23 iio-hwmon {
24 compatible = "iio-hwmon";
25 io-channels = <&adc0 0>, <&adc0 1>, <&adc0 2>, <&adc0 3>,
[all …]
/linux/drivers/mfd/
H A Dtps6594-i2c.c1 // SPDX-License-Identifier: GPL-2.0
3 * I2C access driver for the following TI PMICs:
4 * - LP8764
5 * - TPS65224
6 * - TPS652G1
7 * - TPS6593
8 * - TPS6594
10 * Copyright (C) 2023 BayLibre Incorporated - https://www.baylibre.com/
14 #include <linux/i2c.h>
24 MODULE_PARM_DESC(enable_crc, "Enable CRC feature for I2C interface");
[all …]
/linux/drivers/media/usb/cx231xx/
H A Dcx231xx-input.c1 // SPDX-License-Identifier: GPL-2.0
7 // however, a few designs are using an external I2C chip for IR, instead
15 #define MODULE_NAME "cx231xx-input"
17 static int get_key_isdbt(struct IR_i2c *ir, enum rc_proto *protocol, in get_key_isdbt() argument
23 dev_dbg(&ir->rc->dev, "%s\n", __func__); in get_key_isdbt()
26 rc = i2c_master_recv(ir->c, &cmd, 1); in get_key_isdbt()
30 return -EIO; in get_key_isdbt()
41 dev_dbg(&ir->rc->dev, "cmd %02x, scan = %02x\n", cmd, scancode); in get_key_isdbt()
43 *protocol = RC_PROTO_OTHER; in get_key_isdbt()
54 dev_dbg(dev->dev, "%s\n", __func__); in cx231xx_ir_init()
[all …]
/linux/include/linux/
H A Di2c.h1 /* SPDX-License-Identifier: GPL-2.0-or-later */
3 * i2c.h - definitions for the Linux i2c bus interface
4 * Copyright (C) 1995-2000 Simon G. Vogl
5 * Copyright (C) 2013-2019 Wolfram Sang <wsa@kernel.org>
24 #include <uapi/linux/i2c.h>
30 /* --- General options ------------------------------------------------ */
43 /* I2C Frequency Modes */
69 * i2c_master_recv - issue a single I2C message in master receive mode
83 * i2c_master_recv_dmasafe - issue a single I2C message in master receive mode
99 * i2c_master_send - issue a single I2C message in master transmit mode
[all …]
/linux/drivers/media/usb/dvb-usb/
H A Ddib0700_core.c1 // SPDX-License-Identifier: GPL-2.0-only
4 * Copyright (C) 2005-6 DiBcom, SA
11 MODULE_PARM_DESC(debug, "set debugging level (1=info,2=fw,4=fwdata,8=data (or-able))." DVB_USB_DEBU…
24 struct dib0700_state *st = d->priv; in dib0700_get_version()
27 if (mutex_lock_interruptible(&d->usb_mutex) < 0) { in dib0700_get_version()
29 return -EINTR; in dib0700_get_version()
32 ret = usb_control_msg(d->udev, usb_rcvctrlpipe(d->udev, 0), in dib0700_get_version()
35 st->buf, 16, USB_CTRL_GET_TIMEOUT); in dib0700_get_version()
37 *hwversion = (st->buf[0] << 24) | (st->buf[1] << 16) | in dib0700_get_version()
38 (st->buf[2] << 8) | st->buf[3]; in dib0700_get_version()
[all …]
/linux/drivers/char/tpm/
H A DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
26 which is required to validate the PCR 0-7 values.
41 and interposer attacks (see tpm-security.rst). Saying Y
74 tristate "TPM Interface Specification 1.3 Interface / TPM 2.0 FIFO Interface - (SPI)"
79 non-tcg SPI master (i.e. most embedded platforms) that is compliant with the
93 tristate "TPM Interface Specification 1.3 Interface / TPM 2.0 FIFO Interface - (I2C - generic)"
94 depends on I2C
99 (I2C interface) specification and connected to an I2C bus master,
105 tristate "TPM Interface Specification 1.2 Interface / TPM 2.0 FIFO Interface (MMIO - SynQuacer)"
117 tristate "TPM Interface Specification 2.0 Interface (I2C - CR50)"
[all …]
/linux/drivers/hid/intel-thc-hid/
H A DKconfig1 # SPDX-License-Identifier: GPL-2.0
13 is comprised of 3 key functional blocks: A natively half-duplex
14 Quad I/O capable SPI master; a low latency I2C interface to support
25 HIDSPI (HID over SPI) protocol. It configures THC to work at SPI
36 HIDI2C (HID over I2C) protocol. It configures THC to work in I2C
/linux/drivers/input/joystick/
H A DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
41 A3D protocol over the PC gameport.
55 module will be called adc-joystick.
63 protocol over the PC gameport.
91 Say Y here if you have a Gravis controller using the GrIP protocol
112 protocol over the PC gameport.
132 Overdrive protocol over PC gameport.
142 DirectConnect (BSP) protocol over the PC gameport.
211 tristate "5-byte Zhenhua RC transmitter"
215 Say Y here if you have a Zhen Hua PPM-4CH transmitter which is
[all …]

12345678910