Joseph Smith wrote:
> Quoting Joseph Smith <[EMAIL PROTECTED]>:
>
>> Quoting Corey Osgood <[EMAIL PROTECTED]>:
>>
>>>
>>> Can you do me a favor and check that
>>> the smbus device is located at device 0x1f (ie 31) function 3?
>>
>> Yep datasheet says SMBus Controller - Bus 0:Device 31:Function 3
>>
> So, I tried the
>     dump_spd_registers(&memctrl[0]);
>     dump_smbus_registers();
> from debug.c and here is the results:
> -----------------
> LinuxBIOS-2.0.0.0Fallback Sat Aug 11 21:37:10 EDT 2007 starting...
>
> dimm: 00.0: 50
> 00: bad device
>
> dimm: 01.0: 51
> 00: bad device
>
>
> smbus: 69
> ----------------
>
> HELP???
>
> Thanks - Joe
>

In the attached debug.c is probe_spd_rom(). If your device has spd, it
should be able to find it. You can use the whole file and #include it
into the southbridge or mainboard or even northbridge code, or just copy
and paste it into somewhere else. Call it whereever you called
dump_spd_registers from. Note that it's not magic (yet), it won't
actually use found spd locations, you'll have to do that manually. Also,
what make/model is your dimm and board (I know you've told me, but my
memory is terrible)? The datasheets may have more info, if they're
available.

-Corey
static void probe_spd_rom(void)
{
	int i, status;
	print_debug("\r\n");
	for(i = 0; i < 256; i++) {
		status = smbus_read_byte(i, 0);
		if (status < 0) {
			print_debug("bad device\r\n");
			break;
		} else {
			print_debug("SPD located at 0x");
			print_debug_hex8(i);
			print_debug("\r\n");
		}
	}
}
-- 
linuxbios mailing list
[email protected]
http://www.linuxbios.org/mailman/listinfo/linuxbios

Reply via email to