FreeBSD sees only one I2C device, while Linux sees two.

Gleb Popov arrowd at freebsd.org
Tue May 7 20:44:45 UTC 2019


I'm running Linux and FreeBSD on ASUS ROG GL553VE notebook.

On Linux I have following entries in lspci output:

00:15.0 Signal processing controller: Intel Corporation 100 Series/C230
Series Chipset Family Serial IO I2C Controller #0 (rev 31)
    Subsystem: ASUSTeK Computer Inc. 100 Series/C230 Series Chipset Family
Serial IO I2C Controller
    Flags: bus master, fast devsel, latency 0, IRQ 16
    Memory at df42e000 (64-bit, non-prefetchable) [size=4K]
    Capabilities: <access denied>
    Kernel driver in use: intel-lpss
    Kernel modules: intel_lpss_pci

00:1f.4 SMBus: Intel Corporation 100 Series/C230 Series Chipset Family
SMBus (rev 31)
    Subsystem: ASUSTeK Computer Inc. 100 Series/C230 Series Chipset Family
SMBus
    Flags: medium devsel, IRQ 16
    Memory at df42a000 (64-bit, non-prefetchable) [size=256]
    I/O ports at f040 [size=32]
    Kernel driver in use: i801_smbus
    Kernel modules: i2c_i801

Running i2c-detect utility from i2c-tools package returns

i2c-1    i2c           Synopsys DesignWare I2C adapter     I2C adapter
i2c-0    smbus         SMBus I801 adapter at f040          SMBus adapter

However, on FreeBSD I get different picture. pciconf lists both devices:

ig4iic_pci0 at pci0:0:21:0:        class=0x118000 card=0x15e01043
chip=0xa1608086 rev=0x31 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '100 Series/C230 Series Chipset Family Serial IO I2C
Controller'
    class      = dasp

ichsmb0 at pci0:0:31:4:    class=0x0c0500 card=0x15e01043 chip=0xa1238086
rev=0x31 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '100 Series/C230 Series Chipset Family SMBus'
    class      = serial bus
    subclass   = SMBus

But there is only one /dev/iic0 device. Relevant devinfo parts:

ig4iic_pci0
          iicbus0
            iic0
            iicsmb0
              smbus1

ichsmb0
          smbus0

Is there something missing in the kernel, or I'm just doing something wrong?

Thanks in advance.


More information about the freebsd-hackers mailing list