| ## |
| ## This file is part of the coreboot project. |
| ## |
| ## Copyright (C) 2011 Advanced Micro Devices, Inc. |
| ## |
| ## 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. |
| ## |
| ## You should have received a copy of the GNU General Public License |
| ## along with this program; if not, write to the Free Software |
| ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
| ## |
| |
| config SOUTHBRIDGE_AMD_CIMX_SB800 |
| bool |
| default n |
| select IOAPIC |
| select AMD_SB_CIMX |
| |
| if SOUTHBRIDGE_AMD_CIMX_SB800 |
| config BOOTBLOCK_SOUTHBRIDGE_INIT |
| string |
| default "southbridge/amd/cimx/sb800/bootblock.c" |
| |
| config ENABLE_IDE_COMBINED_MODE |
| bool "Enable SATA IDE combined mode" |
| default n |
| help |
| If Combined Mode is enabled. IDE controller is exposed and |
| SATA controller has control over Port0 through Port3, |
| IDE controller has control over Port4 and Port5. |
| |
| If Combined Mode is disabled, IDE controller is hidden and |
| SATA controller has full control of all 6 Ports when operating in non-IDE mode. |
| |
| config IDE_COMBINED_MODE |
| hex |
| default "0x0" if ENABLE_IDE_COMBINED_MODE |
| default "0x1" if !ENABLE_IDE_COMBINED_MODE |
| |
| choice |
| prompt "SATA Mode" |
| default SB800_SATA_AHCI |
| help |
| Select the mode in which SATA should be driven. NATIVE AHCI, or RAID. |
| The default is AHCI. |
| |
| config SB800_SATA_IDE |
| bool "NATIVE" |
| help |
| NATIVE does not require a ROM. |
| |
| config SB800_SATA_AHCI |
| bool "AHCI" |
| help |
| AHCI is the default and 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 |
| |
| config RAID_MISC_ROM_POSITION |
| hex "RAID Misc ROM Position" |
| default 0xFFF00000 |
| depends on SB800_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 larger than 0x100000. |
| |
| endif |
| |
| config S3_DATA_POS |
| hex "S3 volatile storage position" |
| default 0xFFFF0000 |
| depends on HAVE_ACPI_RESUME |
| help |
| For a system with S3 feature, the BIOS needs to save some data to |
| non-volatile storage at cold boot stage. |
| |
| config S3_DATA_SIZE |
| int "S3 volatile storage size" |
| default 32768 |
| depends on HAVE_ACPI_RESUME |
| help |
| For a system with S3 feature, the BIOS needs to save some data to |
| non-volatile storage at cold boot stage. |
| |
| config SB800_IMC_FWM |
| bool "Add IMC firmware" |
| default n |
| help |
| Add SB800 / Hudson 1 IMC Firmware to support the onboard fan control. |
| |
| if SB800_IMC_FWM |
| |
| config SB800_IMC_FWM_FILE |
| string "IMC firmware path and filename" |
| default "3rdparty/southbridge/amd/sb800/imc.bin" |
| |
| choice |
| prompt "SB800 Firmware ROM Position" |
| |
| config SB800_FWM_AT_FFFA0000 |
| bool "0xFFFA0000" |
| help |
| The IMC and GEC ROMs requires a 'signature' located at one of several |
| fixed locations in memory. The location used shouldn't matter, just |
| select an area that doesn't conflict with anything else. |
| |
| config SB800_FWM_AT_FFF20000 |
| bool "0xFFF20000" |
| help |
| The IMC and GEC ROMs requires a 'signature' located at one of several |
| fixed locations in memory. The location used shouldn't matter, just |
| select an area that doesn't conflict with anything else. |
| |
| config SB800_FWM_AT_FFE20000 |
| depends on BOARD_ROMSIZE_KB_8192 || BOARD_ROMSIZE_KB_4096 || BOARD_ROMSIZE_KB_2048 |
| bool "0xFFE20000" |
| help |
| The IMC and GEC ROMs requires a 'signature' located at one of several |
| fixed locations in memory. The location used shouldn't matter, just |
| select an area that doesn't conflict with anything else. |
| |
| config SB800_FWM_AT_FFC20000 |
| depends on BOARD_ROMSIZE_KB_8192 || BOARD_ROMSIZE_KB_4096 |
| bool "0xFFC20000" |
| help |
| The IMC and GEC ROMs requires a 'signature' located at one of several |
| fixed locations in memory. The location used shouldn't matter, just |
| select an area that doesn't conflict with anything else. |
| |
| config SB800_FWM_AT_FF820000 |
| depends on BOARD_ROMSIZE_KB_8192 |
| bool "0xFF820000" |
| help |
| The IMC and GEC ROMs requires a 'signature' located at one of several |
| fixed locations in memory. The location used shouldn't matter, just |
| select an area that doesn't conflict with anything else. |
| |
| endchoice |
| |
| config SB800_FWM_POSITION |
| hex |
| default 0xFFFA0000 if SB800_FWM_AT_FFFA0000 |
| default 0xFFF20000 if SB800_FWM_AT_FFF20000 |
| default 0xFFE20000 if SB800_FWM_AT_FFE20000 |
| default 0xFFC20000 if SB800_FWM_AT_FFC20000 |
| default 0xFF820000 if SB800_FWM_AT_FF820000 |
| |
| endif #SB800_IMC_FWM |
| |
| choice |
| prompt "Fan Control" |
| default SB800_NO_FAN_CONTROL |
| help |
| Select the method of SB800 fan control to be used. None would be |
| for either fixed maximum speed fans connected to the SB800 or for |
| an external chip controlling the fan speeds. Manual control sets |
| up the SB800 fan control registers. IMC fan control uses the SB800 |
| IMC to actively control the fan speeds. |
| |
| config SB800_NO_FAN_CONTROL |
| bool "None" |
| help |
| No SB800 Fan control - Do not set up the SB800 fan control registers. |
| |
| config SB800_MANUAL_FAN_CONTROL |
| bool "Manual" |
| help |
| Configure the SB800 fan control registers in devicetree.cb. |
| |
| config SB800_IMC_FAN_CONTROL |
| bool "IMC Based" |
| depends on SB800_IMC_FWM |
| help |
| Set up the SB800 to use the IMC based Fan controller. This requires |
| the IMC rom from AMD. Configure the registers in devicetree.cb. |
| |
| endchoice |
| |
| endif #SOUTHBRIDGE_AMD_CIMX_SB800 |
| |