Home
last modified time | relevance | path

Searched refs:I2C (Results 1 – 25 of 531) sorted by relevance

12345678910>>...22

/linux/Documentation/i2c/
H A Di2c-sysfs.rst4 Linux I2C Sysfs
10 I2C topology can be complex because of the existence of I2C MUX
11 (I2C Multiplexer). The Linux
12 kernel abstracts the MUX channels into logical I2C bus numbers. However, there
13 is a gap of knowledge to map from the I2C bus physical number and MUX topology
14 to logical I2C bus number. This doc is aimed to fill in this gap, so the
16 the concept of logical I2C buses in the kernel, by knowing the physical I2C
17 topology and navigating through the I2C sysfs in Linux shell. This knowledge is
24 People who need to use Linux shell to interact with I2C subsystem on a system
32 2. General knowledge of I2C, I2C MUX and I2C topology.
[all …]
H A Dinstantiating-devices.rst2 How to instantiate I2C devices
5 Unlike PCI or USB devices, I2C devices are not enumerated at the hardware
7 I2C bus segment, and what address these devices are using. For this
8 reason, the kernel code must instantiate I2C devices explicitly. There are
12 Method 1: Declare the I2C devices statically
15 This method is appropriate when the I2C bus is a system bus as is the case
16 for many embedded systems. On such systems, each I2C bus has a number which
17 is known in advance. It is thus possible to pre-declare the I2C devices
23 When the I2C bus in question is registered, the I2C devices will be
25 unbound and destroyed when the I2C bus they sit on goes away (if ever).
[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
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
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
22 devices connected through SMBus are RAM modules configured using I2C EEPROMs,
25 Because the SMBus is mostly a subset of the generalized I2C bus, we can
[all …]
H A Di2c-topology.rst2 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"
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
49 select and/or deselect operations must use I2C transfers to complete
[all …]
H A Ddev-interface.rst2 Implementing I2C device drivers in userspace
5 Usually, I2C devices are controlled by a kernel driver. But it is also
9 Each registered I2C adapter gets a number, counting from 0. You can
12 I2C adapters present on your system at a given time. i2cdetect is part of
15 I2C device files are character device files with major device number 89
18 i2c-10, ...). All 256 minor device numbers are reserved for I2C.
24 So let's say you want to access an I2C adapter from a C program.
51 int addr = 0x40; /* The I2C address */
59 I2C to communicate with your device. SMBus commands are preferred if
69 /* ERROR HANDLING: I2C transaction failed */
[all …]
H A Dfault-codes.rst2 I2C/SMBUS Fault Codes
6 codes in the I2C/SMBus stack.
21 In short, your I2C driver code may need to know these codes in order
26 I2C and SMBus fault codes
43 Returned by I2C adapters not supporting 10 bit addresses when
47 Returned by I2C adapters when they lose arbitration in master
51 Also returned when trying to invoke an I2C operation in an
52 atomic context, when some task is already using that I2C bus
93 Returned by I2C adapters to indicate that the address phase
95 an I2C device was temporarily not responding, usually it
[all …]
H A Dslave-interface.rst2 Linux I2C slave interface description
7 Linux can also be an I2C slave if the I2C controller in use has slave
11 driver. While another I2C master on the bus can access it like a regular
12 EEPROM, the Linux I2C slave can access the content via sysfs and handle data as
13 needed. The backend driver and the I2C bus driver communicate via events. Here
19 e.g. sysfs I2C slave events I/O registers
24 ----------------------------------------------------------------+-- I2C
27 Note: Technically, there is also the I2C core between the backend and the
34 I2C slave backends behave like standard I2C clients. So, you can instantiate
55 I2C slave events
[all …]
/linux/drivers/i2c/
H A DKconfig3 # 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
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
25 This I2C support can also be built as a module. If so, the module
29 bool "ACPI I2C Operation region support"
[all …]
/linux/drivers/i2c/muxes/
H A DKconfig3 # Multiplexer I2C chip drivers configuration
6 menu "Multiplexer I2C Chip support"
10 tristate "GPIO-based I2C arbitration"
15 I2C multimaster arbitration scheme using GPIOs and a challenge &
23 tristate "GPIO-based I2C multiplexer"
27 GPIO based I2C multiplexer. This driver provides access to
28 I2C busses connected through a MUX, which is controlled
35 tristate "General Purpose I2C multiplexer"
40 general purpose I2C multiplexer. This driver provides access to
41 I2C busses connected through a MUX, which in turn is controlled
[all …]
/linux/drivers/media/tuners/
H A DKconfig5 …A_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_RADIO_SUPPORT || MEDIA_SDR_SUPPORT) && I2C
28 depends on MEDIA_SUPPORT && I2C && VIDEO_DEV
36 depends on MEDIA_SUPPORT && I2C
43 depends on MEDIA_SUPPORT && I2C
50 depends on MEDIA_SUPPORT && I2C
57 depends on MEDIA_SUPPORT && I2C && VIDEO_DEV
65 depends on MEDIA_SUPPORT && I2C
73 depends on MEDIA_SUPPORT && I2C
81 depends on MEDIA_SUPPORT && I2C
88 depends on MEDIA_SUPPORT && I2C
[all …]
/linux/sound/soc/codecs/
H A DKconfig2 # Helper to resolve issues with configs that have SPI enabled but I2C
3 # modular, meaning we can't build the codec driver in with I2C support.
8 default m if I2C=m
9 default y if I2C=y
446 depends on I2C
465 tristate "Analog Devices ADAU1372 CODEC (I2C)"
466 depends on I2C
478 depends on I2C
483 depends on I2C
496 tristate "Analog Devices AU1761 CODEC - I2C"
[all …]
/linux/drivers/iio/chemical/
H A DKconfig10 depends on I2C
21 depends on I2C
27 Say Y here to build I2C interface support for the following
38 depends on I2C
40 Say Y here to build I2C interface support for the following
49 depends on (I2C || SPI)
51 select BME680_I2C if I2C
59 This driver can also be built as a module. If so, the module for I2C
64 depends on I2C && BME680
74 depends on I2C
[all …]
/linux/Documentation/driver-api/
H A Di2c.rst4 I\ :sup:`2`\ C (or without fancy typography, "I2C") is an acronym 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
30 systems are also I2C conformant. The electrical constraints are tighter
32 Controllers that support I2C can also support most SMBus operations, but
[all …]
/linux/drivers/iio/accel/
H A DKconfig37 tristate "Analog Devices ADXL313 3-Axis Digital Accelerometer I2C Driver"
38 depends on I2C
66 tristate "Analog Devices ADXL345 3-Axis Digital Accelerometer I2C Driver"
68 depends on I2C
99 tristate "Analog Devices ADXL355 3-Axis Digital Accelerometer I2C Driver"
100 depends on I2C
145 tristate "Analog Devices ADXL367 3-Axis Accelerometer I2C Driver"
146 depends on I2C
172 tristate "Analog Devices ADXL371/ADXL372 3-Axis Accelerometer I2C Driver"
173 depends on I2C
[all …]
/linux/drivers/i2c/algos/
H A DKconfig3 # I2C algorithm drivers configuration
6 menu "I2C Algorithms"
10 tristate "I2C bit-banging interfaces"
13 tristate "I2C PCF 8584 interfaces"
16 tristate "I2C PCA 9564 interfaces"
/linux/Documentation/i2c/busses/
H A Di2c-diolan-u2c.rst6 * Diolan U2C-12 I2C-USB adapter
16 This is the driver for the Diolan U2C-12 USB-I2C adapter.
18 The Diolan U2C-12 I2C-USB Adapter provides a low cost solution to connect
19 a computer to I2C slave devices using a USB interface. It also supports
22 This driver only supports the I2C interface of U2C-12. The driver does not use
29 * frequency: I2C bus frequency
/linux/drivers/iio/light/
H A DKconfig27 depends on I2C
38 depends on I2C
49 depends on I2C
60 depends on I2C
71 depends on I2C
81 depends on I2C
92 depends on I2C
102 depends on I2C
117 depends on I2C
119 Say Y here to build I2C interface support for the Avago
[all …]
/linux/Documentation/w1/slaves/
H A Dw1_ds28e17.rst7 * Maxim DS28E17 1-Wire-to-I2C Master Bridge
20 The DS28E17 is a Onewire slave device which acts as an I2C bus master.
22 This driver creates a new I2C bus for any DS28E17 device detected. I2C buses
23 come and go as the DS28E17 devices come and go. I2C slave devices connected to
25 connected to a "native" I2C bus master.
40 This sets up the default I2C speed a DS28E17 get configured for as soon
53 wait time for an I2C transfer. This is to account for I2C slave devices
54 which make heavy use of the I2C clock stretching feature and thus, the
68 directory /sys/bus/w1/devices/19-<id>/i2c-<nnn> for the I2C bus master sysfs
/linux/drivers/iio/imu/st_lsm9ds0/
H A DKconfig5 depends on (I2C || SPI_MASTER) && SYSFS
19 Also need to enable at least one of I2C and SPI interface drivers
22 tristate "STMicroelectronics LSM9DS0 IMU I2C interface"
23 depends on I2C && IIO_ST_LSM9DS0
24 default I2C && IIO_ST_LSM9DS0
29 Build support for STMicroelectronics LSM9DS0 IMU I2C interface.
42 Build support for STMicroelectronics LSM9DS0 IMU I2C interface.
/linux/sound/soc/samsung/
H A DKconfig26 depends on I2C=y
41 depends on I2C=y
50 depends on I2C && SPI_MASTER
60 depends on INPUT && I2C
67 depends on MFD_ARIZONA && MFD_WM5102 && MFD_WM5110 && I2C && SPI_MASTER
78 depends on I2C
86 depends on I2C
94 depends on I2C
104 depends on SND_SOC_SAMSUNG && I2C
112 depends on I2C
[all …]
/linux/drivers/input/touchscreen/
H A DKconfig71 tristate "support I2C bus connection"
72 depends on TOUCHSCREEN_AD7879 && I2C
75 Say Y here if you have AD7879-1/AD7889-1 hooked to an I2C bus.
120 depends on I2C && OF
131 tristate "Atmel mXT I2C Touchscreen"
132 depends on I2C
135 Say Y here if you have Atmel mXT series I2C touchscreen,
154 depends on I2C
167 depends on I2C
179 depends on I2C
[all …]
/linux/sound/soc/intel/avs/boards/
H A DKconfig17 depends on I2C
35 depends on X86 && I2C
59 depends on I2C
69 depends on I2C
79 depends on I2C
89 depends on I2C
100 depends on I2C
104 This adds support for AVS with PCM3168A I2C codec configuration.
118 depends on I2C
128 depends on I2C
[all …]
/linux/sound/hda/codecs/side-codecs/
H A DKconfig21 tristate "Build AW88399 HD-audio side codec support for I2C Bus"
22 depends on I2C
28 Say Y or M here to include AW88399 I2C HD-audio side codec support
44 tristate "Build CS35L41 HD-audio side codec support for I2C Bus"
45 depends on I2C
54 Say Y or M here to include CS35L41 I2C HD-audio side codec support
81 tristate "Build CS35L56 HD-audio side codec support for I2C Bus"
82 depends on I2C
94 I2C control.
131 tristate "Build TAS2781 HD-audio side codec support for I2C Bus"
[all …]
/linux/drivers/iio/proximity/
H A DKconfig49 depends on I2C
63 depends on I2C
72 depends on I2C
87 depends on I2C
97 depends on I2C
126 depends on I2C
129 sensor module with I2C interface.
163 depends on I2C
177 depends on I2C
191 depends on I2C
[all …]
/linux/drivers/media/radio/si4713/
H A DKconfig4 depends on USB && I2C && RADIO_SI4713
18 tristate "Silicon Labs Si4713 FM Radio Transmitter support with I2C"
19 depends on I2C && RADIO_SI4713
22 This is a driver for I2C devices with the Silicon Labs SI4713
26 computer's I2C port.
33 depends on I2C && RADIO_SI4713

12345678910>>...22