The i82801ix_early_init is now called both in the bootblock and romstage. The rationale behind setting this up twice is to ensure bootblock-romstage compatibility in the future if for instance VBOOT is used. This moves the console init to the bootblock. The romstage now runs uncached. Adding a prog_run hooks to set up an MTRR to cache the romstage will be done in a followup patch. The default size of 64KiB is not modified for the bootblock as trying to fit both EHCI and SPI flash debugging needs a more space and 64KiB is the next power of 2 size that fits it. TESTED on Thinkpad X200. Change-Id: I8f59736cb54377973215f35e35d2cbcd1d82c374 Signed-off-by: Arthur Heymans <arthur@aheymans.xyz> Reviewed-on: https://review.coreboot.org/c/coreboot/+/35992 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Nico Huber <nico.h@gmx.de>
38 lines
1007 B
C
38 lines
1007 B
C
/*
|
|
* This file is part of the coreboot project.
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public License as
|
|
* published by the Free Software Foundation; version 2 of
|
|
* the License.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*/
|
|
|
|
#include <console/console.h>
|
|
#include <bootblock_common.h>
|
|
#include "dock.h"
|
|
|
|
static int dock_err;
|
|
|
|
void bootblock_mainboard_early_init(void)
|
|
{
|
|
/* Minimal setup to detect dock */
|
|
dock_err = pc87382_early();
|
|
if (dock_err == 0)
|
|
dock_connect();
|
|
}
|
|
|
|
void bootblock_mainboard_init(void)
|
|
{
|
|
/* Console is not yet initialized in bootblock_mainboard_early_init,
|
|
so we print the dock information here */
|
|
if (dock_err)
|
|
printk(BIOS_ERR, "DOCK: Failed to init pc87382\n");
|
|
else
|
|
dock_info();
|
|
}
|