blob: 07232f1a74ff56c11c90d63ce9d015d74cd6f234 [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
Kyösti Mälkki56892fc2013-06-16 17:12:37 +030022 select HAVE_HARD_RESET
Frank Vibrans63e62b02011-02-14 18:38:14 +000023
efdesign9805a89ab2011-06-20 17:38:49 -070024if SOUTHBRIDGE_AMD_CIMX_SB800
Frank Vibrans63e62b02011-02-14 18:38:14 +000025config BOOTBLOCK_SOUTHBRIDGE_INIT
Martin Roth595e7772015-04-26 18:53:26 -060026 string
27 default "southbridge/amd/cimx/sb800/bootblock.c"
Kerry She6209c822011-08-18 18:44:00 +080028
Kerry Shehd7e856b92011-10-11 17:27:06 +080029config ENABLE_IDE_COMBINED_MODE
30 bool "Enable SATA IDE combined mode"
31 default n
32 help
33 If Combined Mode is enabled. IDE controller is exposed and
34 SATA controller has control over Port0 through Port3,
35 IDE controller has control over Port4 and Port5.
36
37 If Combined Mode is disabled, IDE controller is hidden and
38 SATA controller has full control of all 6 Ports when operating in non-IDE mode.
39
40config IDE_COMBINED_MODE
41 hex
Martin Roth3b878122016-09-30 14:43:01 -060042 default 0x0 if ENABLE_IDE_COMBINED_MODE
43 default 0x1 if !ENABLE_IDE_COMBINED_MODE
Kerry Shehd7e856b92011-10-11 17:27:06 +080044
Kerry Shehd4a0e7d2011-10-10 17:17:39 +080045choice
46 prompt "SATA Mode"
Paul Menzelee5c1112013-03-12 12:41:40 +010047 default SB800_SATA_AHCI
Kerry Shehd4a0e7d2011-10-10 17:17:39 +080048 help
49 Select the mode in which SATA should be driven. NATIVE AHCI, or RAID.
Paul Menzelbae3f062013-03-28 13:03:38 +010050 The default is AHCI.
Kerry Shehd4a0e7d2011-10-10 17:17:39 +080051
52config SB800_SATA_IDE
53 bool "NATIVE"
54 help
Paul Menzelbae3f062013-03-28 13:03:38 +010055 NATIVE does not require a ROM.
Kerry Shehd4a0e7d2011-10-10 17:17:39 +080056
57config SB800_SATA_AHCI
58 bool "AHCI"
59 help
Paul Menzelbae3f062013-03-28 13:03:38 +010060 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 +080061 For example, seabios does not require the AHCI ROM.
62
63config SB800_SATA_RAID
64 bool "RAID"
65 help
66 sb800 RAID mode must have the two required ROM files.
67
68endchoice
69
70config SB800_SATA_MODE
Martin Roth595e7772015-04-26 18:53:26 -060071 hex
Kerry Shehd4a0e7d2011-10-10 17:17:39 +080072 depends on (SB800_SATA_IDE || SB800_SATA_RAID || SB800_SATA_AHCI)
Martin Roth3b878122016-09-30 14:43:01 -060073 default 0x0 if SB800_SATA_IDE
74 default 0x1 if SB800_SATA_RAID
75 default 0x2 if SB800_SATA_AHCI
Kerry Shehd4a0e7d2011-10-10 17:17:39 +080076
Kerry She6209c822011-08-18 18:44:00 +080077config SB_SUPERIO_HWM
Martin Roth595e7772015-04-26 18:53:26 -060078 bool
79 default n
Kerry Shehd4a0e7d2011-10-10 17:17:39 +080080
81if SB800_SATA_AHCI
82config AHCI_ROM_ID
83 string "AHCI device PCI IDs"
84 default "1002,4391"
85
86config SB800_AHCI_ROM
87 bool "Add a AHCI ROM"
88
89config AHCI_ROM_FILE
90 string "AHCI ROM path and filename"
91 depends on SB800_AHCI_ROM
92 default "site-local/sb800/ahci.bin"
93endif
94
95if SB800_SATA_RAID
96config RAID_ROM_ID
97 string "RAID device PCI IDs"
98 default "1002,4393"
Martin Roth595e7772015-04-26 18:53:26 -060099 help
100 1002,4392 for SATA NON-RAID5 module, 1002,4393 for SATA RAID5 mode
Kerry Shehd4a0e7d2011-10-10 17:17:39 +0800101
102config RAID_ROM_FILE
103 string "RAID ROM path and filename"
104 depends on SB800_SATA_RAID
105 default "site-local/sb800/raid.bin"
106
107config RAID_MISC_ROM_FILE
Martin Roth595e7772015-04-26 18:53:26 -0600108 string "RAID Misc ROM path and filename"
109 default "site-local/sb800/misc.bin"
Kerry Shehd4a0e7d2011-10-10 17:17:39 +0800110 depends on SB800_SATA_RAID
111
Kerry Sheh55437c52011-10-12 11:42:59 +0800112config RAID_MISC_ROM_POSITION
113 hex "RAID Misc ROM Position"
114 default 0xFFF00000
115 depends on SB800_SATA_RAID
116 help
117 The RAID ROM requires that the MISC ROM is located between the range
118 0xFFF0_0000 to 0xFFF0_FFFF. Also, it must 1K bytes aligned.
119 The CONFIG_ROM_SIZE must larger than 0x100000.
120
Kerry Shehd4a0e7d2011-10-10 17:17:39 +0800121endif
122
Martin Rothe899e512012-12-05 16:07:11 -0700123config SB800_IMC_FWM
124 bool "Add IMC firmware"
125 default n
Furquan Shaikhc28984d2016-11-20 21:04:00 -0800126 select SPI_FLASH_HAS_VOLATILE_GROUP if SPI_FLASH
Martin Rothe899e512012-12-05 16:07:11 -0700127 help
128 Add SB800 / Hudson 1 IMC Firmware to support the onboard fan control.
Martin Rothe899e512012-12-05 16:07:11 -0700129
130if SB800_IMC_FWM
131
132config SB800_IMC_FWM_FILE
133 string "IMC firmware path and filename"
Patrick Georgi26e24cc2015-05-05 22:27:25 +0200134 default "3rdparty/blobs/southbridge/amd/sb800/imc.bin"
Martin Rothe899e512012-12-05 16:07:11 -0700135
136choice
137 prompt "SB800 Firmware ROM Position"
138
139config SB800_FWM_AT_FFFA0000
140 bool "0xFFFA0000"
141 help
142 The IMC and GEC ROMs requires a 'signature' located at one of several
143 fixed locations in memory. The location used shouldn't matter, just
144 select an area that doesn't conflict with anything else.
145
146config SB800_FWM_AT_FFF20000
147 bool "0xFFF20000"
148 help
149 The IMC and GEC ROMs requires a 'signature' located at one of several
150 fixed locations in memory. The location used shouldn't matter, just
151 select an area that doesn't conflict with anything else.
152
153config SB800_FWM_AT_FFE20000
154 depends on BOARD_ROMSIZE_KB_8192 || BOARD_ROMSIZE_KB_4096 || BOARD_ROMSIZE_KB_2048
155 bool "0xFFE20000"
156 help
157 The IMC and GEC ROMs requires a 'signature' located at one of several
158 fixed locations in memory. The location used shouldn't matter, just
159 select an area that doesn't conflict with anything else.
160
161config SB800_FWM_AT_FFC20000
162 depends on BOARD_ROMSIZE_KB_8192 || BOARD_ROMSIZE_KB_4096
163 bool "0xFFC20000"
164 help
165 The IMC and GEC ROMs requires a 'signature' located at one of several
166 fixed locations in memory. The location used shouldn't matter, just
167 select an area that doesn't conflict with anything else.
168
169config SB800_FWM_AT_FF820000
170 depends on BOARD_ROMSIZE_KB_8192
171 bool "0xFF820000"
172 help
173 The IMC and GEC ROMs requires a 'signature' located at one of several
174 fixed locations in memory. The location used shouldn't matter, just
175 select an area that doesn't conflict with anything else.
176
177endchoice
178
179config SB800_FWM_POSITION
180 hex
181 default 0xFFFA0000 if SB800_FWM_AT_FFFA0000
182 default 0xFFF20000 if SB800_FWM_AT_FFF20000
183 default 0xFFE20000 if SB800_FWM_AT_FFE20000
184 default 0xFFC20000 if SB800_FWM_AT_FFC20000
Martin Roth238780c2013-01-08 13:46:50 -0700185 default 0xFF820000 if SB800_FWM_AT_FF820000
Martin Rothe899e512012-12-05 16:07:11 -0700186
187endif #SB800_IMC_FWM
188
Kyösti Mälkkia9bbdd32013-08-09 02:24:05 +0300189config EHCI_BAR
190 hex
191 default 0xfef00000
192
Martin Rothe899e512012-12-05 16:07:11 -0700193choice
194 prompt "Fan Control"
195 default SB800_NO_FAN_CONTROL
196 help
197 Select the method of SB800 fan control to be used. None would be
198 for either fixed maximum speed fans connected to the SB800 or for
199 an external chip controlling the fan speeds. Manual control sets
200 up the SB800 fan control registers. IMC fan control uses the SB800
201 IMC to actively control the fan speeds.
202
203config SB800_NO_FAN_CONTROL
204 bool "None"
205 help
206 No SB800 Fan control - Do not set up the SB800 fan control registers.
207
208config SB800_MANUAL_FAN_CONTROL
209 bool "Manual"
210 help
211 Configure the SB800 fan control registers in devicetree.cb.
212
213config SB800_IMC_FAN_CONTROL
214 bool "IMC Based"
215 depends on SB800_IMC_FWM
216 help
217 Set up the SB800 to use the IMC based Fan controller. This requires
Elyes HAOUAS1bcd7fc2016-07-28 21:20:04 +0200218 the IMC ROM from AMD. Configure the registers in devicetree.cb.
Martin Rothe899e512012-12-05 16:07:11 -0700219
220endchoice
221
efdesign9805a89ab2011-06-20 17:38:49 -0700222endif #SOUTHBRIDGE_AMD_CIMX_SB800