| /linux/Documentation/i2c/ |
| H A D | i2c-sysfs.rst | 4 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 D | instantiating-devices.rst | 2 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 D | summary.rst | 2 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 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" 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 D | dev-interface.rst | 2 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 …]
|
| /linux/drivers/i2c/ |
| H A D | Kconfig | 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 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 D | Kconfig | 3 # 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/i2c/busses/ |
| H A D | Kconfig | 6 menu "I2C Hardware Bus support" 48 Acer Labs Inc. (ALI) M1514 and M1543 motherboard I2C interfaces. 58 756/766/768 mainboard I2C interfaces. The driver also includes 59 support for the first (SMBus 1.0) I2C interface of the AMD 8111 and 60 the nVidia nForce I2C interface. 70 second (SMBus 2.0) AMD 8111 mainboard I2C interface. 80 MP2 PCIe I2C adapter. 86 tristate "AMD ASF I2C Controller Support" 91 I2C controller. The AMD ASF controller is an SMBus controller with 103 tristate "Hix5hd2 high-speed I2C driver" [all …]
|
| /linux/sound/soc/codecs/ |
| H A D | Kconfig | 2 # 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 450 depends on I2C 469 tristate "Analog Devices ADAU1372 CODEC (I2C)" 470 depends on I2C 482 depends on I2C 487 depends on I2C 500 tristate "Analog Devices AU1761 CODEC - I2C" [all...] |
| /linux/drivers/media/dvb-frontends/ |
| H A D | Kconfig | 16 depends on DVB_CORE && I2C && I2C_MUX 24 depends on DVB_CORE && I2C 33 depends on DVB_CORE && I2C 41 depends on DVB_CORE && I2C 49 depends on DVB_CORE && I2C 57 depends on DVB_CORE && I2C 66 depends on DVB_CORE && I2C 73 depends on DVB_CORE && I2C 85 depends on DVB_CORE && I2C 94 depends on DVB_CORE && I2C [all …]
|
| /linux/drivers/media/tuners/ |
| H A D | Kconfig | 5 …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/drivers/iio/chemical/ |
| H A D | Kconfig | 10 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/translations/it_IT/i2c/ |
| H A D | summary.rst | 2 Introduzione a I2C e SMBus 5 I²C (letteralmente "I al quadrato C" e scritto I2C nella documentazione del 9 di vario genere a cui si accede sporadicamente e utilizzando poca banda. I2C è 11 rispettano i requisiti originali, per cui non sono indicati come I2C, ma hanno 14 L'ultima specifica ufficiale I2C è la `"Specifica I2C-bus e manuale utente" 18 SMBus (Bus per la gestione del sistema) si basa sul protocollo I2C ed è 19 principalmente un sottoinsieme di protocolli e segnali I2C. Molti dispositivi 20 I2C funzioneranno su SMBus, ma alcuni protocolli SMBus aggiungono semantica 21 oltre quanto richiesto da I2C. Le moderne schede madri dei PC si affidano a 23 configurati utilizzando EEPROM I2C, e circuiti integrati di monitoraggio [all …]
|
| /linux/drivers/iio/pressure/ |
| H A D | Kconfig | 11 depends on I2C 25 tristate "Honeywell ABP2 pressure sensor series I2C driver" 26 depends on I2C 29 Say Y here to build I2C bus support for the Honeywell ABP2 50 depends on I2C 62 depends on (I2C || SPI_MASTER) 64 select BMP280_I2C if (I2C) 74 will be called bmp280 and you will also get bmp280-i2c for I2C 80 depends on I2C 101 depends on I2C [all …]
|
| /linux/Documentation/driver-api/ |
| H A D | i2c.rst | 4 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 D | Kconfig | 37 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 ADXL372 3-Axis Accelerometer I2C Driver" 173 depends on I2C [all …]
|
| /linux/drivers/iio/magnetometer/ |
| H A D | Kconfig | 11 depends on I2C 17 Say yes here to build support for Voltafield AF8133J I2C-based 25 depends on I2C 31 AMI306 I2C-based 3-axis magnetometer chips. 38 depends on I2C 51 depends on I2C 59 depends on I2C 65 ALS31300 Hall Effect Sensor through its I2C interface. 76 tristate "Bosch BMC150 I2C Magnetometer Driver" 77 depends on I2C [all …]
|
| /linux/Documentation/hwmon/ |
| H A D | lm90.rst | 10 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e 20 Addresses scanned: I2C 0x4c 30 Addresses scanned: I2C 0x4c and 0x4d 40 Addresses scanned: I2C 0x4c and 0x4d 50 Addresses scanned: I2C 0x4c 60 Addresses scanned: I2C 0x4c - 0x4e 70 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e 80 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e 91 Addresses scanned: I2C 0x4c and 0x4d 101 Addresses scanned: I2C 0x4c and 0x4d [all …]
|
| /linux/drivers/iio/gyro/ |
| H A D | Kconfig | 68 depends on (I2C || SPI_MASTER) 71 select BMG160_I2C if (I2C) 75 driver connected via I2C or SPI. This driver also supports BMI055 93 select FXAS21002C_I2C if (I2C) 95 depends on (I2C || SPI_MASTER) 98 Sensor driver connected via I2C or SPI. 128 tristate "Invensense MPU3050 devices on I2C" 129 depends on I2C 134 This driver supports the Invensense MPU3050 gyroscope over I2C. 140 depends on (I2C || SPI_MASTER) && SYSFS [all …]
|
| /linux/drivers/iio/light/ |
| H A D | Kconfig | 27 depends on I2C 38 depends on I2C 48 depends on I2C 58 depends on I2C 68 depends on I2C 78 depends on I2C 89 depends on I2C 99 depends on I2C 114 depends on I2C 116 Say Y here to build I2C interface support for the Avago [all …]
|
| /linux/Documentation/w1/slaves/ |
| H A D | w1_ds28e17.rst | 7 * 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/Documentation/i2c/busses/ |
| H A D | i2c-diolan-u2c.rst | 6 * 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/sound/soc/samsung/ |
| H A D | Kconfig | 26 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/iio/temperature/ |
| H A D | Kconfig | 59 depends on I2C 62 MLX90614 contact-less infrared sensor connected with I2C. 69 depends on I2C 74 connected with I2C. 81 depends on I2C 86 connected with I2C. 93 depends on I2C 105 depends on I2C 115 depends on I2C 124 tristate "Measurement Specialties TSYS01 temperature sensor using I2C bus connection" [all …]
|
| /linux/drivers/input/touchscreen/ |
| H A D | Kconfig | 71 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 …]
|