blob: fcfdfb4a68c968acf915b394f7701faed776c56f [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
Frank Vibrans63e62b02011-02-14 18:38:14 +000014
efdesign9805a89ab2011-06-20 17:38:49 -070015if SOUTHBRIDGE_AMD_CIMX_SB800
Kerry Shehd7e856b92011-10-11 17:27:06 +080016config ENABLE_IDE_COMBINED_MODE
17 bool "Enable SATA IDE combined mode"
18 default n
19 help
20 If Combined Mode is enabled. IDE controller is exposed and
21 SATA controller has control over Port0 through Port3,
22 IDE controller has control over Port4 and Port5.
23
24 If Combined Mode is disabled, IDE controller is hidden and
25 SATA controller has full control of all 6 Ports when operating in non-IDE mode.
26
27config IDE_COMBINED_MODE
28 hex
Martin Roth3b878122016-09-30 14:43:01 -060029 default 0x0 if ENABLE_IDE_COMBINED_MODE
30 default 0x1 if !ENABLE_IDE_COMBINED_MODE
Kerry Shehd7e856b92011-10-11 17:27:06 +080031
Kerry Shehd4a0e7d2011-10-10 17:17:39 +080032choice
33 prompt "SATA Mode"
Paul Menzelee5c1112013-03-12 12:41:40 +010034 default SB800_SATA_AHCI
Kerry Shehd4a0e7d2011-10-10 17:17:39 +080035 help
36 Select the mode in which SATA should be driven. NATIVE AHCI, or RAID.
Paul Menzelbae3f062013-03-28 13:03:38 +010037 The default is AHCI.
Kerry Shehd4a0e7d2011-10-10 17:17:39 +080038
39config SB800_SATA_IDE
40 bool "NATIVE"
41 help
Paul Menzelbae3f062013-03-28 13:03:38 +010042 NATIVE does not require a ROM.
Kerry Shehd4a0e7d2011-10-10 17:17:39 +080043
44config SB800_SATA_AHCI
45 bool "AHCI"
46 help
Paul Menzelbae3f062013-03-28 13:03:38 +010047 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 +080048 For example, seabios does not require the AHCI ROM.
49
50config SB800_SATA_RAID
51 bool "RAID"
52 help
53 sb800 RAID mode must have the two required ROM files.
54
55endchoice
56
57config SB800_SATA_MODE
Martin Roth595e7772015-04-26 18:53:26 -060058 hex
Kerry Shehd4a0e7d2011-10-10 17:17:39 +080059 depends on (SB800_SATA_IDE || SB800_SATA_RAID || SB800_SATA_AHCI)
Martin Roth3b878122016-09-30 14:43:01 -060060 default 0x0 if SB800_SATA_IDE
61 default 0x1 if SB800_SATA_RAID
62 default 0x2 if SB800_SATA_AHCI
Kerry Shehd4a0e7d2011-10-10 17:17:39 +080063
Kerry She6209c822011-08-18 18:44:00 +080064config SB_SUPERIO_HWM
Martin Roth595e7772015-04-26 18:53:26 -060065 bool
66 default n
Kerry Shehd4a0e7d2011-10-10 17:17:39 +080067
68if SB800_SATA_AHCI
69config AHCI_ROM_ID
70 string "AHCI device PCI IDs"
71 default "1002,4391"
72
73config SB800_AHCI_ROM
74 bool "Add a AHCI ROM"
75
76config AHCI_ROM_FILE
77 string "AHCI ROM path and filename"
78 depends on SB800_AHCI_ROM
79 default "site-local/sb800/ahci.bin"
80endif
81
82if SB800_SATA_RAID
83config RAID_ROM_ID
84 string "RAID device PCI IDs"
85 default "1002,4393"
Martin Roth595e7772015-04-26 18:53:26 -060086 help
87 1002,4392 for SATA NON-RAID5 module, 1002,4393 for SATA RAID5 mode
Kerry Shehd4a0e7d2011-10-10 17:17:39 +080088
89config RAID_ROM_FILE
90 string "RAID ROM path and filename"
91 depends on SB800_SATA_RAID
92 default "site-local/sb800/raid.bin"
93
94config RAID_MISC_ROM_FILE
Martin Roth595e7772015-04-26 18:53:26 -060095 string "RAID Misc ROM path and filename"
96 default "site-local/sb800/misc.bin"
Kerry Shehd4a0e7d2011-10-10 17:17:39 +080097 depends on SB800_SATA_RAID
98
Kerry Sheh55437c52011-10-12 11:42:59 +080099config RAID_MISC_ROM_POSITION
100 hex "RAID Misc ROM Position"
101 default 0xFFF00000
102 depends on SB800_SATA_RAID
103 help
104 The RAID ROM requires that the MISC ROM is located between the range
105 0xFFF0_0000 to 0xFFF0_FFFF. Also, it must 1K bytes aligned.
106 The CONFIG_ROM_SIZE must larger than 0x100000.
107
Kerry Shehd4a0e7d2011-10-10 17:17:39 +0800108endif
109
Martin Rothe899e512012-12-05 16:07:11 -0700110config SB800_IMC_FWM
111 bool "Add IMC firmware"
112 default n
Furquan Shaikhc28984d2016-11-20 21:04:00 -0800113 select SPI_FLASH_HAS_VOLATILE_GROUP if SPI_FLASH
Martin Rothe899e512012-12-05 16:07:11 -0700114 help
115 Add SB800 / Hudson 1 IMC Firmware to support the onboard fan control.
Martin Rothe899e512012-12-05 16:07:11 -0700116
117if SB800_IMC_FWM
118
119config SB800_IMC_FWM_FILE
120 string "IMC firmware path and filename"
Patrick Georgi26e24cc2015-05-05 22:27:25 +0200121 default "3rdparty/blobs/southbridge/amd/sb800/imc.bin"
Martin Rothe899e512012-12-05 16:07:11 -0700122
123choice
124 prompt "SB800 Firmware ROM Position"
125
126config SB800_FWM_AT_FFFA0000
127 bool "0xFFFA0000"
128 help
129 The IMC and GEC ROMs requires a 'signature' located at one of several
130 fixed locations in memory. The location used shouldn't matter, just
131 select an area that doesn't conflict with anything else.
132
133config SB800_FWM_AT_FFF20000
134 bool "0xFFF20000"
135 help
136 The IMC and GEC ROMs requires a 'signature' located at one of several
137 fixed locations in memory. The location used shouldn't matter, just
138 select an area that doesn't conflict with anything else.
139
140config SB800_FWM_AT_FFE20000
141 depends on BOARD_ROMSIZE_KB_8192 || BOARD_ROMSIZE_KB_4096 || BOARD_ROMSIZE_KB_2048
142 bool "0xFFE20000"
143 help
144 The IMC and GEC ROMs requires a 'signature' located at one of several
145 fixed locations in memory. The location used shouldn't matter, just
146 select an area that doesn't conflict with anything else.
147
148config SB800_FWM_AT_FFC20000
149 depends on BOARD_ROMSIZE_KB_8192 || BOARD_ROMSIZE_KB_4096
150 bool "0xFFC20000"
151 help
152 The IMC and GEC ROMs requires a 'signature' located at one of several
153 fixed locations in memory. The location used shouldn't matter, just
154 select an area that doesn't conflict with anything else.
155
156config SB800_FWM_AT_FF820000
157 depends on BOARD_ROMSIZE_KB_8192
158 bool "0xFF820000"
159 help
160 The IMC and GEC ROMs requires a 'signature' located at one of several
161 fixed locations in memory. The location used shouldn't matter, just
162 select an area that doesn't conflict with anything else.
163
164endchoice
165
166config SB800_FWM_POSITION
167 hex
168 default 0xFFFA0000 if SB800_FWM_AT_FFFA0000
169 default 0xFFF20000 if SB800_FWM_AT_FFF20000
170 default 0xFFE20000 if SB800_FWM_AT_FFE20000
171 default 0xFFC20000 if SB800_FWM_AT_FFC20000
Martin Roth238780c2013-01-08 13:46:50 -0700172 default 0xFF820000 if SB800_FWM_AT_FF820000
Martin Rothe899e512012-12-05 16:07:11 -0700173
174endif #SB800_IMC_FWM
175
Kyösti Mälkkia9bbdd32013-08-09 02:24:05 +0300176config EHCI_BAR
177 hex
178 default 0xfef00000
179
Martin Rothe899e512012-12-05 16:07:11 -0700180choice
181 prompt "Fan Control"
182 default SB800_NO_FAN_CONTROL
183 help
184 Select the method of SB800 fan control to be used. None would be
185 for either fixed maximum speed fans connected to the SB800 or for
186 an external chip controlling the fan speeds. Manual control sets
187 up the SB800 fan control registers. IMC fan control uses the SB800
188 IMC to actively control the fan speeds.
189
190config SB800_NO_FAN_CONTROL
191 bool "None"
192 help
193 No SB800 Fan control - Do not set up the SB800 fan control registers.
194
195config SB800_MANUAL_FAN_CONTROL
196 bool "Manual"
197 help
198 Configure the SB800 fan control registers in devicetree.cb.
199
200config SB800_IMC_FAN_CONTROL
201 bool "IMC Based"
202 depends on SB800_IMC_FWM
203 help
204 Set up the SB800 to use the IMC based Fan controller. This requires
Elyes HAOUAS1bcd7fc2016-07-28 21:20:04 +0200205 the IMC ROM from AMD. Configure the registers in devicetree.cb.
Martin Rothe899e512012-12-05 16:07:11 -0700206
207endchoice
208
efdesign9805a89ab2011-06-20 17:38:49 -0700209endif #SOUTHBRIDGE_AMD_CIMX_SB800