Home
last modified time | relevance | path

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

123456789

/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 …]
/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/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
27 If you have an ACPI-compatible Chromebook, say Y or M here.
32 depends on I2C && DMI && X86
34 This driver instantiates i2c and smbus devices such as
48 The range of memory used is 0xf00000-0x1000000, traditionally
68 depends on I2C
74 devices that have multiple drop-i
[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 bu
36 struct i2c_adapter *i2c = bus->priv; i2c_mii_read_default_c45() local
71 struct i2c_adapter *i2c = bus->priv; i2c_mii_write_default_c45() local
112 struct i2c_adapter *i2c = bus->priv; smbus_byte_mii_read_default_c22() local
147 struct i2c_adapter *i2c = bus->priv; smbus_byte_mii_write_default_c22() local
200 __i2c_transfer_err(struct i2c_adapter * i2c,struct i2c_msg * msgs,int num) __i2c_transfer_err() argument
214 __i2c_rollball_get_page(struct i2c_adapter * i2c,int bus_addr,u8 * page) __i2c_rollball_get_page() argument
233 __i2c_rollball_set_page(struct i2c_adapter * i2c,int bus_addr,u8 page) __i2c_rollball_set_page() argument
263 i2c_transfer_rollball(struct i2c_adapter * i2c,struct i2c_msg * msgs,int num) i2c_transfer_rollball() argument
298 struct i2c_adapter *i2c = bus->priv; i2c_rollball_mii_poll() local
341 struct i2c_adapter *i2c = bus->priv; i2c_rollball_mii_cmd() local
422 i2c_mii_init_rollball(struct i2c_adapter * i2c) i2c_mii_init_rollball() argument
448 mdio_i2c_check_functionality(struct i2c_adapter * i2c,enum mdio_i2c_proto protocol) mdio_i2c_check_functionality() argument
449 mdio_i2c_check_functionality(struct i2c_adapter * i2c,enum mdio_i2c_proto protocol) mdio_i2c_check_functionality() argument
461 mdio_i2c_alloc(struct device * parent,struct i2c_adapter * i2c,enum mdio_i2c_proto protocol) mdio_i2c_alloc() argument
462 mdio_i2c_alloc(struct device * parent,struct i2c_adapter * i2c,enum mdio_i2c_proto protocol) mdio_i2c_alloc() argument
[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/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/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/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/drivers/i3c/
H A DKconfig1 # SPDX-License-Identifier: GPL-2.0
5 select I2C
7 I3C is a serial protocol standardized by the MIPI alliance.
9 It's supposed to be backward compatible with I2C while providing
13 The I3C protocol also standardizes the slave device types and is
29 default I2C
32 i2c or i3c hosts, but cannot be built-in for the kernel when
/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
14 is comprised of 3 key functional blocks: A natively half-duplex
15 Quad I/O capable SPI master; a low latency I2C interface to support
26 HIDSPI (HID over SPI) protocol. It configures THC to work at SPI
37 HIDI2C (HID over I2C) protocol. It configures THC to work in I2C
/linux/Documentation/hid/
H A Dintel-thc-hid.rst1 .. SPDX-License-Identifier: GPL-2.0
10 - A natively half-duplex Quad I/O capable SPI master
11 - Low latency I2C interface to support HIDI2C compliant devices
12 - A HW sequencer with RW DMA capability to system memory
22 Unlike other common SPI/I2C controllers, THC handles the HID device data interrupt and reset
29 -------------------------------
31 Below diagram illustrates the high-level architecture of THC software/hardware stack, which is fully
32 capable of supporting HIDSPI/HIDI2C protocol in Linux OS.
36 ----------------------------------------------
37 | +-----------------------------------+ |
[all …]
/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 …]

123456789