/openbmc/u-boot/drivers/i2c/ |
H A D | Kconfig | 2 # I2C subsystem configuration 5 menu "I2C support" 8 bool "Enable Driver Model for I2C drivers" 11 Enable driver model for I2C. The I2C uclass interface: probe, read, 20 bool "Enable I2C compatibility layer" 23 Enable old-style I2C functions for compatibility with existing code. 29 tristate "Chrome OS EC tunnel I2C bus" 32 This provides an I2C bus that will tunnel i2c commands through to 33 the other side of the Chrome OS EC to the I2C bus connected there. 35 I2C or LPC). Some Chromebooks use this when the hardware design [all …]
|
/openbmc/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 `"I2C-bus specification and user 20 SMBus (System Management Bus) is based on the I2C protocol, and is mostly 21 a subset of I2C protocols and signaling. Many I2C devices will work on an 23 achieve I2C branding. Modern PC mainboards rely on SMBus. The most common 24 devices connected through SMBus are RAM modules configured using I2C EEPROMs, 27 Because the SMBus is mostly a subset of the generalized I2C bus, we can [all …]
|
/openbmc/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 …]
|
/openbmc/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 419 depends on I2C 438 tristate "Analog Devices ADAU1372 CODEC (I2C)" 439 depends on I2C 451 depends on I2C 456 depends on I2C 469 tristate "Analog Devices AU1761 CODEC - I2C" [all …]
|
/openbmc/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 …]
|
/openbmc/u-boot/drivers/i2c/muxes/ |
H A D | Kconfig | 2 bool "Support I2C multiplexers" 5 This enables I2C buses to be multiplexed, so that you can select 8 using a suitable I2C MUX driver. 11 bool "Support I2C multiplexers on SPL" 14 This enables I2C buses to be multiplexed, so that you can select 17 using a suitable I2C MUX driver. 20 bool "GPIO-based I2C arbitration" 24 I2C multimaster arbitration scheme using GPIOs and a challenge & 29 tristate "TI PCA954x I2C Mux/switches" 33 I2C mux/switch devices. It is x width I2C multiplexer which enables to [all …]
|
/openbmc/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. 83 second (SMBus 2.0) AMD 8111 mainboard I2C interface. 93 MP2 PCIe I2C adapter. 99 tristate "Hix5hd2 high-speed I2C driver" 102 Say Y here to include support for the high-speed I2C controller 116 801 family of mainboard I2C interfaces. Specifically, the following [all …]
|
/openbmc/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 …]
|
/openbmc/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 …]
|
/openbmc/linux/drivers/iio/chemical/ |
H A D | Kconfig | 10 depends on I2C 16 Say Y here to build I2C interface support for the following 27 depends on I2C 29 Say Y here to build I2C interface support for the following 38 depends on (I2C || SPI) 40 select BME680_I2C if I2C 46 This driver can also be built as a module. If so, the module for I2C 51 depends on I2C && BME680 61 depends on I2C 65 Say Y here to build I2C interface support for the AMS [all …]
|
/openbmc/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 …]
|
/openbmc/qemu/hw/i2c/ |
H A D | Kconfig | 1 config I2C config 11 select I2C 27 select I2C 31 select I2C 35 select I2C 39 select I2C 43 select I2C 51 select I2C
|
/openbmc/u-boot/doc/ |
H A D | I2C_Edge_Conditions | 1 I2C Edge Conditions: 4 I2C devices may be left in a write state if a read was occuring 9 2) I2C controller issues a start command. 10 3) The I2C writes the device address. 14 1) The I2C controller issues a start command. 15 2) The I2C controller writes the device address. 16 3) The I2C controller writes the offset. 31 !!!THIS IS AN UNDOCUMENTED I2C BUS BUG, NOT A AMCC 4xx BUG!!! 33 This reset edge condition could possibly be present in every I2C 34 controller and device available. For boards where a I2C bus reset [all …]
|
/openbmc/u-boot/doc/device-tree-bindings/i2c/ |
H A D | nvidia,tegra186-bpmp-i2c.txt | 1 NVIDIA Tegra186 BPMP I2C controller 4 devices, such as the I2C controller for the power management I2C bus. Software 6 transactions on that I2C bus. This binding describes an I2C bus that is 9 The BPMP I2C node must be located directly inside the main BPMP node. See 12 This node represents an I2C controller. See ../i2c/i2c.txt for details of the 13 core I2C binding. 20 - #address-cells: Address cells for I2C device address. 28 Indicates the I2C bus number this DT node represent, as defined by the
|
/openbmc/linux/Documentation/devicetree/bindings/i2c/ |
H A D | i2c-sprd.txt | 1 I2C for Spreadtrum platforms 7 - interrupts: Should contain I2C interrupt. 9 "i2c" for I2C clock, 10 "source" for I2C source (parent) clock, 11 "enable" for I2C module enable clock. 13 - clock-frequency: Contains desired I2C bus clock frequency in Hz. 14 - #address-cells: Should be 1 to describe address cells for I2C device address. 15 - #size-cells: Should be 0 means no size cell for I2C device address. 18 - Child nodes conforming to I2C bus binding
|
H A D | i2c-demux-pinctrl.txt | 1 Pinctrl-based I2C Bus DeMux 3 This binding describes an I2C bus demultiplexer that uses pin multiplexing to 4 route the I2C signals, and represents the pin multiplexing configuration using 5 the pinctrl device tree bindings. This may be used to select one I2C IP core at 6 runtime which may have a better feature set for a given task than another I2C 14 | |I2C IP Core1|--\ | +-----+ +-----+ 18 | |I2C IP Core2|--/ | 25 - i2c-parent: List of phandles of I2C masters available for selection. The first 27 - i2c-bus-name: The name of this bus. Also needed as pinctrl-name for the I2C 30 Furthermore, I2C mux properties and child nodes. See i2c-mux.yaml in this [all …]
|
H A D | i2c.txt | 1 Generic device tree bindings for I2C busses 4 This document describes generic bindings which can be used to describe I2C 12 - compatible - name of I2C bus controller 17 The cells properties above define that an address of children of an I2C bus 30 For I2C adapters that have child nodes that are a mixture of both I2C 31 devices and non-I2C devices, the 'i2c-bus' subnode can be used for 32 populating I2C devices. If the 'i2c-bus' subnode is present, only 33 subnodes of this will be considered as I2C slaves. The properties, 38 Number of nanoseconds the SCL signal takes to fall; t(f) in the I2C 45 Number of nanoseconds the SCL signal takes to rise; t(r) in the I2C [all …]
|
/openbmc/linux/drivers/iio/pressure/ |
H A D | Kconfig | 11 depends on I2C 21 depends on (I2C || SPI_MASTER) 23 select BMP280_I2C if (I2C) 31 will be called bmp280 and you will also get bmp280-i2c for I2C 37 depends on I2C 58 depends on I2C 70 depends on I2C 74 It can be accessed over I2C bus. 94 depends on I2C 105 depends on I2C [all …]
|
/openbmc/qemu/hw/sensor/ |
H A D | Kconfig | 3 depends on I2C 8 depends on I2C 13 depends on I2C 18 depends on I2C 23 depends on I2C 32 depends on I2C 36 depends on I2C
|
/openbmc/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 97 tristate "Analog Devices ADXL355 3-Axis Digital Accelerometer I2C Driver" 98 depends on I2C 143 tristate "Analog Devices ADXL367 3-Axis Accelerometer I2C Driver" 144 depends on I2C 170 tristate "Analog Devices ADXL372 3-Axis Accelerometer I2C Driver" 171 depends on I2C [all …]
|
/openbmc/linux/Documentation/hwmon/ |
H A D | lm90.rst | 10 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e 18 Addresses scanned: I2C 0x4c 28 Addresses scanned: I2C 0x4c and 0x4d 38 Addresses scanned: I2C 0x4c and 0x4d 48 Addresses scanned: I2C 0x4c 58 Addresses scanned: I2C 0x4c - 0x4e 66 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e 74 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e 82 Addresses scanned: I2C 0x4c and 0x4d 92 Addresses scanned: I2C 0x4c and 0x4d [all …]
|
/openbmc/linux/drivers/iio/magnetometer/ |
H A D | Kconfig | 11 depends on I2C 17 AMI306 I2C-based 3-axis magnetometer chips. 24 depends on I2C 37 depends on I2C 49 tristate "Bosch BMC150 I2C Magnetometer Driver" 50 depends on I2C 55 I2C interface. 61 This driver also supports I2C Bosch BMC156 and BMM150 chips. 84 depends on I2C 107 depends on I2C [all …]
|
/openbmc/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 …]
|