AGESA: Refactor HUDSON_SATA_MODE
Expose one CONFIG_ variable instead of seven to C preprocessor. Change-Id: Ib815127561d320a5e8f8e6ef168933d81809521e Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: http://review.coreboot.org/7494 Reviewed-by: Edward O'Callaghan <eocallaghan@alterapraxis.com> Tested-by: build bot (Jenkins)
This commit is contained in:
parent
3bff5d9064
commit
84693d3dd4
|
@ -28,6 +28,7 @@
|
|||
#if IS_ENABLED(CONFIG_HUDSON_IMC_FWM)
|
||||
#include "imc.h"
|
||||
#endif
|
||||
#include "hudson.h"
|
||||
#include <stdlib.h>
|
||||
|
||||
static AGESA_STATUS Fch_Oem_config(UINT32 Func, UINT32 FchData, VOID *ConfigPtr);
|
||||
|
@ -268,8 +269,8 @@ static AGESA_STATUS Fch_Oem_config(UINT32 Func, UINT32 FchData, VOID *ConfigPtr)
|
|||
printk(BIOS_DEBUG, "\nFch OEM config in INIT RESET\n");
|
||||
//FchParams_reset->EcChannel0 = TRUE; /* logical devicd 3 */
|
||||
FchParams->LegacyFree = CONFIG_HUDSON_LEGACY_FREE;
|
||||
FchParams->FchReset.SataEnable = CONFIG_HUDSON_SATA_IDE || CONFIG_HUDSON_SATA_AHCI;
|
||||
FchParams->FchReset.IdeEnable = CONFIG_HUDSON_SATA_IDE || CONFIG_HUDSON_SATA_LEGACY_IDE;
|
||||
FchParams->FchReset.SataEnable = hudson_sata_enable();
|
||||
FchParams->FchReset.IdeEnable = hudson_ide_enable();
|
||||
FchParams->FchReset.Xhci0Enable = IS_ENABLED(CONFIG_HUDSON_XHCI_ENABLE);
|
||||
FchParams->FchReset.Xhci1Enable = FALSE;
|
||||
} else if (StdHeader->Func == AMD_INIT_ENV) {
|
||||
|
|
|
@ -140,67 +140,49 @@ config AMD_PUBKEY_FILE
|
|||
string "AMD public Key"
|
||||
default "3rdparty/southbridge/amd/avalon/PSP/AmdPubKey.bin" if CPU_AMD_AGESA_00730F01
|
||||
|
||||
choice
|
||||
prompt "SATA Mode"
|
||||
default HUDSON_SATA_IDE
|
||||
config HUDSON_SATA_MODE
|
||||
int "SATA Mode"
|
||||
default 0
|
||||
range 0 6
|
||||
help
|
||||
Select the mode in which SATA should be driven. NATIVE AHCI, or RAID.
|
||||
The default is NATIVE.
|
||||
0: NATIVE mode does not require a ROM.
|
||||
1: RAID mode must have the two ROM files.
|
||||
2: AHCI may work with or without AHCI ROM. It depends on the payload support.
|
||||
For example, seabios does not require the AHCI ROM.
|
||||
3: LEGACY IDE
|
||||
4: IDE to AHCI
|
||||
5: AHCI7804: ROM Required, and AMD driver required in the OS.
|
||||
6: IDE to AHCI7804: ROM Required, and AMD driver required in the OS.
|
||||
|
||||
config HUDSON_SATA_IDE
|
||||
bool "NATIVE"
|
||||
help
|
||||
NATIVE is the default mode and does not require a ROM.
|
||||
comment "NATIVE"
|
||||
depends on HUDSON_SATA_MODE = 0
|
||||
|
||||
config HUDSON_SATA_RAID
|
||||
bool "RAID"
|
||||
help
|
||||
HUDSON RAID mode must have the two required ROM files.
|
||||
comment "RAID"
|
||||
depends on HUDSON_SATA_MODE = 1
|
||||
|
||||
config HUDSON_SATA_AHCI
|
||||
bool "AHCI"
|
||||
help
|
||||
AHCI may work with or without AHCI ROM. It depends on the payload support.
|
||||
For example, seabios does not require the AHCI ROM.
|
||||
comment "AHCI"
|
||||
depends on HUDSON_SATA_MODE = 2
|
||||
|
||||
config HUDSON_SATA_LEGACY_IDE
|
||||
bool "LEGACY IDE"
|
||||
help
|
||||
TODO
|
||||
comment "LEGACY IDE"
|
||||
depends on HUDSON_SATA_MODE = 3
|
||||
|
||||
config HUDSON_SATA_IDE2AHCI
|
||||
bool "IDE to AHCI"
|
||||
help
|
||||
TODO
|
||||
comment "IDE to AHCI"
|
||||
depends on HUDSON_SATA_MODE = 4
|
||||
|
||||
config HUDSON_SATA_AHCI7804
|
||||
bool "AHCI7804"
|
||||
help
|
||||
AHCI ROM Required, and AMD driver required in the OS.
|
||||
comment "AHCI7804"
|
||||
depends on HUDSON_SATA_MODE = 5
|
||||
|
||||
config HUDSON_SATA_IDE2AHCI7804
|
||||
bool "IDE to AHCI7804"
|
||||
help
|
||||
AHCI ROM Required, and AMD driver required in the OS.
|
||||
comment "IDE to AHCI7804"
|
||||
depends on HUDSON_SATA_MODE = 6
|
||||
|
||||
endchoice
|
||||
if HUDSON_SATA_MODE = 2 || HUDSON_SATA_MODE = 5
|
||||
|
||||
config HUDSON_SATA_MODE
|
||||
hex
|
||||
depends on (HUDSON_SATA_IDE || HUDSON_SATA_RAID || HUDSON_SATA_AHCI)
|
||||
default "0x0" if HUDSON_SATA_IDE
|
||||
default "0x1" if HUDSON_SATA_RAID
|
||||
default "0x2" if HUDSON_SATA_AHCI
|
||||
default "0x3" if HUDSON_SATA_LEGACY_IDE
|
||||
default "0x4" if HUDSON_SATA_IDE2AHCI
|
||||
default "0x5" if HUDSON_SATA_AHCI7804
|
||||
default "0x6" if HUDSON_SATA_IDE2AHCI7804
|
||||
|
||||
if HUDSON_SATA_AHCI || HUDSON_SATA_AHCI7804
|
||||
config AHCI_ROM_ID
|
||||
string "AHCI device PCI IDs"
|
||||
default "1022,7801" if HUDSON_SATA_AHCI
|
||||
default "1022,7804" if HUDSON_SATA_AHCI7804
|
||||
string "AHCI device PCI IDs"
|
||||
default "1022,7801" if HUDSON_SATA_MODE = 2
|
||||
default "1022,7804" if HUDSON_SATA_MODE = 5
|
||||
|
||||
config HUDSON_AHCI_ROM
|
||||
bool "Add a AHCI ROM"
|
||||
|
@ -209,9 +191,11 @@ config AHCI_ROM_FILE
|
|||
string "AHCI ROM path and filename"
|
||||
depends on HUDSON_AHCI_ROM
|
||||
default "src/southbridge/amd/agesa/hudson/ahci.bin"
|
||||
endif # HUDSON_SATA_AHCI || HUDSON_SATA_AHCI7804
|
||||
|
||||
if HUDSON_SATA_RAID
|
||||
endif
|
||||
|
||||
if HUDSON_SATA_MODE = 1
|
||||
|
||||
config RAID_ROM_ID
|
||||
string "RAID device PCI IDs"
|
||||
default "1022,7802"
|
||||
|
@ -220,23 +204,21 @@ config RAID_ROM_ID
|
|||
|
||||
config RAID_ROM_FILE
|
||||
string "RAID ROM path and filename"
|
||||
depends on HUDSON_SATA_RAID
|
||||
default "src/southbridge/amd/agesa/hudson/raid.bin"
|
||||
|
||||
config RAID_MISC_ROM_FILE
|
||||
string "RAID Misc ROM path and filename"
|
||||
default "src/southbridge/amd/agesa/hudson/misc.bin"
|
||||
depends on HUDSON_SATA_RAID
|
||||
string "RAID Misc ROM path and filename"
|
||||
default "src/southbridge/amd/agesa/hudson/misc.bin"
|
||||
|
||||
config RAID_MISC_ROM_POSITION
|
||||
hex "RAID Misc ROM Position"
|
||||
default 0xFFF00000
|
||||
depends on HUDSON_SATA_RAID
|
||||
help
|
||||
The RAID ROM requires that the MISC ROM is located between the range
|
||||
0xFFF0_0000 to 0xFFF0_FFFF. Also, it must 1K bytes aligned.
|
||||
The CONFIG_ROM_SIZE must be larger than 0x100000.
|
||||
endif # HUDSON_SATA_RAID
|
||||
|
||||
endif
|
||||
|
||||
config HUDSON_LEGACY_FREE
|
||||
bool "System is legacy free"
|
||||
|
|
|
@ -149,14 +149,12 @@ hudson/gec-type := raw
|
|||
hudson/gec-required := Hudson Gigabit Ethernet Controller Firmware (Contact your AMD representative)
|
||||
endif
|
||||
|
||||
#ifeq ($(CONFIG_HUDSON_SATA_AHCI), y)
|
||||
ifdef CONFIG_HUDSON_AHCI_ROM
|
||||
stripped_ahci_rom_id = $(call strip_quotes,$(CONFIG_AHCI_ROM_ID))
|
||||
cbfs-files-y += pci$(stripped_ahci_rom_id).rom
|
||||
pci$(stripped_ahci_rom_id).rom-file := $(call strip_quotes,$(CONFIG_AHCI_ROM_FILE))
|
||||
pci$(stripped_ahci_rom_id).rom-type := optionrom
|
||||
pci$(stripped_ahci_rom_id).rom-required := Hudson AHCI Option ROM (Contact your AMD representative)
|
||||
#endif
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_HUDSON_PSP), y)
|
||||
|
|
|
@ -55,6 +55,18 @@
|
|||
#define SPI_ROM_ENABLE 0x02
|
||||
#define SPI_BASE_ADDRESS 0xFEC10000
|
||||
|
||||
static inline int hudson_sata_enable(void)
|
||||
{
|
||||
/* True if IDE or AHCI. */
|
||||
return (CONFIG_HUDSON_SATA_MODE == 0) || (CONFIG_HUDSON_SATA_MODE == 2);
|
||||
}
|
||||
|
||||
static inline int hudson_ide_enable(void)
|
||||
{
|
||||
/* True if IDE or LEGACY IDE. */
|
||||
return (CONFIG_HUDSON_SATA_MODE == 0) || (CONFIG_HUDSON_SATA_MODE == 3);
|
||||
}
|
||||
|
||||
#ifndef __SMM__
|
||||
|
||||
void pm_write8(u8 reg, u8 value);
|
||||
|
|
Loading…
Reference in New Issue