Fix i945 based boards
- prevent GCC from inlining do_ram_command - it will break RAM initialization. - fix the PCIRST# mechanism in those boards that do it, it requires 200ms, not 200us - move PCIRST# as early as possible (before ich7_enable_lpc) Signed-off-by: Stefan Reinauer <stepan@coresystems.de> Acked-by: Corey Osgood <corey.osgood@gmail.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5740 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
parent
6f22ecc2c9
commit
bc8613ecaf
|
@ -308,9 +308,8 @@ void main(unsigned long bist)
|
|||
#if 0
|
||||
/* Force PCIRST# */
|
||||
pci_write_config16(PCI_DEV(0, 0x1e, 0), BCTRL, SBR);
|
||||
udelay(200);
|
||||
udelay(200 * 1000);
|
||||
pci_write_config16(PCI_DEV(0, 0x1e, 0), BCTRL, 0);
|
||||
udelay(200);
|
||||
#endif
|
||||
|
||||
ich7_enable_lpc();
|
||||
|
|
|
@ -366,14 +366,12 @@ void main(unsigned long bist)
|
|||
enable_lapic();
|
||||
}
|
||||
|
||||
ich7_enable_lpc();
|
||||
|
||||
/* Force PCIRST# */
|
||||
pci_write_config16(PCI_DEV(0, 0x1e, 0), BCTRL, SBR);
|
||||
udelay(200);
|
||||
udelay(200 * 1000);
|
||||
pci_write_config16(PCI_DEV(0, 0x1e, 0), BCTRL, 0);
|
||||
udelay(200);
|
||||
|
||||
ich7_enable_lpc();
|
||||
early_superio_config_w83627thg();
|
||||
|
||||
/* Set up the console */
|
||||
|
|
|
@ -279,11 +279,12 @@ void main(unsigned long bist)
|
|||
enable_lapic();
|
||||
}
|
||||
|
||||
ich7_enable_lpc();
|
||||
|
||||
/* Force PCIRST# */
|
||||
pci_write_config16(PCI_DEV(0, 0x1e, 0), BCTRL, SBR);
|
||||
udelay(200 * 1000);
|
||||
pci_write_config16(PCI_DEV(0, 0x1e, 0), BCTRL, 0);
|
||||
|
||||
ich7_enable_lpc();
|
||||
early_superio_config();
|
||||
|
||||
/* Set up the console */
|
||||
|
|
|
@ -45,7 +45,7 @@
|
|||
#define RAM_EMRS_2 (0x1 << 21)
|
||||
#define RAM_EMRS_3 (0x2 << 21)
|
||||
|
||||
static void do_ram_command(u32 command)
|
||||
static __attribute__((noinline)) void do_ram_command(u32 command)
|
||||
{
|
||||
u32 reg32;
|
||||
|
||||
|
|
Loading…
Reference in New Issue