[LinuxBIOS] MCP55 LinuxBIOS with USB debug

Lu, Yinghai yinghai.lu at amd.com
Tue Jan 23 18:04:50 CET 2007


If you have smbus hub,

 

You may need to use

smbus_send_byte(hub_address, hub_channel);

or

smbus_write_byte(hub_address, hub_channel);

 

the code is same as CK804's, and the code is verified with Tyan S4881
and 4885.

 

For PCA9556/PCA9516

 

static inline void activate_spd_rom(const struct mem_controller *ctrl)

{

#define SMBUS_HUB 0x18

            unsigned device=(ctrl->channel0[0])>>8;

            smbus_write_byte(SMBUS_HUB, 0x01, device);

            smbus_write_byte(SMBUS_HUB,0x03, 0);

 

}

 

YH

 

________________________________

From: linuxbios-bounces at linuxbios.org
[mailto:linuxbios-bounces at linuxbios.org] On Behalf Of bxshi
Sent: Monday, January 22, 2007 11:04 PM
To: yinghailu at gmail.com
Cc: linuxbios at linuxbios.org
Subject: Re: [LinuxBIOS] MCP55 LinuxBIOS with USB debug

 

Dr. Lu,

In mcp55_smbus.h

static int do_smbus_send_byte(unsigned smbus_io_base, unsigned device,
unsigned char val)
{

    .....

       outb(0, smbus_io_base + SMBHSTCMD);

    .....

}

 

I wonder why you write 0 to SMBHSTCMD ?  if we are using a smbus_hub , I
think we should write the channel number  we want to enable to this
register. for example , if my memory controller is on channel 2 , we
should write  outb(2,smbus_io_base+SMBHSTCMD). 

So could that be changed to    outb(val,smbus_io_base + SMBHSTCMD) ?

 

Thanks

bxshi

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20070123/1ca6b5b5/attachment.html>


More information about the coreboot mailing list