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