RX680R I2C Linux Guide
=
### 1. I2C Header of [RX680R](https://www.bcmcom.com/bcm_product_RX680R.html)
|Pin |Function |
| :---: | :---: |
|1 |+3V_DUAL |
|2 |I2C1_SCL |
|3 |I2C1_SDA |
|4 |GND |
### 2. Linux Driver support
Debian 12.5 kernel 6.1.76, [drivers/mfd/intel-lpss-pci.c](https://elixir.bootlin.com/linux/v6.1.76/source/drivers/mfd/intel-lpss-pci.c#L427)
```clike=
{ PCI_VDEVICE(INTEL, 0x7acc), (kernel_ulong_t)&bxt_i2c_info },
{ PCI_VDEVICE(INTEL, 0x7acd), (kernel_ulong_t)&bxt_i2c_info },
{ PCI_VDEVICE(INTEL, 0x7ace), (kernel_ulong_t)&bxt_i2c_info },
{ PCI_VDEVICE(INTEL, 0x7acf), (kernel_ulong_t)&bxt_i2c_info },
{ PCI_VDEVICE(INTEL, 0x7afc), (kernel_ulong_t)&bxt_i2c_info },
{ PCI_VDEVICE(INTEL, 0x7afd), (kernel_ulong_t)&bxt_i2c_info },
```
Check driver status:
```bash=
lsmod | grep lpss
intel_lpss_pci 28672 2
intel_lpss 16384 1 intel_lpss_pci
```
### 3. Use i2c-tools to check
#### Install i2c-tools
```bash=
apt install i2c_tools
```
#### Load i2c_dev driver
```bash=
/usr/sbin/modprobe i2c-dev
lsmod | grep i2c
i2c_dev 24576 0
i2c_algo_bit 16384 1 i915
i2c_i801 36864 0
i2c_smbus 20480 1 i2c_i801
```
#### List all I2C interfaces
```bash=
/usr/sbin/i2cdetect -l
i2c-0 smbus SMBus I801 adapter at efa0 SMBus adapter
i2c-1 i2c Synopsys DesignWare I2C adapter I2C adapter
i2c-2 i2c Synopsys DesignWare I2C adapter I2C adapter
i2c-3 i2c Synopsys DesignWare I2C adapter I2C adapter
i2c-4 i2c Synopsys DesignWare I2C adapter I2C adapter
i2c-5 i2c Synopsys DesignWare I2C adapter I2C adapter
i2c-6 i2c Synopsys DesignWare I2C adapter I2C adapter
i2c-7 i2c i915 gmbus dpa I2C adapter
i2c-8 i2c i915 gmbus dpb I2C adapter
i2c-9 i2c i915 gmbus dpc I2C adapter
i2c-10 i2c i915 gmbus tc1 I2C adapter
i2c-11 i2c i915 gmbus tc2 I2C adapter
i2c-12 i2c i915 gmbus tc3 I2C adapter
i2c-13 i2c i915 gmbus tc4 I2C adapter
i2c-14 i2c i915 gmbus tc5 I2C adapter
i2c-15 i2c i915 gmbus tc6 I2C adapter
i2c-16 i2c AUX USBC1/DDI TC1/PHY B I2C adapter
i2c-17 i2c AUX USBC2/DDI TC2/PHY C I2C adapter
i2c-18 i2c AUX USBC3/DDI TC3/PHY D I2C adapter
i2c-19 i2c AUX USBC4/DDI TC4/PHY E I2C adapter
```
#### Detect I2C1 (i2c-2)
```bash=
/usr/sbin/i2cdetect -y -r 2
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
```
* Since there is no I2C device connected, I have verified the waveform using an oscilloscope.