[LinuxBIOS] Can't use SMBus of esb6300
thomas.jourdan at gmail.com
Thu Sep 14 09:19:44 CEST 2006
I am doing a port of linuxbios on an intel evaluation board
(pentium-m, i855gme, esb6300). I'm trying to initialize my memory but
for this I need the smbus and I can not get it working.
First of all, in the file esb6300_early_smbus.c, function enable_smbus() :
/* SMBALERT_DIS */
pci_write_config8(dev, 0x11, 4);
Shouldn't this be (according to the datasheet of esb6300, page 521) :
outb(0x04, SMBUS_IO_BASE + 0x11)
Always in enable_smbus(), after power on, bit 0 (host busy) of host
status register is 1. Even just after the smbus controller has been
enabled (and no command issued). According to the datasheet, it should
be 0. But if I reboot the board, this time this is OK, the host busy
bit is 0. Does someone has an explanation ?
Last point, when I try to dump SPD registers, I get on the first time
SMBUS_WAIT_UNTIL_DONE_TIMEOUT, and on the second dimm
SMBUS_WAIT_UNTIL_READY_TIMEOUT. I do not manage to read spd registers,
neither configure my ram.
Do you have any idea ?
More information about the coreboot