Subject: Re: New i2c framework
To: None <tech-kern@netbsd.org>
From: Greg A. Woods <woods@weird.com>
List: tech-kern
Date: 02/20/2002 03:47:14
[ On Tuesday, February 19, 2002 at 15:51:51 (-0800), Jonathan Stone wrote: ]
> Subject: Re: New i2c framework 
>
> If we want to support i2c devices attached via various x86-world SMB
> interfaces like PIIX4, or Serverworks OSB4 or CSB5 (Acer?) then our
> ``machine independent'' i2c interface has to support accessing i2c
> devices which are wired up via these "smart" SMBus controllers.
> That's where the proposed interface loses.

Hmmm.... from what I know of existing platforms, such as those mentioned
above, you don't actually use i2c level access to get at i2c devices
behind SMBus controllers -- you use only the high-level interfaces in
the BMC to access them (i.e. the Intelligent Platform Mangement
Interface Specification).  Trying to understand and go at the i2c
devices directly is like writing your own BIOS for every motherboard you
hope to support.  Indeed in the IPMI spec all the i2c buses are listed
as "private".  Even the IPMB (which is itself an i2c bus) is "private".
You can't directly address it from the system CPU -- only the BMC is
supposed to have direct access to it.

In other words a plain simple straight i2c interface is always going to
be useful for instances where all you have is an i2c bus.

However when you have an SMBus you probably only want to talk to SMBus
devices, not any i2c devices that may be front-ended by them

And when you have a BMC you only talk to it, never directly to any of
the SMBus or i2c devices it manages.  Now there is a master write/read
I2C command in the IPMI BMC system messaging interface, which
essentially turns the BMC into a smart i2c controller for the IPMB and
gives direct i2c-level access to the devices on that bus.  The IPMI spec
alludes though that this access is only really there to allow
programming of FRU SEEPROMs and the like.

BTW, I have a freely obtained copy of the IPMI spec.  It has a stupid
NDA at the front, but I didn't sign anything -- I just anonymously FTPed
it directly from Intel's server.  They probably don't think I should
have it, and obviously I can't redistribute it, but as far as I know
anyone and everyone could have obtained their own copies directly too....

I don't know if the system/BMC interface specification is freely
available or not (though I suspect not).  That's really all anyone
interested in supporting the likes of ServerWorks-based motherboards
needs to have to write the necessary systems management software....

-- 
								Greg A. Woods

+1 416 218-0098;  <gwoods@acm.org>;  <g.a.woods@ieee.org>;  <woods@robohack.ca>
Planix, Inc. <woods@planix.com>; VE3TCP; Secrets of the Weird <woods@weird.com>