[coreboot] DL145 G1 with dual dualcore CPU using coreboot ?
Oskar Enoksson
enok at lysator.liu.se
Wed Sep 28 16:54:20 CEST 2011
Following Patricks advice I created a file
src/northbridge/amd/amdk8/bootblock.c and added the necessary config
BOOTBLOCK_NORTHBRIDGE_INIT section to src/northbridge/amd/amdk8/Kconfig.
The only thing done in my northbridge bootblock.c is calling
enumerate_ht_chain(). (I also removed that call from my mainboard's
romstage.c).
And voila ... it works.
I'm guessing that the order in which things happened was wrong -
enumerate_ht_chain must be called before amd8111_enable_rom. After
1f7d3c5672ec90f8d71907b1a07c8a87fa461047 (svn 6124) that order was reversed.
I will try to prepare a patch and submit to gerrit.
On 09/27/2011 04:46 AM, Scott Duplichan wrote:
> Peter Stuge wrote:
>
> ]> // write to AMD 8131 Link Command Register BUID field (bits 16-20)
> ]> // with value 2 so that the 8111 can be accessed:
> ]> -epcid 0 0 0 c0 00420008 // bus 0, dev 0, fun 0, reg 0xc0
> ]
> ]Is it safe to blindly write this word in
> ]src/northbridge/amd/amdfam10/bootblock.c ? I think this is what is
> ]missing.
>
> I am not sure if that is a good enough way or not. It has been
> a while since I worked with that generation chipset. This way
> also works with simnow:
>
> dev = PCI_DEV(0, 0, 0);
> byte = pci_io_read_config8(dev, 0xc2);
> byte |= 2; /* set BUID in 8131 Link Command Register */
> pci_io_write_config8(dev, 0xc2, byte);
>
> ]> // write to AMD 8111 Rom Decode Control Register and set bit 7
> ]> // to enable LPC memory decoding of the top 4MB of 4GB space:
> ]> -epcib 0 1 0 43 80 // bus 0, dev 1, fun 0, reg 0x43
> ]
> ]This is already done in src/southbridge/amd/amd8111/bootblock.c for
> ]device id 1022:7468 - is this the correct device for that board?
>
> Oh yes, you are correct. That code runs very early, just a few
> instructions after reset. Adding only the above AMD8131 write
> lets it find and program the 8111 rom decode. The weird thing
> is that in simnow, it runs all the way through then loops in
> cbfs. If I remove this line:
> byte |= (1<< 6); /* Enable 0xFFB00000-0xFFBFFFFF (1MB). */
> , then it continues. I suspect this is a simnow problem, because
> the FFB00000 range decode is needed for programming some LPC
> flash chip models.
>
> Thanks,
> Scott
>
>
More information about the coreboot
mailing list