blob: aa5160b68ffbe8b024b14a5abb75df6de104bd55 [file] [log] [blame]
Frank Vibrans63e62b02011-02-14 18:38:14 +00001##
2## This file is part of the coreboot project.
3##
4## Copyright (C) 2011 Advanced Micro Devices, Inc.
5##
6## This program is free software; you can redistribute it and/or modify
7## it under the terms of the GNU General Public License as published by
8## the Free Software Foundation; version 2 of the License.
9##
10## This program is distributed in the hope that it will be useful,
11## but WITHOUT ANY WARRANTY; without even the implied warranty of
12## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13## GNU General Public License for more details.
14##
Frank Vibrans63e62b02011-02-14 18:38:14 +000015
efdesign9805a89ab2011-06-20 17:38:49 -070016config SOUTHBRIDGE_AMD_CIMX_SB800
Frank Vibrans63e62b02011-02-14 18:38:14 +000017 bool
Kerry Shefeed3292011-08-18 18:03:44 +080018 default n
Frank Vibrans63e62b02011-02-14 18:38:14 +000019 select IOAPIC
Kyösti Mälkki8526c3a2014-01-03 08:20:50 +020020 select HAVE_USBDEBUG_OPTIONS
Kerry Shefeed3292011-08-18 18:03:44 +080021 select AMD_SB_CIMX
Nico Huber3e1b3b12018-10-07 12:45:47 +020022 select HAVE_CF9_RESET
23 select HAVE_CF9_RESET_PREPARE
Frank Vibrans63e62b02011-02-14 18:38:14 +000024
efdesign9805a89ab2011-06-20 17:38:49 -070025if SOUTHBRIDGE_AMD_CIMX_SB800
Frank Vibrans63e62b02011-02-14 18:38:14 +000026config BOOTBLOCK_SOUTHBRIDGE_INIT
Martin Roth595e7772015-04-26 18:53:26 -060027 string
28 default "southbridge/amd/cimx/sb800/bootblock.c"
Kerry She6209c822011-08-18 18:44:00 +080029
Kerry Shehd7e856b92011-10-11 17:27:06 +080030config ENABLE_IDE_COMBINED_MODE
31 bool "Enable SATA IDE combined mode"
32 default n
33 help
34 If Combined Mode is enabled. IDE controller is exposed and
35 SATA controller has control over Port0 through Port3,
36 IDE controller has control over Port4 and Port5.
37
38 If Combined Mode is disabled, IDE controller is hidden and
39 SATA controller has full control of all 6 Ports when operating in non-IDE mode.
40
41config IDE_COMBINED_MODE
42 hex
Martin Roth3b878122016-09-30 14:43:01 -060043 default 0x0 if ENABLE_IDE_COMBINED_MODE
44 default 0x1 if !ENABLE_IDE_COMBINED_MODE
Kerry Shehd7e856b92011-10-11 17:27:06 +080045
Kerry Shehd4a0e7d2011-10-10 17:17:39 +080046choice
47 prompt "SATA Mode"
Paul Menzelee5c1112013-03-12 12:41:40 +010048 default SB800_SATA_AHCI
Kerry Shehd4a0e7d2011-10-10 17:17:39 +080049 help
50 Select the mode in which SATA should be driven. NATIVE AHCI, or RAID.
Paul Menzelbae3f062013-03-28 13:03:38 +010051 The default is AHCI.
Kerry Shehd4a0e7d2011-10-10 17:17:39 +080052
53config SB800_SATA_IDE
54 bool "NATIVE"
55 help
Paul Menzelbae3f062013-03-28 13:03:38 +010056 NATIVE does not require a ROM.
Kerry Shehd4a0e7d2011-10-10 17:17:39 +080057
58config SB800_SATA_AHCI
59 bool "AHCI"
60 help
Paul Menzelbae3f062013-03-28 13:03:38 +010061 AHCI is the default and may work with or without AHCI ROM. It depends on the payload support.
Kerry Shehd4a0e7d2011-10-10 17:17:39 +080062 For example, seabios does not require the AHCI ROM.
63
64config SB800_SATA_RAID
65 bool "RAID"
66 help
67 sb800 RAID mode must have the two required ROM files.
68
69endchoice
70
71config SB800_SATA_MODE
Martin Roth595e7772015-04-26 18:53:26 -060072 hex
Kerry Shehd4a0e7d2011-10-10 17:17:39 +080073 depends on (SB800_SATA_IDE || SB800_SATA_RAID || SB800_SATA_AHCI)
Martin Roth3b878122016-09-30 14:43:01 -060074 default 0x0 if SB800_SATA_IDE
75 default 0x1 if SB800_SATA_RAID
76 default 0x2 if SB800_SATA_AHCI
Kerry Shehd4a0e7d2011-10-10 17:17:39 +080077
Kerry She6209c822011-08-18 18:44:00 +080078config SB_SUPERIO_HWM
Martin Roth595e7772015-04-26 18:53:26 -060079 bool
80 default n
Kerry Shehd4a0e7d2011-10-10 17:17:39 +080081
82if SB800_SATA_AHCI
83config AHCI_ROM_ID
84 string "AHCI device PCI IDs"
85 default "1002,4391"
86
87config SB800_AHCI_ROM
88 bool "Add a AHCI ROM"
89
90config AHCI_ROM_FILE
91 string "AHCI ROM path and filename"
92 depends on SB800_AHCI_ROM
93 default "site-local/sb800/ahci.bin"
94endif
95
96if SB800_SATA_RAID
97config RAID_ROM_ID
98 string "RAID device PCI IDs"
99 default "1002,4393"
Martin Roth595e7772015-04-26 18:53:26 -0600100 help
101 1002,4392 for SATA NON-RAID5 module, 1002,4393 for SATA RAID5 mode
Kerry Shehd4a0e7d2011-10-10 17:17:39 +0800102
103config RAID_ROM_FILE
104 string "RAID ROM path and filename"
105 depends on SB800_SATA_RAID
106 default "site-local/sb800/raid.bin"
107
108config RAID_MISC_ROM_FILE
Martin Roth595e7772015-04-26 18:53:26 -0600109 string "RAID Misc ROM path and filename"
110 default "site-local/sb800/misc.bin"
Kerry Shehd4a0e7d2011-10-10 17:17:39 +0800111 depends on SB800_SATA_RAID
112
Kerry Sheh55437c52011-10-12 11:42:59 +0800113config RAID_MISC_ROM_POSITION
114 hex "RAID Misc ROM Position"
115 default 0xFFF00000
116 depends on SB800_SATA_RAID
117 help
118 The RAID ROM requires that the MISC ROM is located between the range
119 0xFFF0_0000 to 0xFFF0_FFFF. Also, it must 1K bytes aligned.
120 The CONFIG_ROM_SIZE must larger than 0x100000.
121
Kerry Shehd4a0e7d2011-10-10 17:17:39 +0800122endif
123
Martin Rothe899e512012-12-05 16:07:11 -0700124config SB800_IMC_FWM
125 bool "Add IMC firmware"
126 default n
Furquan Shaikhc28984d2016-11-20 21:04:00 -0800127 select SPI_FLASH_HAS_VOLATILE_GROUP if SPI_FLASH
Martin Rothe899e512012-12-05 16:07:11 -0700128 help
129 Add SB800 / Hudson 1 IMC Firmware to support the onboard fan control.
Martin Rothe899e512012-12-05 16:07:11 -0700130
131if SB800_IMC_FWM
132
133config SB800_IMC_FWM_FILE
134 string "IMC firmware path and filename"
Patrick Georgi26e24cc2015-05-05 22:27:25 +0200135 default "3rdparty/blobs/southbridge/amd/sb800/imc.bin"
Martin Rothe899e512012-12-05 16:07:11 -0700136
137choice
138 prompt "SB800 Firmware ROM Position"
139
140config SB800_FWM_AT_FFFA0000
141 bool "0xFFFA0000"
142 help
143 The IMC and GEC ROMs requires a 'signature' located at one of several
144 fixed locations in memory. The location used shouldn't matter, just
145 select an area that doesn't conflict with anything else.
146
147config SB800_FWM_AT_FFF20000
148 bool "0xFFF20000"
149 help
150 The IMC and GEC ROMs requires a 'signature' located at one of several
151 fixed locations in memory. The location used shouldn't matter, just
152 select an area that doesn't conflict with anything else.
153
154config SB800_FWM_AT_FFE20000
155 depends on BOARD_ROMSIZE_KB_8192 || BOARD_ROMSIZE_KB_4096 || BOARD_ROMSIZE_KB_2048
156 bool "0xFFE20000"
157 help
158 The IMC and GEC ROMs requires a 'signature' located at one of several
159 fixed locations in memory. The location used shouldn't matter, just
160 select an area that doesn't conflict with anything else.
161
162config SB800_FWM_AT_FFC20000
163 depends on BOARD_ROMSIZE_KB_8192 || BOARD_ROMSIZE_KB_4096
164 bool "0xFFC20000"
165 help
166 The IMC and GEC ROMs requires a 'signature' located at one of several
167 fixed locations in memory. The location used shouldn't matter, just
168 select an area that doesn't conflict with anything else.
169
170config SB800_FWM_AT_FF820000
171 depends on BOARD_ROMSIZE_KB_8192
172 bool "0xFF820000"
173 help
174 The IMC and GEC ROMs requires a 'signature' located at one of several
175 fixed locations in memory. The location used shouldn't matter, just
176 select an area that doesn't conflict with anything else.
177
178endchoice
179
180config SB800_FWM_POSITION
181 hex
182 default 0xFFFA0000 if SB800_FWM_AT_FFFA0000
183 default 0xFFF20000 if SB800_FWM_AT_FFF20000
184 default 0xFFE20000 if SB800_FWM_AT_FFE20000
185 default 0xFFC20000 if SB800_FWM_AT_FFC20000
Martin Roth238780c2013-01-08 13:46:50 -0700186 default 0xFF820000 if SB800_FWM_AT_FF820000
Martin Rothe899e512012-12-05 16:07:11 -0700187
188endif #SB800_IMC_FWM
189
Kyösti Mälkkia9bbdd32013-08-09 02:24:05 +0300190config EHCI_BAR
191 hex
192 default 0xfef00000
193
Martin Rothe899e512012-12-05 16:07:11 -0700194choice
195 prompt "Fan Control"
196 default SB800_NO_FAN_CONTROL
197 help
198 Select the method of SB800 fan control to be used. None would be
199 for either fixed maximum speed fans connected to the SB800 or for
200 an external chip controlling the fan speeds. Manual control sets
201 up the SB800 fan control registers. IMC fan control uses the SB800
202 IMC to actively control the fan speeds.
203
204config SB800_NO_FAN_CONTROL
205 bool "None"
206 help
207 No SB800 Fan control - Do not set up the SB800 fan control registers.
208
209config SB800_MANUAL_FAN_CONTROL
210 bool "Manual"
211 help
212 Configure the SB800 fan control registers in devicetree.cb.
213
214config SB800_IMC_FAN_CONTROL
215 bool "IMC Based"
216 depends on SB800_IMC_FWM
217 help
218 Set up the SB800 to use the IMC based Fan controller. This requires
Elyes HAOUAS1bcd7fc2016-07-28 21:20:04 +0200219 the IMC ROM from AMD. Configure the registers in devicetree.cb.
Martin Rothe899e512012-12-05 16:07:11 -0700220
221endchoice
222
efdesign9805a89ab2011-06-20 17:38:49 -0700223endif #SOUTHBRIDGE_AMD_CIMX_SB800