[LinuxBIOS] MCP55 LinuxBIOS with USB debug

Lu, Yinghai yinghai.lu at amd.com
Wed Jan 24 02:16:50 CET 2007


Maybe Nvidia fixed the bug in mcp55. AMD8111 is using DAT0...

 

It should use SMBHDTCMD for val with send/receive byte.

 

Serverworks chipset already use CMD.

 

 

YH

 

________________________________

From: linuxbios-bounces at linuxbios.org
[mailto:linuxbios-bounces at linuxbios.org] On Behalf Of bxshi
Sent: Tuesday, January 23, 2007 5:08 PM
To: Lu, Yinghai
Cc: linuxbios at linuxbios.org
Subject: Re: [LinuxBIOS] MCP55 LinuxBIOS with USB debug

 

	 

	You may need to use

	smbus_send_byte(hub_address, hub_channel);

	or

	smbus_write_byte(hub_address, hub_channel);

	 

 

smbus_write_byte may need three parametres, smbus_write_byte(device
,address ,val).

for PCA9545 to enable one channel need four steps ,

 

1. outb(hub_address, base_io+02)

2. outb(hub_channel, base_io +03)

3. outb(0x04, base_io + 00)

4. test  inb(base_io+01)   

 

it is a little different from PCA9556/PCA9557. as I look at the code ,
use smbus_write_byte may not make pca9545 work . 

use smbus_send_byte(device,val) , I get the output:

 

No memory for this cpu

No memory

 

so I change below

outb(val, smbus_io_base + SMBHSTCMD);

then everything works fine.

so I think smbus_send_byte(device,val) ,device should be the HUB_ADDRESS
, and val is the HUB_CHANNEL. is it right?

 

bxshi

 

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


More information about the coreboot mailing list