Hudson: Changes to support agesa/hudson for legacy free

Add Kconfig option for Legacy free and hook it into the parmer
AGESA initialization as well as the FADT code. This should really
be done inside the southbridge wrapper and not in the mainboard,
but for now the code to attach it to is inside the mainboard.

Update Kconfig for parmer and thatcher to default to legacy free.

Change-Id: Ib899bd02ddc5506caae4aca2c589cc2526638cb8
Signed-off-by: Martin Roth <martin.roth@se-eng.com>
Reviewed-on: http://review.coreboot.org/2157
Tested-by: build bot (Jenkins)
Reviewed-by: Marc Jones <marcj303@gmail.com>
This commit is contained in:
Martin Roth 2013-01-16 09:07:30 -07:00
parent 0fbaf18ed4
commit eac220f8b5
6 changed files with 28 additions and 4 deletions

View File

@ -717,9 +717,12 @@ AGESA_STATUS Fch_Oem_config(UINT32 Func, UINT32 FchData, VOID *ConfigPtr)
FCH_RESET_DATA_BLOCK *FchParams = (FCH_RESET_DATA_BLOCK *)FchData; FCH_RESET_DATA_BLOCK *FchParams = (FCH_RESET_DATA_BLOCK *)FchData;
if (FchParams->StdHeader->Func == AMD_INIT_RESET) { if (FchParams->StdHeader->Func == AMD_INIT_RESET) {
//FCH_RESET_DATA_BLOCK *FchParams_reset = (FCH_RESET_DATA_BLOCK *) FchData; FCH_RESET_DATA_BLOCK *FchParams_reset = (FCH_RESET_DATA_BLOCK *) FchData;
printk(BIOS_DEBUG, "Fch OEM config in INIT RESET "); printk(BIOS_DEBUG, "Fch OEM config in INIT RESET ");
//FchParams_reset->EcChannel0 = TRUE; /* logical devicd 3 */ //FchParams_reset->EcChannel0 = TRUE; /* logical devicd 3 */
#if CONFIG_HUDSON_LEGACY_FREE
FchParams_reset->LegacyFree = 1;
#endif
} else if (FchParams->StdHeader->Func == AMD_INIT_ENV) { } else if (FchParams->StdHeader->Func == AMD_INIT_ENV) {
FCH_DATA_BLOCK *FchParams_env = (FCH_DATA_BLOCK *)FchData; FCH_DATA_BLOCK *FchParams_env = (FCH_DATA_BLOCK *)FchData;
printk(BIOS_DEBUG, "Fch OEM config in INIT ENV "); printk(BIOS_DEBUG, "Fch OEM config in INIT ENV ");

View File

@ -104,4 +104,8 @@ config WARNINGS_ARE_ERRORS
bool bool
default n default n
config HUDSON_LEGACY_FREE
bool
default y
endif # BOARD_AMD_PARMER endif # BOARD_AMD_PARMER

View File

@ -717,9 +717,12 @@ AGESA_STATUS Fch_Oem_config(UINT32 Func, UINT32 FchData, VOID *ConfigPtr)
FCH_RESET_DATA_BLOCK *FchParams = (FCH_RESET_DATA_BLOCK *)FchData; FCH_RESET_DATA_BLOCK *FchParams = (FCH_RESET_DATA_BLOCK *)FchData;
if (FchParams->StdHeader->Func == AMD_INIT_RESET) { if (FchParams->StdHeader->Func == AMD_INIT_RESET) {
//FCH_RESET_DATA_BLOCK *FchParams_reset = (FCH_RESET_DATA_BLOCK *) FchData; FCH_RESET_DATA_BLOCK *FchParams_reset = (FCH_RESET_DATA_BLOCK *) FchData;
printk(BIOS_DEBUG, "Fch OEM config in INIT RESET "); printk(BIOS_DEBUG, "Fch OEM config in INIT RESET ");
//FchParams_reset->EcChannel0 = TRUE; /* logical devicd 3 */ //FchParams_reset->EcChannel0 = TRUE; /* logical devicd 3 */
#if CONFIG_HUDSON_LEGACY_FREE
FchParams_reset->LegacyFree = 1;
#endif
} else if (FchParams->StdHeader->Func == AMD_INIT_ENV) { } else if (FchParams->StdHeader->Func == AMD_INIT_ENV) {
FCH_DATA_BLOCK *FchParams_env = (FCH_DATA_BLOCK *)FchData; FCH_DATA_BLOCK *FchParams_env = (FCH_DATA_BLOCK *)FchData;
printk(BIOS_DEBUG, "Fch OEM config in INIT ENV "); printk(BIOS_DEBUG, "Fch OEM config in INIT ENV ");

View File

@ -105,4 +105,8 @@ config WARNINGS_ARE_ERRORS
bool bool
default n default n
config HUDSON_LEGACY_FREE
bool
default y
endif # BOARD_AMD_THATCHER endif # BOARD_AMD_THATCHER

View File

@ -213,3 +213,9 @@ config S3_VOLATILE_POS
non-volitile storage at cold boot stage. non-volitile storage at cold boot stage.
endif endif
config HUDSON_LEGACY_FREE
bool "System is legacy free"
help
Select y if there is no keyboard controller in the system.
This sets variables in AGESA and ACPI.

View File

@ -28,7 +28,11 @@
#include <device/device.h> #include <device/device.h>
#include "hudson.h" #include "hudson.h"
#define FADT_BOOT_ARCH (ACPI_FADT_LEGACY_DEVICES | ACPI_FADT_8042) #if CONFIG_HUDSON_LEGACY_FREE
#define FADT_BOOT_ARCH ACPI_FADT_LEGACY_FREE
#else
#define FADT_BOOT_ARCH (ACPI_FADT_LEGACY_DEVICES | ACPI_FADT_8042)
#endif
#ifndef FADT_PM_PROFILE #ifndef FADT_PM_PROFILE
#define FADT_PM_PROFILE PM_UNSPECIFIED #define FADT_PM_PROFILE PM_UNSPECIFIED