diff options
author | Kerry Sheh <shekairui@gmail.com> | 2011-10-10 17:17:39 +0800 |
---|---|---|
committer | Marc Jones <marcj303@gmail.com> | 2011-10-11 07:59:12 +0200 |
commit | d4a0e7d0b685387f6b9bf7ac8727d4a5ea7c75bf (patch) | |
tree | 32ee4e4831f5f34418d554d94135043be0340b5c | |
parent | f8adf7a129e6746a558d6f6e1c29045746c93cde (diff) |
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>
-rw-r--r-- | src/southbridge/amd/cimx/sb800/Kconfig | 66 | ||||
-rw-r--r-- | src/southbridge/amd/cimx/sb800/Makefile.inc | 18 |
2 files changed, 84 insertions, 0 deletions
diff --git a/src/southbridge/amd/cimx/sb800/Kconfig b/src/southbridge/amd/cimx/sb800/Kconfig index 681c8814a2..b7ac0dbf02 100644 --- a/src/southbridge/amd/cimx/sb800/Kconfig +++ b/src/southbridge/amd/cimx/sb800/Kconfig @@ -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 diff --git a/src/southbridge/amd/cimx/sb800/Makefile.inc b/src/southbridge/amd/cimx/sb800/Makefile.inc index acc5fdfeb7..30c0d39e44 100644 --- a/src/southbridge/amd/cimx/sb800/Makefile.inc +++ b/src/southbridge/amd/cimx/sb800/Makefile.inc @@ -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 |