Home
last modified time | relevance | path

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

12345678910>>...48

/linux-6.6.21/Documentation/i2c/
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 …]
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 …]
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 `"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 …]
/linux-6.6.21/drivers/i2c/
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-6.6.21/drivers/i2c/muxes/
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-6.6.21/sound/soc/codecs/
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
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 …]
/linux-6.6.21/Documentation/devicetree/bindings/i2c/
Dnvidia,tegra20-i2c.yaml11 title: NVIDIA Tegra I2C controller driver
16 - description: Tegra20 has 4 generic I2C controller. This can support
17 master and slave mode of I2C communication. The i2c-tegra driver
18 only support master mode of I2C communication. Driver of I2C
21 - description: Tegra20 has specific I2C controller called as DVC I2C
22 controller. This only support master mode of I2C communication.
24 generic I2C controller. Driver of DVC I2C controller is only
28 Tegra30 has 5 generic I2C controller. This controller is very much
29 similar to Tegra20 I2C controller with additional feature: Continue
31 I2C core API transfer flags. Driver of I2C controller is compatible
[all …]
Di2c-mux-gpmux.yaml7 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 |
41 The phandle of the I2C bus that this multiplexer's master-side port is
47 The mux-controller states are the I2C sub-bus numbers.
52 Explicitly allow unrelated I2C transactions on the parent I2C adapter at
55 - between setup of the multiplexer and the child bus I2C transaction
56 - between the child bus I2C transaction and releasing of the multiplexer
59 However, I2C transactions to devices behind all I2C multiplexers connected
[all …]
Di2c-sprd.txt1 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
Dnvidia,tegra186-bpmp-i2c.yaml7 title: NVIDIA Tegra186 (and later) BPMP I2C controller
15 owns certain HW devices, such as the I2C controller for the power
16 management I2C bus. Software running on other CPUs must perform IPC to
17 the BPMP in order to execute transactions on that I2C bus. This
18 binding describes an I2C bus that is accessed in such a fashion.
20 The BPMP I2C node must be located directly inside the main BPMP node.
24 This node represents an I2C controller. See ../i2c/i2c.txt for details
25 of the core I2C binding.
33 description: Indicates the I2C bus number this DT node represents,
Di2c-demux-pinctrl.txt1 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-6.6.21/drivers/i2c/busses/
DKconfig6 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 …]
/linux-6.6.21/drivers/media/tuners/
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-6.6.21/drivers/media/dvb-frontends/
DKconfig16 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-6.6.21/Documentation/devicetree/bindings/rtc/
Dtrivial-rtc.yaml23 # AB-RTCMC-32.768kHz-B5ZE-S3: Real Time Clock/Calendar Module with I2C Interface
25 # AB-RTCMC-32.768kHz-EOZ9: Real Time Clock/Calendar Module with I2C Interface
27 # I2C, 32-Bit Binary Counter Watchdog RTC with Trickle Charger and Reset Input/Output
35 # I2C-BUS INTERFACE REAL TIME CLOCK MODULE
37 # I2C-BUS INTERFACE REAL TIME CLOCK MODULE
40 # I2C-BUS INTERFACE REAL TIME CLOCK MODULE with Battery Backed RAM
42 # I2C-BUS INTERFACE REAL TIME CLOCK MODULE
48 # Real Time Clock Module with I2C-Bus
54 # I2C bus SERIAL INTERFACE REAL-TIME CLOCK IC
56 # I2C bus SERIAL INTERFACE REAL-TIME CLOCK IC
[all …]
/linux-6.6.21/Documentation/devicetree/bindings/
Dtrivial-devices.yaml7 title: Trivial I2C and SPI devices
13 This is a list of trivial I2C and SPI devices that have simple device tree
34 … # SMBus/I2C Digital Temperature Sensor in 6-Pin SOT with SMBus Alert and Over Temperature Pin
92 # Devantech SRF02 ultrasonic ranger in I2C mode
102 # DMARD05: 3-axis I2C Accelerometer
104 # DMARD06: 3-axis I2C Accelerometer
106 # DMARD05: 3-axis I2C Accelerometer
148 # Infineon SLB9635 (Soft-) I2C TPM (old protocol, max 100khz)
150 # Infineon SLB9645 I2C TPM (new protocol, max 400khz)
152 # Infineon SLB9673 I2C TPM 2.0
[all …]
/linux-6.6.21/drivers/iio/chemical/
DKconfig10 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 …]
/linux-6.6.21/Documentation/driver-api/
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-6.6.21/drivers/iio/pressure/
DKconfig11 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 …]
/linux-6.6.21/drivers/iio/accel/
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
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 …]
/linux-6.6.21/Documentation/devicetree/bindings/i3c/
Di3c.yaml15 and a set of child nodes for each I2C or I3C slave on the bus. Each of them
25 Each I2C device connected to the bus should be described in a subnode.
35 this I3C device has a static I2C address and we want to assign it a
51 Frequency of the SCL signal used for I2C transfers. When undefined, the
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.
80 I2C address. 10 bit addressing is not supported. Devices with
89 bit[7:5]: I2C device index. Possible values:
90 * 0: I2C device has a 50 ns spike filter
[all …]
/linux-6.6.21/drivers/iio/magnetometer/
DKconfig11 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 …]
/linux-6.6.21/Documentation/hwmon/
Dlm90.rst10 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 …]
/linux-6.6.21/drivers/i2c/algos/
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-6.6.21/Documentation/i2c/busses/
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

12345678910>>...48