| /linux/Documentation/i2c/ |
| A D | i2c-sysfs.rst | 4 Linux I2C Sysfs 10 I2C topology can be complex because of the existence of I2C MUX 16 the concept of logical I2C buses in the kernel, by knowing the physical I2C 32 2. General knowledge of I2C, I2C MUX and I2C topology. 78 Logical I2C Bus 81 Every I2C bus number you see in Linux I2C Sysfs is a logical I2C bus with a 91 Physical I2C Bus 262 `I2C Tools 307 I2C Devices 351 I2C MUX Device [all …]
|
| A D | instantiating-devices.rst | 2 How to instantiate I2C devices 12 Method 1: Declare the I2C devices statically 23 When the I2C bus in question is registered, the I2C devices will be 28 Declare the I2C devices via devicetree 58 Declare the I2C devices via ACPI 65 Declare the I2C devices in board files 109 main chip by the means of an I2C bus. You won't know the number of the I2C 129 The above code instantiates 1 I2C device on the I2C bus which is on the 159 The above code instantiates up to 1 I2C device on the I2C bus which is on 170 Method 3: Probe an I2C bus for certain devices [all …]
|
| 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 21 a subset of I2C protocols and signaling. Many I2C devices will work on an 27 Because the SMBus is mostly a subset of the generalized I2C bus, we can 29 meet both SMBus and I2C electrical constraints; and others which can't 40 :alt: Simple I2C bus with one master and 3 slaves 42 Simple I2C bus [all …]
|
| A D | i2c-topology.rst | 2 I2C muxes and complex topologies 5 There are a couple of reasons for building more complex I2C topologies 27 an I2C transfer on one of its child adapters. The mux driver can 48 same I2C root adapter that they mux. 112 number (one, in most cases) of I2C transfers. Unrelated I2C transfers 115 ML4. If any non-I2C operation in the mux driver changes the I2C mux state, 119 the non-I2C mux-changing operation. 140 1. Someone issues an I2C transfer to D1. 147 normal I2C transfer that locks the parent adapter. 200 1. Someone issues an I2C transfer to D1. [all …]
|
| /linux/drivers/i2c/ |
| A D | Kconfig | 3 # I2C subsystem configuration 6 menu "I2C support" 8 config I2C config 9 tristate "I2C support" 30 depends on I2C=y && ACPI 37 if I2C 52 tristate "I2C device interface" 78 Some I2C bus drivers require so-called "I2C algorithm" modules 114 bool "I2C slave support" 116 This enables Linux to act as an I2C slave device. Note that your I2C [all …]
|
| /linux/sound/soc/codecs/ |
| A D | Kconfig | 8 default m if I2C=m 9 default y if I2C=y 375 depends on I2C 395 depends on I2C 407 depends on I2C 412 depends on I2C 426 depends on I2C 442 depends on I2C 463 depends on I2C 487 depends on I2C [all …]
|
| /linux/Documentation/devicetree/bindings/i2c/ |
| A D | nvidia,tegra20-i2c.txt | 1 NVIDIA Tegra20/Tegra30/Tegra114 I2C controller driver. 10 nvidia,tegra20-i2c-dvc: Tegra20 has specific I2C controller called as DVC I2C 13 controller. Driver of DVC I2C controller is only compatible with 17 support master mode of I2C communication. Driver of I2C controller is 22 as per I2C core API transfer flags. Driver of I2C controller is 27 very much similar to Tegra30 I2C controller with some hardware 31 hence clock mechanism is changed in I2C controller. 41 of the regular I2C controllers with a few exceptions. The I2C registers 45 - interrupts: Should contain I2C controller interrupts. 46 - address-cells: Address cells for I2C device address. [all …]
|
| A D | i2c-mux-gpmux.yaml | 7 title: General Purpose I2C Bus Mux 13 This binding describes an I2C bus multiplexer that uses a mux controller 14 from the mux subsystem to route the I2C signals. 22 | | I2C |-|--| Mux | 42 The phandle of the I2C bus that this multiplexer's master-side port is 48 The mux-controller states are the I2C sub-bus numbers. 53 Explicitly allow unrelated I2C transactions on the parent I2C adapter at 56 - between setup of the multiplexer and the child bus I2C transaction 60 However, I2C transactions to devices behind all I2C multiplexers connected 65 This means that no unrelated I2C transactions are allowed on the parent I2C [all …]
|
| 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
|
| 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: Constains 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
|
| 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 …]
|
| /linux/drivers/i2c/muxes/ |
| A D | Kconfig | 3 # Multiplexer I2C chip drivers configuration 6 menu "Multiplexer I2C Chip support" 10 tristate "GPIO-based I2C arbitration" 23 tristate "GPIO-based I2C multiplexer" 35 tristate "General Purpose I2C multiplexer" 48 tristate "LTC LTC4306/5 I2C multiplexer" 59 tristate "NXP PCA9541 I2C Master Selector" 62 I2C Master Selector. 72 and PCA984x I2C mux/switch devices. 78 tristate "pinctrl-based I2C multiplexer" [all …]
|
| /linux/drivers/i2c/busses/ |
| A D | Kconfig | 6 menu "I2C Hardware Bus support" 86 MP2 PCIe I2C adapter. 298 82C586B I2C interface 386 Aspeed I2C controller. 909 Support I2C slave mode communications on the PXA I2C bus. This 911 I2C bus. 1090 This I2C driver is a 'virtual' I2C driver. The real driver is part 1190 R-Car I2C controller. 1329 This exposes the Mellanox platform I2C busses to the linux I2C layer 1372 co-processor. The I2C device access the I2C bus via the X-Gene [all …]
|
| /linux/drivers/media/dvb-frontends/ |
| A D | Kconfig | 16 depends on DVB_CORE && I2C 24 depends on DVB_CORE && I2C 32 depends on DVB_CORE && I2C 40 depends on DVB_CORE && I2C 49 depends on DVB_CORE && I2C 56 depends on DVB_CORE && I2C 65 depends on DVB_CORE && I2C 85 depends on DVB_CORE && I2C 94 depends on DVB_CORE && I2C 103 depends on DVB_CORE && I2C [all …]
|
| /linux/Documentation/devicetree/bindings/ |
| A D | trivial-devices.yaml | 82 # Devantech SRF02 ultrasonic ranger in I2C mode 92 # DMARD05: 3-axis I2C Accelerometer 94 # DMARD06: 3-axis I2C Accelerometer 96 # DMARD05: 3-axis I2C Accelerometer 130 # Infineon TLV493D-A1B6 I2C 3D Magnetic Sensor 154 # Temperature Sensor, I2C interface 164 # PECI-to-I2C translator for PECI-to-SMBus/I2C protocol conversion 214 # Microchip 7-bit Single I2C Digital POT (5k) 250 # I2C TEMP SENSOR 282 # Sensirion gas sensor with I2C interface [all …]
|
| /linux/drivers/media/tuners/ |
| A D | Kconfig | 28 depends on MEDIA_SUPPORT && I2C 36 depends on MEDIA_SUPPORT && I2C 43 depends on MEDIA_SUPPORT && I2C 52 depends on MEDIA_SUPPORT && I2C 59 depends on MEDIA_SUPPORT && I2C 66 depends on MEDIA_SUPPORT && I2C 74 depends on MEDIA_SUPPORT && I2C 81 depends on MEDIA_SUPPORT && I2C 95 depends on MEDIA_SUPPORT && I2C 102 depends on MEDIA_SUPPORT && I2C [all …]
|
| /linux/Documentation/devicetree/bindings/rtc/ |
| A D | trivial-rtc.yaml | 33 # I2C-BUS INTERFACE REAL TIME CLOCK MODULE 35 # I2C-BUS INTERFACE REAL TIME CLOCK MODULE 40 # I2C-BUS INTERFACE REAL TIME CLOCK MODULE 48 # Real Time Clock Module with I2C-Bus 50 # Real Time Clock Module with I2C-Bus 58 # I2C bus SERIAL INTERFACE REAL-TIME CLOCK IC 60 # I2C bus SERIAL INTERFACE REAL-TIME CLOCK IC 62 # I2C bus SERIAL INTERFACE REAL-TIME CLOCK IC 64 # I2C bus SERIAL INTERFACE REAL-TIME CLOCK IC 66 # I2C bus SERIAL INTERFACE REAL-TIME CLOCK IC [all …]
|
| /linux/drivers/media/i2c/ |
| A D | Kconfig | 13 depends on I2C && RC_CORE 39 depends on VIDEO_V4L2 && I2C 51 depends on VIDEO_V4L2 && I2C 60 depends on I2C 84 depends on I2C 93 depends on I2C 538 depends on I2C 548 depends on I2C 594 depends on I2C 1332 depends on I2C [all …]
|
| /linux/drivers/iio/chemical/ |
| A D | Kconfig | 10 depends on I2C 27 depends on I2C 38 depends on (I2C || SPI) 61 depends on I2C 70 depends on I2C 125 depends on I2C 136 depends on I2C 149 depends on I2C 165 depends on I2C 188 depends on I2C [all …]
|
| /linux/Documentation/driver-api/ |
| 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 30 systems are also I2C conformant. The electrical constraints are tighter 33 SMBus controllers don't support all the protocol options that an I2C 35 operations, either using I2C primitives or by issuing SMBus commands to [all …]
|
| /linux/drivers/iio/pressure/ |
| A D | Kconfig | 11 depends on I2C 37 depends on I2C 58 depends on I2C 70 depends on I2C 94 depends on I2C 105 depends on I2C 119 depends on I2C 141 depends on I2C 182 depends on I2C 224 depends on I2C [all …]
|
| /linux/Documentation/devicetree/bindings/i3c/ |
| A D | i3c.yaml | 15 and a set of child nodes for each I2C or I3C slave on the bus. Each of them 35 this I3C device has a static I2C address and we want to assign it a 53 I2C devices described in the device tree to determine the maximum I2C 66 I2C child, should be named: <device-type>@<i2c-address> 74 Compatible of the I2C device. 89 bit[7:5]: I2C device index. Possible values: 90 * 0: I2C device has a 50 ns spike filter 118 not have one (0 is not a valid I2C address). 159 /* I2C device. */ 166 /* I3C device with a static I2C address. */ [all …]
|
| /linux/drivers/iio/accel/ |
| A D | Kconfig | 38 depends on I2C 68 depends on I2C 98 depends on I2C 144 depends on I2C 246 depends on I2C 256 depends on I2C 267 depends on I2C 277 depends on I2C 287 depends on I2C 297 depends on I2C || !I2C # cannot be built-in for modular I2C [all …]
|
| /linux/drivers/iio/magnetometer/ |
| A D | Kconfig | 11 depends on I2C 25 depends on I2C 38 depends on I2C 51 depends on I2C 56 I2C interface. 85 depends on I2C 108 depends on I2C 120 select IIO_ST_MAGN_I2C_3AXIS if (I2C) 152 depends on I2C 185 depends on I2C [all …]
|
| /linux/drivers/iio/light/ |
| A D | Kconfig | 27 depends on I2C 38 depends on I2C 48 depends on I2C 58 depends on I2C 68 depends on I2C 81 depends on I2C 91 depends on I2C 106 depends on I2C 116 depends on I2C 125 depends on I2C [all …]
|