xref: /linux/drivers/edac/Kconfig (revision 5c7707554858eca8903706b6df7cba5c0f802244)
1da9bb1d2SAlan Cox#
2da9bb1d2SAlan Cox#	EDAC Kconfig
34577ca55SDoug Thompson#	Copyright (c) 2008 Doug Thompson www.softwarebitmaker.com
4da9bb1d2SAlan Cox#	Licensed and distributed under the GPL
5da9bb1d2SAlan Cox#
6da9bb1d2SAlan Cox
7751cb5e5SJan Engelhardtmenuconfig EDAC
8e24aca67SGeunSik Lim	bool "EDAC (Error Detection And Correction) reporting"
9e25df120SMartin Schwidefsky	depends on HAS_IOMEM
10*5c770755SChris Metcalf	depends on X86 || PPC || TILE
11da9bb1d2SAlan Cox	help
12da9bb1d2SAlan Cox	  EDAC is designed to report errors in the core system.
13da9bb1d2SAlan Cox	  These are low-level errors that are reported in the CPU or
148cb2a398SDouglas Thompson	  supporting chipset or other subsystems:
158cb2a398SDouglas Thompson	  memory errors, cache errors, PCI errors, thermal throttling, etc..
168cb2a398SDouglas Thompson	  If unsure, select 'Y'.
17da9bb1d2SAlan Cox
1857c432b5STim Small	  If this code is reporting problems on your system, please
1957c432b5STim Small	  see the EDAC project web pages for more information at:
2057c432b5STim Small
2157c432b5STim Small	  <http://bluesmoke.sourceforge.net/>
2257c432b5STim Small
2357c432b5STim Small	  and:
2457c432b5STim Small
2557c432b5STim Small	  <http://buttersideup.com/edacwiki>
2657c432b5STim Small
2757c432b5STim Small	  There is also a mailing list for the EDAC project, which can
2857c432b5STim Small	  be found via the sourceforge page.
2957c432b5STim Small
30751cb5e5SJan Engelhardtif EDAC
31da9bb1d2SAlan Cox
32da9bb1d2SAlan Coxcomment "Reporting subsystems"
33da9bb1d2SAlan Cox
34da9bb1d2SAlan Coxconfig EDAC_DEBUG
35da9bb1d2SAlan Cox	bool "Debugging"
36da9bb1d2SAlan Cox	help
37da9bb1d2SAlan Cox	  This turns on debugging information for the entire EDAC
38da9bb1d2SAlan Cox	  sub-system. You can insert module with "debug_level=x", current
39da9bb1d2SAlan Cox	  there're four debug levels (x=0,1,2,3 from low to high).
40da9bb1d2SAlan Cox	  Usually you should select 'N'.
41da9bb1d2SAlan Cox
420d18b2e3SBorislav Petkovconfig EDAC_DECODE_MCE
430d18b2e3SBorislav Petkov	tristate "Decode MCEs in human-readable form (only on AMD for now)"
440d18b2e3SBorislav Petkov	depends on CPU_SUP_AMD && X86_MCE
450d18b2e3SBorislav Petkov	default y
460d18b2e3SBorislav Petkov	---help---
470d18b2e3SBorislav Petkov	  Enable this option if you want to decode Machine Check Exceptions
480d18b2e3SBorislav Petkov	  occuring on your machine in human-readable form.
490d18b2e3SBorislav Petkov
500d18b2e3SBorislav Petkov	  You should definitely say Y here in case you want to decode MCEs
510d18b2e3SBorislav Petkov	  which occur really early upon boot, before the module infrastructure
520d18b2e3SBorislav Petkov	  has been initialized.
530d18b2e3SBorislav Petkov
549cdeb404SBorislav Petkovconfig EDAC_MCE_INJ
559cdeb404SBorislav Petkov	tristate "Simple MCE injection interface over /sysfs"
569cdeb404SBorislav Petkov	depends on EDAC_DECODE_MCE
579cdeb404SBorislav Petkov	default n
589cdeb404SBorislav Petkov	help
599cdeb404SBorislav Petkov	  This is a simple interface to inject MCEs over /sysfs and test
609cdeb404SBorislav Petkov	  the MCE decoding code in EDAC.
619cdeb404SBorislav Petkov
629cdeb404SBorislav Petkov	  This is currently AMD-only.
639cdeb404SBorislav Petkov
64da9bb1d2SAlan Coxconfig EDAC_MM_EDAC
65da9bb1d2SAlan Cox	tristate "Main Memory EDAC (Error Detection And Correction) reporting"
66da9bb1d2SAlan Cox	help
67da9bb1d2SAlan Cox	  Some systems are able to detect and correct errors in main
68da9bb1d2SAlan Cox	  memory.  EDAC can report statistics on memory error
69da9bb1d2SAlan Cox	  detection and correction (EDAC - or commonly referred to ECC
70da9bb1d2SAlan Cox	  errors).  EDAC will also try to decode where these errors
71da9bb1d2SAlan Cox	  occurred so that a particular failing memory module can be
72da9bb1d2SAlan Cox	  replaced.  If unsure, select 'Y'.
73da9bb1d2SAlan Cox
74696e409dSMauro Carvalho Chehabconfig EDAC_MCE
75963c5ba3SMauro Carvalho Chehab	bool
76696e409dSMauro Carvalho Chehab
777d6034d3SDoug Thompsonconfig EDAC_AMD64
78027dbd6fSBorislav Petkov	tristate "AMD64 (Opteron, Athlon64) K8, F10h"
79027dbd6fSBorislav Petkov	depends on EDAC_MM_EDAC && AMD_NB && X86_64 && EDAC_DECODE_MCE
807d6034d3SDoug Thompson	help
81027dbd6fSBorislav Petkov	  Support for error detection and correction of DRAM ECC errors on
82027dbd6fSBorislav Petkov	  the AMD64 families of memory controllers (K8 and F10h)
837d6034d3SDoug Thompson
847d6034d3SDoug Thompsonconfig EDAC_AMD64_ERROR_INJECTION
859cdeb404SBorislav Petkov	bool "Sysfs HW Error injection facilities"
867d6034d3SDoug Thompson	depends on EDAC_AMD64
877d6034d3SDoug Thompson	help
887d6034d3SDoug Thompson	  Recent Opterons (Family 10h and later) provide for Memory Error
897d6034d3SDoug Thompson	  Injection into the ECC detection circuits. The amd64_edac module
907d6034d3SDoug Thompson	  allows the operator/user to inject Uncorrectable and Correctable
917d6034d3SDoug Thompson	  errors into DRAM.
927d6034d3SDoug Thompson
937d6034d3SDoug Thompson	  When enabled, in each of the respective memory controller directories
947d6034d3SDoug Thompson	  (/sys/devices/system/edac/mc/mcX), there are 3 input files:
957d6034d3SDoug Thompson
967d6034d3SDoug Thompson	  - inject_section (0..3, 16-byte section of 64-byte cacheline),
977d6034d3SDoug Thompson	  - inject_word (0..8, 16-bit word of 16-byte section),
987d6034d3SDoug Thompson	  - inject_ecc_vector (hex ecc vector: select bits of inject word)
997d6034d3SDoug Thompson
1007d6034d3SDoug Thompson	  In addition, there are two control files, inject_read and inject_write,
1017d6034d3SDoug Thompson	  which trigger the DRAM ECC Read and Write respectively.
102da9bb1d2SAlan Cox
103da9bb1d2SAlan Coxconfig EDAC_AMD76X
104da9bb1d2SAlan Cox	tristate "AMD 76x (760, 762, 768)"
10590cbc45bSDave Jones	depends on EDAC_MM_EDAC && PCI && X86_32
106da9bb1d2SAlan Cox	help
107da9bb1d2SAlan Cox	  Support for error detection and correction on the AMD 76x
108da9bb1d2SAlan Cox	  series of chipsets used with the Athlon processor.
109da9bb1d2SAlan Cox
110da9bb1d2SAlan Coxconfig EDAC_E7XXX
111da9bb1d2SAlan Cox	tristate "Intel e7xxx (e7205, e7500, e7501, e7505)"
11239f1d8d3SDave Peterson	depends on EDAC_MM_EDAC && PCI && X86_32
113da9bb1d2SAlan Cox	help
114da9bb1d2SAlan Cox	  Support for error detection and correction on the Intel
115da9bb1d2SAlan Cox	  E7205, E7500, E7501 and E7505 server chipsets.
116da9bb1d2SAlan Cox
117da9bb1d2SAlan Coxconfig EDAC_E752X
1185135b797SAndrei Konovalov	tristate "Intel e752x (e7520, e7525, e7320) and 3100"
119da960a6aSRandy Dunlap	depends on EDAC_MM_EDAC && PCI && X86 && HOTPLUG
120da9bb1d2SAlan Cox	help
121da9bb1d2SAlan Cox	  Support for error detection and correction on the Intel
122da9bb1d2SAlan Cox	  E7520, E7525, E7320 server chipsets.
123da9bb1d2SAlan Cox
1245a2c675cSTim Smallconfig EDAC_I82443BXGX
1255a2c675cSTim Small	tristate "Intel 82443BX/GX (440BX/GX)"
1265a2c675cSTim Small	depends on EDAC_MM_EDAC && PCI && X86_32
12728f96eeaSAndrew Morton	depends on BROKEN
1285a2c675cSTim Small	help
1295a2c675cSTim Small	  Support for error detection and correction on the Intel
1305a2c675cSTim Small	  82443BX/GX memory controllers (440BX/GX chipsets).
1315a2c675cSTim Small
132da9bb1d2SAlan Coxconfig EDAC_I82875P
133da9bb1d2SAlan Cox	tristate "Intel 82875p (D82875P, E7210)"
13439f1d8d3SDave Peterson	depends on EDAC_MM_EDAC && PCI && X86_32
135da9bb1d2SAlan Cox	help
136da9bb1d2SAlan Cox	  Support for error detection and correction on the Intel
137da9bb1d2SAlan Cox	  DP82785P and E7210 server chipsets.
138da9bb1d2SAlan Cox
139420390f0SRanganathan Desikanconfig EDAC_I82975X
140420390f0SRanganathan Desikan	tristate "Intel 82975x (D82975x)"
141420390f0SRanganathan Desikan	depends on EDAC_MM_EDAC && PCI && X86
142420390f0SRanganathan Desikan	help
143420390f0SRanganathan Desikan	  Support for error detection and correction on the Intel
144420390f0SRanganathan Desikan	  DP82975x server chipsets.
145420390f0SRanganathan Desikan
146535c6a53SJason Uhlenkottconfig EDAC_I3000
147535c6a53SJason Uhlenkott	tristate "Intel 3000/3010"
148f5c0454cSJason Uhlenkott	depends on EDAC_MM_EDAC && PCI && X86
149535c6a53SJason Uhlenkott	help
150535c6a53SJason Uhlenkott	  Support for error detection and correction on the Intel
151535c6a53SJason Uhlenkott	  3000 and 3010 server chipsets.
152535c6a53SJason Uhlenkott
153dd8ef1dbSJason Uhlenkottconfig EDAC_I3200
154dd8ef1dbSJason Uhlenkott	tristate "Intel 3200"
155dd8ef1dbSJason Uhlenkott	depends on EDAC_MM_EDAC && PCI && X86 && EXPERIMENTAL
156dd8ef1dbSJason Uhlenkott	help
157dd8ef1dbSJason Uhlenkott	  Support for error detection and correction on the Intel
158dd8ef1dbSJason Uhlenkott	  3200 and 3210 server chipsets.
159dd8ef1dbSJason Uhlenkott
160df8bc08cSHitoshi Mitakeconfig EDAC_X38
161df8bc08cSHitoshi Mitake	tristate "Intel X38"
162df8bc08cSHitoshi Mitake	depends on EDAC_MM_EDAC && PCI && X86
163df8bc08cSHitoshi Mitake	help
164df8bc08cSHitoshi Mitake	  Support for error detection and correction on the Intel
165df8bc08cSHitoshi Mitake	  X38 server chipsets.
166df8bc08cSHitoshi Mitake
167920c8df6SMauro Carvalho Chehabconfig EDAC_I5400
168920c8df6SMauro Carvalho Chehab	tristate "Intel 5400 (Seaburg) chipsets"
169920c8df6SMauro Carvalho Chehab	depends on EDAC_MM_EDAC && PCI && X86
170920c8df6SMauro Carvalho Chehab	help
171920c8df6SMauro Carvalho Chehab	  Support for error detection and correction the Intel
172920c8df6SMauro Carvalho Chehab	  i5400 MCH chipset (Seaburg).
173920c8df6SMauro Carvalho Chehab
174a0c36a1fSMauro Carvalho Chehabconfig EDAC_I7CORE
175a0c36a1fSMauro Carvalho Chehab	tristate "Intel i7 Core (Nehalem) processors"
176a0c36a1fSMauro Carvalho Chehab	depends on EDAC_MM_EDAC && PCI && X86
177696e409dSMauro Carvalho Chehab	select EDAC_MCE
178a0c36a1fSMauro Carvalho Chehab	help
179a0c36a1fSMauro Carvalho Chehab	  Support for error detection and correction the Intel
180696e409dSMauro Carvalho Chehab	  i7 Core (Nehalem) Integrated Memory Controller that exists on
181696e409dSMauro Carvalho Chehab	  newer processors like i7 Core, i7 Core Extreme, Xeon 35xx
182696e409dSMauro Carvalho Chehab	  and Xeon 55xx processors.
183a0c36a1fSMauro Carvalho Chehab
184da9bb1d2SAlan Coxconfig EDAC_I82860
185da9bb1d2SAlan Cox	tristate "Intel 82860"
18639f1d8d3SDave Peterson	depends on EDAC_MM_EDAC && PCI && X86_32
187da9bb1d2SAlan Cox	help
188da9bb1d2SAlan Cox	  Support for error detection and correction on the Intel
189da9bb1d2SAlan Cox	  82860 chipset.
190da9bb1d2SAlan Cox
191da9bb1d2SAlan Coxconfig EDAC_R82600
192da9bb1d2SAlan Cox	tristate "Radisys 82600 embedded chipset"
19339f1d8d3SDave Peterson	depends on EDAC_MM_EDAC && PCI && X86_32
194da9bb1d2SAlan Cox	help
195da9bb1d2SAlan Cox	  Support for error detection and correction on the Radisys
196da9bb1d2SAlan Cox	  82600 embedded chipset.
197da9bb1d2SAlan Cox
198eb60705aSEric Wollesenconfig EDAC_I5000
199eb60705aSEric Wollesen	tristate "Intel Greencreek/Blackford chipset"
200eb60705aSEric Wollesen	depends on EDAC_MM_EDAC && X86 && PCI
201eb60705aSEric Wollesen	help
202eb60705aSEric Wollesen	  Support for error detection and correction the Intel
203eb60705aSEric Wollesen	  Greekcreek/Blackford chipsets.
204eb60705aSEric Wollesen
2058f421c59SArthur Jonesconfig EDAC_I5100
2068f421c59SArthur Jones	tristate "Intel San Clemente MCH"
2078f421c59SArthur Jones	depends on EDAC_MM_EDAC && X86 && PCI
2088f421c59SArthur Jones	help
2098f421c59SArthur Jones	  Support for error detection and correction the Intel
2108f421c59SArthur Jones	  San Clemente MCH.
2118f421c59SArthur Jones
212fcaf780bSMauro Carvalho Chehabconfig EDAC_I7300
213fcaf780bSMauro Carvalho Chehab	tristate "Intel Clarksboro MCH"
214fcaf780bSMauro Carvalho Chehab	depends on EDAC_MM_EDAC && X86 && PCI
215fcaf780bSMauro Carvalho Chehab	help
216fcaf780bSMauro Carvalho Chehab	  Support for error detection and correction the Intel
217fcaf780bSMauro Carvalho Chehab	  Clarksboro MCH (Intel 7300 chipset).
218fcaf780bSMauro Carvalho Chehab
219a9a753d5SDave Jiangconfig EDAC_MPC85XX
220b4846251SIra W. Snyder	tristate "Freescale MPC83xx / MPC85xx"
2211cd8521eSAnton Vorontsov	depends on EDAC_MM_EDAC && FSL_SOC && (PPC_83xx || PPC_85xx)
222a9a753d5SDave Jiang	help
223a9a753d5SDave Jiang	  Support for error detection and correction on the Freescale
224b4846251SIra W. Snyder	  MPC8349, MPC8560, MPC8540, MPC8548
225a9a753d5SDave Jiang
2264f4aeeabSDave Jiangconfig EDAC_MV64X60
2274f4aeeabSDave Jiang	tristate "Marvell MV64x60"
2284f4aeeabSDave Jiang	depends on EDAC_MM_EDAC && MV64X60
2294f4aeeabSDave Jiang	help
2304f4aeeabSDave Jiang	  Support for error detection and correction on the Marvell
2314f4aeeabSDave Jiang	  MV64360 and MV64460 chipsets.
2324f4aeeabSDave Jiang
2337d8536fbSEgor Martovetskyconfig EDAC_PASEMI
2347d8536fbSEgor Martovetsky	tristate "PA Semi PWRficient"
2357d8536fbSEgor Martovetsky	depends on EDAC_MM_EDAC && PCI
236ddcc3050SDoug Thompson	depends on PPC_PASEMI
2377d8536fbSEgor Martovetsky	help
2387d8536fbSEgor Martovetsky	  Support for error detection and correction on PA Semi
2397d8536fbSEgor Martovetsky	  PWRficient.
2407d8536fbSEgor Martovetsky
24148764e41SBenjamin Herrenschmidtconfig EDAC_CELL
24248764e41SBenjamin Herrenschmidt	tristate "Cell Broadband Engine memory controller"
243def434c2SBenjamin Krill	depends on EDAC_MM_EDAC && PPC_CELL_COMMON
24448764e41SBenjamin Herrenschmidt	help
24548764e41SBenjamin Herrenschmidt	  Support for error detection and correction on the
24648764e41SBenjamin Herrenschmidt	  Cell Broadband Engine internal memory controller
24748764e41SBenjamin Herrenschmidt	  on platform without a hypervisor
2487d8536fbSEgor Martovetsky
249dba7a77cSGrant Ericksonconfig EDAC_PPC4XX
250dba7a77cSGrant Erickson	tristate "PPC4xx IBM DDR2 Memory Controller"
251dba7a77cSGrant Erickson	depends on EDAC_MM_EDAC && 4xx
252dba7a77cSGrant Erickson	help
253dba7a77cSGrant Erickson	  This enables support for EDAC on the ECC memory used
254dba7a77cSGrant Erickson	  with the IBM DDR2 memory controller found in various
255dba7a77cSGrant Erickson	  PowerPC 4xx embedded processors such as the 405EX[r],
256dba7a77cSGrant Erickson	  440SP, 440SPe, 460EX, 460GT and 460SX.
257dba7a77cSGrant Erickson
258e8765584SHarry Ciaoconfig EDAC_AMD8131
259e8765584SHarry Ciao	tristate "AMD8131 HyperTransport PCI-X Tunnel"
260715fe7afSHarry Ciao	depends on EDAC_MM_EDAC && PCI && PPC_MAPLE
261e8765584SHarry Ciao	help
262e8765584SHarry Ciao	  Support for error detection and correction on the
263e8765584SHarry Ciao	  AMD8131 HyperTransport PCI-X Tunnel chip.
264715fe7afSHarry Ciao	  Note, add more Kconfig dependency if it's adopted
265715fe7afSHarry Ciao	  on some machine other than Maple.
266e8765584SHarry Ciao
26758b4ce6fSHarry Ciaoconfig EDAC_AMD8111
26858b4ce6fSHarry Ciao	tristate "AMD8111 HyperTransport I/O Hub"
269715fe7afSHarry Ciao	depends on EDAC_MM_EDAC && PCI && PPC_MAPLE
27058b4ce6fSHarry Ciao	help
27158b4ce6fSHarry Ciao	  Support for error detection and correction on the
27258b4ce6fSHarry Ciao	  AMD8111 HyperTransport I/O Hub chip.
273715fe7afSHarry Ciao	  Note, add more Kconfig dependency if it's adopted
274715fe7afSHarry Ciao	  on some machine other than Maple.
27558b4ce6fSHarry Ciao
2762a9036afSHarry Ciaoconfig EDAC_CPC925
2772a9036afSHarry Ciao	tristate "IBM CPC925 Memory Controller (PPC970FX)"
2782a9036afSHarry Ciao	depends on EDAC_MM_EDAC && PPC64
2792a9036afSHarry Ciao	help
2802a9036afSHarry Ciao	  Support for error detection and correction on the
2812a9036afSHarry Ciao	  IBM CPC925 Bridge and Memory Controller, which is
2822a9036afSHarry Ciao	  a companion chip to the PowerPC 970 family of
2832a9036afSHarry Ciao	  processors.
2842a9036afSHarry Ciao
285*5c770755SChris Metcalfconfig EDAC_TILE
286*5c770755SChris Metcalf	tristate "Tilera Memory Controller"
287*5c770755SChris Metcalf	depends on EDAC_MM_EDAC && TILE
288*5c770755SChris Metcalf	default y
289*5c770755SChris Metcalf	help
290*5c770755SChris Metcalf	  Support for error detection and correction on the
291*5c770755SChris Metcalf	  Tilera memory controller.
292*5c770755SChris Metcalf
293751cb5e5SJan Engelhardtendif # EDAC
294