Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 8 May 2019 09:37:04 +0300
From:      Andriy Gapon <avg@FreeBSD.org>
To:        Gleb Popov <arrowd@freebsd.org>, freebsd-hackers <freebsd-hackers@freebsd.org>
Subject:   Re: FreeBSD sees only one I2C device, while Linux sees two.
Message-ID:  <dbab2aec-a221-65c3-ab5e-f9e0f3365dc4@FreeBSD.org>
In-Reply-To: <CALH631=nWt46FRb7RRZgXFfPioOWbA9LSGWykOs5Viyp7BNhkQ@mail.gmail.com>
References:  <CALH631=nWt46FRb7RRZgXFfPioOWbA9LSGWykOs5Viyp7BNhkQ@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 07/05/2019 22:04, Gleb Popov wrote:
> However, on FreeBSD I get different picture. pciconf lists both devices:
> 
> ig4iic_pci0@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@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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?dbab2aec-a221-65c3-ab5e-f9e0f3365dc4>