blob: 5748f790c854a994f843c1b3e2349f7305a27fbc [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
42 default "0x0" if ENABLE_IDE_COMBINED_MODE
43 default "0x1" if !ENABLE_IDE_COMBINED_MODE
44
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)
73 default "0x0" if SB800_SATA_IDE
74 default "0x1" if SB800_SATA_RAID
75 default "0x2" if SB800_SATA_AHCI
76
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
126 help
127 Add SB800 / Hudson 1 IMC Firmware to support the onboard fan control.
Martin Rothe899e512012-12-05 16:07:11 -0700128
129if SB800_IMC_FWM
130
131config SB800_IMC_FWM_FILE
132 string "IMC firmware path and filename"
Patrick Georgi26e24cc2015-05-05 22:27:25 +0200133 default "3rdparty/blobs/southbridge/amd/sb800/imc.bin"
Martin Rothe899e512012-12-05 16:07:11 -0700134
135choice
136 prompt "SB800 Firmware ROM Position"
137
138config SB800_FWM_AT_FFFA0000
139 bool "0xFFFA0000"
140 help
141 The IMC and GEC ROMs requires a 'signature' located at one of several
142 fixed locations in memory. The location used shouldn't matter, just
143 select an area that doesn't conflict with anything else.
144
145config SB800_FWM_AT_FFF20000
146 bool "0xFFF20000"
147 help
148 The IMC and GEC ROMs requires a 'signature' located at one of several
149 fixed locations in memory. The location used shouldn't matter, just
150 select an area that doesn't conflict with anything else.
151
152config SB800_FWM_AT_FFE20000
153 depends on BOARD_ROMSIZE_KB_8192 || BOARD_ROMSIZE_KB_4096 || BOARD_ROMSIZE_KB_2048
154 bool "0xFFE20000"
155 help
156 The IMC and GEC ROMs requires a 'signature' located at one of several
157 fixed locations in memory. The location used shouldn't matter, just
158 select an area that doesn't conflict with anything else.
159
160config SB800_FWM_AT_FFC20000
161 depends on BOARD_ROMSIZE_KB_8192 || BOARD_ROMSIZE_KB_4096
162 bool "0xFFC20000"
163 help
164 The IMC and GEC ROMs requires a 'signature' located at one of several
165 fixed locations in memory. The location used shouldn't matter, just
166 select an area that doesn't conflict with anything else.
167
168config SB800_FWM_AT_FF820000
169 depends on BOARD_ROMSIZE_KB_8192
170 bool "0xFF820000"
171 help
172 The IMC and GEC ROMs requires a 'signature' located at one of several
173 fixed locations in memory. The location used shouldn't matter, just
174 select an area that doesn't conflict with anything else.
175
176endchoice
177
178config SB800_FWM_POSITION
179 hex
180 default 0xFFFA0000 if SB800_FWM_AT_FFFA0000
181 default 0xFFF20000 if SB800_FWM_AT_FFF20000
182 default 0xFFE20000 if SB800_FWM_AT_FFE20000
183 default 0xFFC20000 if SB800_FWM_AT_FFC20000
Martin Roth238780c2013-01-08 13:46:50 -0700184 default 0xFF820000 if SB800_FWM_AT_FF820000
Martin Rothe899e512012-12-05 16:07:11 -0700185
186endif #SB800_IMC_FWM
187
Kyösti Mälkkia9bbdd32013-08-09 02:24:05 +0300188config EHCI_BAR
189 hex
190 default 0xfef00000
191
Martin Rothe899e512012-12-05 16:07:11 -0700192choice
193 prompt "Fan Control"
194 default SB800_NO_FAN_CONTROL
195 help
196 Select the method of SB800 fan control to be used. None would be
197 for either fixed maximum speed fans connected to the SB800 or for
198 an external chip controlling the fan speeds. Manual control sets
199 up the SB800 fan control registers. IMC fan control uses the SB800
200 IMC to actively control the fan speeds.
201
202config SB800_NO_FAN_CONTROL
203 bool "None"
204 help
205 No SB800 Fan control - Do not set up the SB800 fan control registers.
206
207config SB800_MANUAL_FAN_CONTROL
208 bool "Manual"
209 help
210 Configure the SB800 fan control registers in devicetree.cb.
211
212config SB800_IMC_FAN_CONTROL
213 bool "IMC Based"
214 depends on SB800_IMC_FWM
215 help
216 Set up the SB800 to use the IMC based Fan controller. This requires
Elyes HAOUAS1bcd7fc2016-07-28 21:20:04 +0200217 the IMC ROM from AMD. Configure the registers in devicetree.cb.
Martin Rothe899e512012-12-05 16:07:11 -0700218
219endchoice
220
efdesign9805a89ab2011-06-20 17:38:49 -0700221endif #SOUTHBRIDGE_AMD_CIMX_SB800