Re: SMBus controller

From: Doug Ambrisko <ambrisko_at_ambrisko.com>
Date: Wed, 25 Jun 2014 15:42:41 -0700
On Sat, Jun 14, 2014 at 04:48:30PM -0700, Sean Bruno wrote:
| On Sat, 2014-06-14 at 17:25 -0600, Warner Losh wrote:
| > On Jun 14, 2014, at 4:43 PM, Sean Bruno <sbruno_at_ignoranthack.me> wrote:
| > 
| > > On Sat, 2014-06-14 at 12:08 -0700, Sean Bruno wrote: 
| > >> I note that my TLenovo 61 has one of these:
| > >> 
| > >> ichsmb0_at_pci0:0:31:3:	class=0x0c0500 card=0x20a917aa chip=0x283e8086
| > >> rev=0x03 hdr=0x00
| > >>    vendor     = 'Intel Corporation'
| > >>    device     = '82801H (ICH8 Family) SMBus Controller'
| > >>    class      = serial bus
| > >>    subclass   = SMBus
| > >> 
| > >> 
| > > 
| > > So, there's something broken in the initialization of the driver and the
| > > driver dependencies here.
| > > 
| > > If I load "smb.ko" by itself, no other modules are loaded (ichsmb,
| > > smbus).  Should it?
| > 
| > I don't think so. If I kldload pci, would you expect most of the 
| > drivers in the system to be loaded?
| 
| Heck if I know.  :-)  
| 
| I would suspect that of the three, ichsmb, smbus or smb, one of these
| should cause the other two to be loaded.  This is not the case.

... catching up on email

I wouldn't since these act at various levels.  ichsmb is the HW interface
of which there are different HW interfaces.  Then you want the
generic stack on that.  You might want a user land interface.  There are
kernel consumers like IPMI SSIF and other things that have been done
at companies.  So wouldn't expect loading smb to load a i2c printer
port bit banger driver of which is wrong for that HW.

One word of warning is that it appears ACPI has methods to talk to the
i2c bus.  I've been concerned that there could be fights between ACPI
accessing stuff and FreeBSD native drivers.  On the HW that I have
used this stuff, it wasn't a problem.  I'd be a little concerned on
a laptop since a lot of things can be tied to a i2c bus that ACPI
wants to talk to.  On a server/desktop I haven't run into that problem.
I've noticed there seem to be i2c buses for displays which seems to be
separate.

I've made i2c interface to machines via PCI slots or soldered 
wires onto DIMMs.  Some motherboard have i2c headers.  It's easily
hackable to add widgets to HW that way since there are so many i2c
widgets out there.

Doug A.
Received on Wed Jun 25 2014 - 20:42:49 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:50 UTC