[coreboot] ram init help on the i82830

Joseph Smith joe at settoplinux.org
Thu May 29 16:35:09 CEST 2008


Ok, I adapted the E7501 code, I think this will work great. I will test
tonight, and get back.

	dimm_start = 0;

	for (i = 0; i < DIMM_SOCKETS; ++i) {
		if (i == 0) {
			dimm_end = pci_read_config8(ctrl->d0, DRB + 1);
		} else if (i == 1) {
			dimm_end = pci_read_config8(ctrl->d0, DRB + 3);
		}

		if (dimm_end > dimm_start) {

			/* Convert to a 32 bit address. NOTE: 2^25 == 32 MB */
			dimm_start_address = dimm_start << 25;

			RAM_DEBUG_MESSAGE("    Sending RAM command to 0x");
			RAM_DEBUG_HEX32(dimm_start_address + addr_offset);
			RAM_DEBUG_MESSAGE("\r\n");
			read32(dimm_start_address + addr_offset);

			/* Set the start of the next DIMM. */
			dimm_start = dimm_end;
		}
	}

-- 
Thanks,
Joseph Smith
Set-Top-Linux
www.settoplinux.org





More information about the coreboot mailing list