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

Andriy Gapon avg at FreeBSD.org
Wed May 8 06:37:10 UTC 2019


On 07/05/2019 22:04, Gleb Popov wrote:
> 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?

One is an I2C controller, the other is an SMBus controller (SMBus being a sort
of a subset of I2C).  That's why you have iicbus0 and smbus0.  All hardware is
visible.  It seems that you do not have smb(4) driver and, thus, there is no
/dev/smbX.

-- 
Andriy Gapon


More information about the freebsd-hackers mailing list