blob: 7ab2cc1c07486183efdb996d374ffe3becaa5811 [file] [log] [blame]
Elyes HAOUAS87415102020-05-07 11:49:08 +02001# SPDX-License-Identifier: GPL-2.0-only
Frank Vibrans63e62b02011-02-14 18:38:14 +00002
efdesign9805a89ab2011-06-20 17:38:49 -07003config SOUTHBRIDGE_AMD_CIMX_SB800
Frank Vibrans63e62b02011-02-14 18:38:14 +00004 bool
Kerry Shefeed3292011-08-18 18:03:44 +08005 default n
Kyösti Mälkki8526c3a2014-01-03 08:20:50 +02006 select HAVE_USBDEBUG_OPTIONS
Kerry Shefeed3292011-08-18 18:03:44 +08007 select AMD_SB_CIMX
Nico Huber3e1b3b12018-10-07 12:45:47 +02008 select HAVE_CF9_RESET
9 select HAVE_CF9_RESET_PREPARE
Michał Żygowski2317b4f2019-11-28 12:59:44 +010010 select SOC_AMD_COMMON
Michał Żygowski2317b4f2019-11-28 12:59:44 +010011 select SOC_AMD_COMMON_BLOCK_ACPIMMIO
Felix Held31364242021-07-23 19:18:02 +020012 select SOC_AMD_COMMON_BLOCK_ACPIMMIO_BIOSRAM
Felix Held21cdf0d2020-11-23 16:24:29 +010013 select SOC_AMD_COMMON_BLOCK_PCI_MMCONF
Arthur Heymansb97a3032020-08-07 22:30:04 +020014 select BOOT_DEVICE_SUPPORTS_WRITES
Frank Vibrans63e62b02011-02-14 18:38:14 +000015
efdesign9805a89ab2011-06-20 17:38:49 -070016if SOUTHBRIDGE_AMD_CIMX_SB800
Kerry Shehd7e856b92011-10-11 17:27:06 +080017config ENABLE_IDE_COMBINED_MODE
18 bool "Enable SATA IDE combined mode"
19 default n
20 help
21 If Combined Mode is enabled. IDE controller is exposed and
22 SATA controller has control over Port0 through Port3,
23 IDE controller has control over Port4 and Port5.
24
25 If Combined Mode is disabled, IDE controller is hidden and
26 SATA controller has full control of all 6 Ports when operating in non-IDE mode.
27
28config IDE_COMBINED_MODE
29 hex
Martin Roth3b878122016-09-30 14:43:01 -060030 default 0x0 if ENABLE_IDE_COMBINED_MODE
31 default 0x1 if !ENABLE_IDE_COMBINED_MODE
Kerry Shehd7e856b92011-10-11 17:27:06 +080032
Kerry Shehd4a0e7d2011-10-10 17:17:39 +080033choice
34 prompt "SATA Mode"
Paul Menzelee5c1112013-03-12 12:41:40 +010035 default SB800_SATA_AHCI
Kerry Shehd4a0e7d2011-10-10 17:17:39 +080036 help
37 Select the mode in which SATA should be driven. NATIVE AHCI, or RAID.
Paul Menzelbae3f062013-03-28 13:03:38 +010038 The default is AHCI.
Kerry Shehd4a0e7d2011-10-10 17:17:39 +080039
40config SB800_SATA_IDE
41 bool "NATIVE"
42 help
Paul Menzelbae3f062013-03-28 13:03:38 +010043 NATIVE does not require a ROM.
Kerry Shehd4a0e7d2011-10-10 17:17:39 +080044
45config SB800_SATA_AHCI
46 bool "AHCI"
47 help
Paul Menzelbae3f062013-03-28 13:03:38 +010048 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 +080049 For example, seabios does not require the AHCI ROM.
50
51config SB800_SATA_RAID
52 bool "RAID"
53 help
54 sb800 RAID mode must have the two required ROM files.
55
56endchoice
57
58config SB800_SATA_MODE
Martin Roth595e7772015-04-26 18:53:26 -060059 hex
Kerry Shehd4a0e7d2011-10-10 17:17:39 +080060 depends on (SB800_SATA_IDE || SB800_SATA_RAID || SB800_SATA_AHCI)
Martin Roth3b878122016-09-30 14:43:01 -060061 default 0x0 if SB800_SATA_IDE
62 default 0x1 if SB800_SATA_RAID
63 default 0x2 if SB800_SATA_AHCI
Kerry Shehd4a0e7d2011-10-10 17:17:39 +080064
Kerry She6209c822011-08-18 18:44:00 +080065config SB_SUPERIO_HWM
Martin Roth595e7772015-04-26 18:53:26 -060066 bool
67 default n
Kerry Shehd4a0e7d2011-10-10 17:17:39 +080068
69if SB800_SATA_AHCI
70config AHCI_ROM_ID
71 string "AHCI device PCI IDs"
72 default "1002,4391"
73
74config SB800_AHCI_ROM
75 bool "Add a AHCI ROM"
76
77config AHCI_ROM_FILE
78 string "AHCI ROM path and filename"
79 depends on SB800_AHCI_ROM
80 default "site-local/sb800/ahci.bin"
81endif
82
83if SB800_SATA_RAID
84config RAID_ROM_ID
85 string "RAID device PCI IDs"
86 default "1002,4393"
Martin Roth595e7772015-04-26 18:53:26 -060087 help
88 1002,4392 for SATA NON-RAID5 module, 1002,4393 for SATA RAID5 mode
Kerry Shehd4a0e7d2011-10-10 17:17:39 +080089
90config RAID_ROM_FILE
91 string "RAID ROM path and filename"
92 depends on SB800_SATA_RAID
93 default "site-local/sb800/raid.bin"
94
95config RAID_MISC_ROM_FILE
Martin Roth595e7772015-04-26 18:53:26 -060096 string "RAID Misc ROM path and filename"
97 default "site-local/sb800/misc.bin"
Kerry Shehd4a0e7d2011-10-10 17:17:39 +080098 depends on SB800_SATA_RAID
99
Kerry Sheh55437c52011-10-12 11:42:59 +0800100config RAID_MISC_ROM_POSITION
101 hex "RAID Misc ROM Position"
102 default 0xFFF00000
103 depends on SB800_SATA_RAID
104 help
105 The RAID ROM requires that the MISC ROM is located between the range
106 0xFFF0_0000 to 0xFFF0_FFFF. Also, it must 1K bytes aligned.
107 The CONFIG_ROM_SIZE must larger than 0x100000.
108
Kerry Shehd4a0e7d2011-10-10 17:17:39 +0800109endif
110
Martin Rothe899e512012-12-05 16:07:11 -0700111config SB800_IMC_FWM
112 bool "Add IMC firmware"
113 default n
Furquan Shaikhc28984d2016-11-20 21:04:00 -0800114 select SPI_FLASH_HAS_VOLATILE_GROUP if SPI_FLASH
Martin Rothe899e512012-12-05 16:07:11 -0700115 help
116 Add SB800 / Hudson 1 IMC Firmware to support the onboard fan control.
Martin Rothe899e512012-12-05 16:07:11 -0700117
118if SB800_IMC_FWM
119
120config SB800_IMC_FWM_FILE
121 string "IMC firmware path and filename"
Patrick Georgi26e24cc2015-05-05 22:27:25 +0200122 default "3rdparty/blobs/southbridge/amd/sb800/imc.bin"
Martin Rothe899e512012-12-05 16:07:11 -0700123
124choice
125 prompt "SB800 Firmware ROM Position"
126
127config SB800_FWM_AT_FFFA0000
128 bool "0xFFFA0000"
129 help
130 The IMC and GEC ROMs requires a 'signature' located at one of several
131 fixed locations in memory. The location used shouldn't matter, just
132 select an area that doesn't conflict with anything else.
133
134config SB800_FWM_AT_FFF20000
135 bool "0xFFF20000"
136 help
137 The IMC and GEC ROMs requires a 'signature' located at one of several
138 fixed locations in memory. The location used shouldn't matter, just
139 select an area that doesn't conflict with anything else.
140
141config SB800_FWM_AT_FFE20000
142 depends on BOARD_ROMSIZE_KB_8192 || BOARD_ROMSIZE_KB_4096 || BOARD_ROMSIZE_KB_2048
143 bool "0xFFE20000"
144 help
145 The IMC and GEC ROMs requires a 'signature' located at one of several
146 fixed locations in memory. The location used shouldn't matter, just
147 select an area that doesn't conflict with anything else.
148
149config SB800_FWM_AT_FFC20000
150 depends on BOARD_ROMSIZE_KB_8192 || BOARD_ROMSIZE_KB_4096
151 bool "0xFFC20000"
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_FF820000
158 depends on BOARD_ROMSIZE_KB_8192
159 bool "0xFF820000"
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
165endchoice
166
167config SB800_FWM_POSITION
168 hex
169 default 0xFFFA0000 if SB800_FWM_AT_FFFA0000
170 default 0xFFF20000 if SB800_FWM_AT_FFF20000
171 default 0xFFE20000 if SB800_FWM_AT_FFE20000
172 default 0xFFC20000 if SB800_FWM_AT_FFC20000
Martin Roth238780c2013-01-08 13:46:50 -0700173 default 0xFF820000 if SB800_FWM_AT_FF820000
Martin Rothe899e512012-12-05 16:07:11 -0700174
175endif #SB800_IMC_FWM
176
Kyösti Mälkkia9bbdd32013-08-09 02:24:05 +0300177config EHCI_BAR
178 hex
179 default 0xfef00000
180
Martin Rothe899e512012-12-05 16:07:11 -0700181choice
182 prompt "Fan Control"
183 default SB800_NO_FAN_CONTROL
184 help
185 Select the method of SB800 fan control to be used. None would be
186 for either fixed maximum speed fans connected to the SB800 or for
187 an external chip controlling the fan speeds. Manual control sets
188 up the SB800 fan control registers. IMC fan control uses the SB800
189 IMC to actively control the fan speeds.
190
191config SB800_NO_FAN_CONTROL
192 bool "None"
193 help
194 No SB800 Fan control - Do not set up the SB800 fan control registers.
195
196config SB800_MANUAL_FAN_CONTROL
197 bool "Manual"
198 help
199 Configure the SB800 fan control registers in devicetree.cb.
200
201config SB800_IMC_FAN_CONTROL
202 bool "IMC Based"
203 depends on SB800_IMC_FWM
204 help
205 Set up the SB800 to use the IMC based Fan controller. This requires
Elyes HAOUAS1bcd7fc2016-07-28 21:20:04 +0200206 the IMC ROM from AMD. Configure the registers in devicetree.cb.
Martin Rothe899e512012-12-05 16:07:11 -0700207
208endchoice
209
efdesign9805a89ab2011-06-20 17:38:49 -0700210endif #SOUTHBRIDGE_AMD_CIMX_SB800