blob: 0b790b06dcb1285016577e820a8b57ce667fa3d2 [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
Michał Żygowski2317b4f2019-11-28 12:59:44 +010024 select SOC_AMD_COMMON
25 select SOC_AMD_COMMON_BLOCK
26 select SOC_AMD_COMMON_BLOCK_ACPIMMIO
Frank Vibrans63e62b02011-02-14 18:38:14 +000027
efdesign9805a89ab2011-06-20 17:38:49 -070028if SOUTHBRIDGE_AMD_CIMX_SB800
Frank Vibrans63e62b02011-02-14 18:38:14 +000029config BOOTBLOCK_SOUTHBRIDGE_INIT
Martin Roth595e7772015-04-26 18:53:26 -060030 string
31 default "southbridge/amd/cimx/sb800/bootblock.c"
Kerry She6209c822011-08-18 18:44:00 +080032
Kerry Shehd7e856b92011-10-11 17:27:06 +080033config ENABLE_IDE_COMBINED_MODE
34 bool "Enable SATA IDE combined mode"
35 default n
36 help
37 If Combined Mode is enabled. IDE controller is exposed and
38 SATA controller has control over Port0 through Port3,
39 IDE controller has control over Port4 and Port5.
40
41 If Combined Mode is disabled, IDE controller is hidden and
42 SATA controller has full control of all 6 Ports when operating in non-IDE mode.
43
44config IDE_COMBINED_MODE
45 hex
Martin Roth3b878122016-09-30 14:43:01 -060046 default 0x0 if ENABLE_IDE_COMBINED_MODE
47 default 0x1 if !ENABLE_IDE_COMBINED_MODE
Kerry Shehd7e856b92011-10-11 17:27:06 +080048
Kerry Shehd4a0e7d2011-10-10 17:17:39 +080049choice
50 prompt "SATA Mode"
Paul Menzelee5c1112013-03-12 12:41:40 +010051 default SB800_SATA_AHCI
Kerry Shehd4a0e7d2011-10-10 17:17:39 +080052 help
53 Select the mode in which SATA should be driven. NATIVE AHCI, or RAID.
Paul Menzelbae3f062013-03-28 13:03:38 +010054 The default is AHCI.
Kerry Shehd4a0e7d2011-10-10 17:17:39 +080055
56config SB800_SATA_IDE
57 bool "NATIVE"
58 help
Paul Menzelbae3f062013-03-28 13:03:38 +010059 NATIVE does not require a ROM.
Kerry Shehd4a0e7d2011-10-10 17:17:39 +080060
61config SB800_SATA_AHCI
62 bool "AHCI"
63 help
Paul Menzelbae3f062013-03-28 13:03:38 +010064 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 +080065 For example, seabios does not require the AHCI ROM.
66
67config SB800_SATA_RAID
68 bool "RAID"
69 help
70 sb800 RAID mode must have the two required ROM files.
71
72endchoice
73
74config SB800_SATA_MODE
Martin Roth595e7772015-04-26 18:53:26 -060075 hex
Kerry Shehd4a0e7d2011-10-10 17:17:39 +080076 depends on (SB800_SATA_IDE || SB800_SATA_RAID || SB800_SATA_AHCI)
Martin Roth3b878122016-09-30 14:43:01 -060077 default 0x0 if SB800_SATA_IDE
78 default 0x1 if SB800_SATA_RAID
79 default 0x2 if SB800_SATA_AHCI
Kerry Shehd4a0e7d2011-10-10 17:17:39 +080080
Kerry She6209c822011-08-18 18:44:00 +080081config SB_SUPERIO_HWM
Martin Roth595e7772015-04-26 18:53:26 -060082 bool
83 default n
Kerry Shehd4a0e7d2011-10-10 17:17:39 +080084
85if SB800_SATA_AHCI
86config AHCI_ROM_ID
87 string "AHCI device PCI IDs"
88 default "1002,4391"
89
90config SB800_AHCI_ROM
91 bool "Add a AHCI ROM"
92
93config AHCI_ROM_FILE
94 string "AHCI ROM path and filename"
95 depends on SB800_AHCI_ROM
96 default "site-local/sb800/ahci.bin"
97endif
98
99if SB800_SATA_RAID
100config RAID_ROM_ID
101 string "RAID device PCI IDs"
102 default "1002,4393"
Martin Roth595e7772015-04-26 18:53:26 -0600103 help
104 1002,4392 for SATA NON-RAID5 module, 1002,4393 for SATA RAID5 mode
Kerry Shehd4a0e7d2011-10-10 17:17:39 +0800105
106config RAID_ROM_FILE
107 string "RAID ROM path and filename"
108 depends on SB800_SATA_RAID
109 default "site-local/sb800/raid.bin"
110
111config RAID_MISC_ROM_FILE
Martin Roth595e7772015-04-26 18:53:26 -0600112 string "RAID Misc ROM path and filename"
113 default "site-local/sb800/misc.bin"
Kerry Shehd4a0e7d2011-10-10 17:17:39 +0800114 depends on SB800_SATA_RAID
115
Kerry Sheh55437c52011-10-12 11:42:59 +0800116config RAID_MISC_ROM_POSITION
117 hex "RAID Misc ROM Position"
118 default 0xFFF00000
119 depends on SB800_SATA_RAID
120 help
121 The RAID ROM requires that the MISC ROM is located between the range
122 0xFFF0_0000 to 0xFFF0_FFFF. Also, it must 1K bytes aligned.
123 The CONFIG_ROM_SIZE must larger than 0x100000.
124
Kerry Shehd4a0e7d2011-10-10 17:17:39 +0800125endif
126
Martin Rothe899e512012-12-05 16:07:11 -0700127config SB800_IMC_FWM
128 bool "Add IMC firmware"
129 default n
Furquan Shaikhc28984d2016-11-20 21:04:00 -0800130 select SPI_FLASH_HAS_VOLATILE_GROUP if SPI_FLASH
Martin Rothe899e512012-12-05 16:07:11 -0700131 help
132 Add SB800 / Hudson 1 IMC Firmware to support the onboard fan control.
Martin Rothe899e512012-12-05 16:07:11 -0700133
134if SB800_IMC_FWM
135
136config SB800_IMC_FWM_FILE
137 string "IMC firmware path and filename"
Patrick Georgi26e24cc2015-05-05 22:27:25 +0200138 default "3rdparty/blobs/southbridge/amd/sb800/imc.bin"
Martin Rothe899e512012-12-05 16:07:11 -0700139
140choice
141 prompt "SB800 Firmware ROM Position"
142
143config SB800_FWM_AT_FFFA0000
144 bool "0xFFFA0000"
145 help
146 The IMC and GEC ROMs requires a 'signature' located at one of several
147 fixed locations in memory. The location used shouldn't matter, just
148 select an area that doesn't conflict with anything else.
149
150config SB800_FWM_AT_FFF20000
151 bool "0xFFF20000"
152 help
153 The IMC and GEC ROMs requires a 'signature' located at one of several
154 fixed locations in memory. The location used shouldn't matter, just
155 select an area that doesn't conflict with anything else.
156
157config SB800_FWM_AT_FFE20000
158 depends on BOARD_ROMSIZE_KB_8192 || BOARD_ROMSIZE_KB_4096 || BOARD_ROMSIZE_KB_2048
159 bool "0xFFE20000"
160 help
161 The IMC and GEC ROMs requires a 'signature' located at one of several
162 fixed locations in memory. The location used shouldn't matter, just
163 select an area that doesn't conflict with anything else.
164
165config SB800_FWM_AT_FFC20000
166 depends on BOARD_ROMSIZE_KB_8192 || BOARD_ROMSIZE_KB_4096
167 bool "0xFFC20000"
168 help
169 The IMC and GEC ROMs requires a 'signature' located at one of several
170 fixed locations in memory. The location used shouldn't matter, just
171 select an area that doesn't conflict with anything else.
172
173config SB800_FWM_AT_FF820000
174 depends on BOARD_ROMSIZE_KB_8192
175 bool "0xFF820000"
176 help
177 The IMC and GEC ROMs requires a 'signature' located at one of several
178 fixed locations in memory. The location used shouldn't matter, just
179 select an area that doesn't conflict with anything else.
180
181endchoice
182
183config SB800_FWM_POSITION
184 hex
185 default 0xFFFA0000 if SB800_FWM_AT_FFFA0000
186 default 0xFFF20000 if SB800_FWM_AT_FFF20000
187 default 0xFFE20000 if SB800_FWM_AT_FFE20000
188 default 0xFFC20000 if SB800_FWM_AT_FFC20000
Martin Roth238780c2013-01-08 13:46:50 -0700189 default 0xFF820000 if SB800_FWM_AT_FF820000
Martin Rothe899e512012-12-05 16:07:11 -0700190
191endif #SB800_IMC_FWM
192
Kyösti Mälkkia9bbdd32013-08-09 02:24:05 +0300193config EHCI_BAR
194 hex
195 default 0xfef00000
196
Martin Rothe899e512012-12-05 16:07:11 -0700197choice
198 prompt "Fan Control"
199 default SB800_NO_FAN_CONTROL
200 help
201 Select the method of SB800 fan control to be used. None would be
202 for either fixed maximum speed fans connected to the SB800 or for
203 an external chip controlling the fan speeds. Manual control sets
204 up the SB800 fan control registers. IMC fan control uses the SB800
205 IMC to actively control the fan speeds.
206
207config SB800_NO_FAN_CONTROL
208 bool "None"
209 help
210 No SB800 Fan control - Do not set up the SB800 fan control registers.
211
212config SB800_MANUAL_FAN_CONTROL
213 bool "Manual"
214 help
215 Configure the SB800 fan control registers in devicetree.cb.
216
217config SB800_IMC_FAN_CONTROL
218 bool "IMC Based"
219 depends on SB800_IMC_FWM
220 help
221 Set up the SB800 to use the IMC based Fan controller. This requires
Elyes HAOUAS1bcd7fc2016-07-28 21:20:04 +0200222 the IMC ROM from AMD. Configure the registers in devicetree.cb.
Martin Rothe899e512012-12-05 16:07:11 -0700223
224endchoice
225
efdesign9805a89ab2011-06-20 17:38:49 -0700226endif #SOUTHBRIDGE_AMD_CIMX_SB800