PCI quirk

Igor Pokrovsky igor.pokrovsky at cnrm.meteo.fr
Wed Aug 20 00:37:15 PDT 2003


On Mon, Aug 18, 2003 at 04:18:52PM +0200, Igor Pokrovsky wrote:
> On Mon, Aug 18, 2003 at 03:12:17PM +0100, Bruce M Simpson wrote:
> > On Mon, Aug 18, 2003 at 02:48:41PM +0200, Igor Pokrovsky wrote:
> > > Hello all,
> > > 
> > > I'd like to add a PCI quirk, which will enable SMBus on boot
> > > (it gets disabled by BIOS). What is the best place in kernel
> > > to do this? I looked through PCI sources, but haven't found
> > > any suitable place for that (not like in USB case).
> > 
> > This sounds like perhaps you need to add a patch tied to your southbridge.
> > 
> > Generally the SMBus interface hangs off the southbridge or a power management
> > controller. But you haven't told us which one, so any advice we may be able
> > to give you is largely academic.
> > 
> > Do you know the PCI ID of the *function* that implements the SMBus interface
> > in your system? If so, grep through the kernel source and find which driver
> > is attached to it, if any. If not, pciconf -lv is a good place to start.
> 
> Yes, I have all information.
> 
> I need to do the similar thing in kernel:
> pciconf -w -h pci0:31:0 0xf2 0
> 
> Generally according to datashit I have to turn off zero and third bits of 0xf2,
> but in fact zeroing whole 2 bytes of 0xf2 works also. And I'm searching for a
> right place to add this.

Just add-on to my last post.
I found probably correct way to enable SMBus, but I still don't know where to
add the following code:

	pcicfgregs p = {-1, 0, 31, 0};
        pci_cfgwrite(&probe, 0xf2, 0, 2);

Is there any gurus around?

-ip

-- 
"It's Like This"

Even the samurai
have teddy bears,
and even the teddy bears
get drunk.



More information about the freebsd-hackers mailing list