sb800: Add sata ahci/raid mode kconfig option

If sb800 sata was configured as ahci or raid mode,
give the option to add ROM files.

Change-Id: I87a7814930ce3a7c38cde1e235d151223eea2107
Signed-off-by: Kerry Sheh <kerry.she@amd.com>
Signed-off-by: Kerry Sheh <shekairui@gmail.com>
Reviewed-on: http://review.coreboot.org/225
Tested-by: build bot (Jenkins)
Reviewed-by: Marc Jones <marcj303@gmail.com>
This commit is contained in:
Kerry Sheh 2011-10-10 17:17:39 +08:00 committed by Marc Jones
parent f8adf7a129
commit d4a0e7d0b6
2 changed files with 84 additions and 0 deletions

View File

@ -28,8 +28,74 @@ config BOOTBLOCK_SOUTHBRIDGE_INIT
string
default "southbridge/amd/cimx/sb800/bootblock.c"
choice
prompt "SATA Mode"
default SB800_SATA_IDE
help
Select the mode in which SATA should be driven. NATIVE AHCI, or RAID.
The default is NATIVE.
config SB800_SATA_IDE
bool "NATIVE"
help
NATIVE is the default mode and does not require a ROM.
config SB800_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.
config SB800_SATA_RAID
bool "RAID"
help
sb800 RAID mode must have the two required ROM files.
endchoice
config SB800_SATA_MODE
hex
depends on (SB800_SATA_IDE || SB800_SATA_RAID || SB800_SATA_AHCI)
default "0x0" if SB800_SATA_IDE
default "0x1" if SB800_SATA_RAID
default "0x2" if SB800_SATA_AHCI
config SB_SUPERIO_HWM
bool
default n
if SB800_SATA_AHCI
config AHCI_ROM_ID
string "AHCI device PCI IDs"
default "1002,4391"
config SB800_AHCI_ROM
bool "Add a AHCI ROM"
config AHCI_ROM_FILE
string "AHCI ROM path and filename"
depends on SB800_AHCI_ROM
default "site-local/sb800/ahci.bin"
endif
if SB800_SATA_RAID
config RAID_ROM_ID
string "RAID device PCI IDs"
default "1002,4393"
help
1002,4392 for SATA NON-RAID5 module, 1002,4393 for SATA RAID5 mode
config RAID_ROM_FILE
string "RAID ROM path and filename"
depends on SB800_SATA_RAID
default "site-local/sb800/raid.bin"
config RAID_MISC_ROM_FILE
string "RAID Misc ROM path and filename"
default "site-local/sb800/misc.bin"
depends on SB800_SATA_RAID
endif
endif #SOUTHBRIDGE_AMD_CIMX_SB800

View File

@ -31,4 +31,22 @@ ramstage-y += late.c
driver-y += smbus.c
driver-y += lpc.c
ifeq ($(CONFIG_SB800_SATA_AHCI), y)
ifdef CONFIG_SB800_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
endif
endif
ifeq ($(CONFIG_SB800_SATA_RAID), y)
stripped_raid_rom_id = $(call strip_quotes,$(CONFIG_RAID_ROM_ID))
cbfs-files-y += pci$(stripped_raid_rom_id).rom
pci$(stripped_raid_rom_id).rom-file := $(call strip_quotes,$(CONFIG_RAID_ROM_FILE))
pci$(stripped_raid_rom_id).rom-type := optionrom
cbfs-files-y += raid/misc.bin
raid/misc.bin-file := $(call strip_quotes,$(CONFIG_RAID_MISC_ROM_FILE))
raid/misc.bin-type := raw
endif