1*4882a593Smuzhiyun# 2*4882a593Smuzhiyun# EDAC Kconfig 3*4882a593Smuzhiyun# Copyright (c) 2008 Doug Thompson www.softwarebitmaker.com 4*4882a593Smuzhiyun# Licensed and distributed under the GPL 5*4882a593Smuzhiyun 6*4882a593Smuzhiyunconfig EDAC_ATOMIC_SCRUB 7*4882a593Smuzhiyun bool 8*4882a593Smuzhiyun 9*4882a593Smuzhiyunconfig EDAC_SUPPORT 10*4882a593Smuzhiyun bool 11*4882a593Smuzhiyun 12*4882a593Smuzhiyunmenuconfig EDAC 13*4882a593Smuzhiyun tristate "EDAC (Error Detection And Correction) reporting" 14*4882a593Smuzhiyun depends on HAS_IOMEM && EDAC_SUPPORT && RAS 15*4882a593Smuzhiyun help 16*4882a593Smuzhiyun EDAC is a subsystem along with hardware-specific drivers designed to 17*4882a593Smuzhiyun report hardware errors. These are low-level errors that are reported 18*4882a593Smuzhiyun in the CPU or supporting chipset or other subsystems: 19*4882a593Smuzhiyun memory errors, cache errors, PCI errors, thermal throttling, etc.. 20*4882a593Smuzhiyun If unsure, select 'Y'. 21*4882a593Smuzhiyun 22*4882a593Smuzhiyun The mailing list for the EDAC project is linux-edac@vger.kernel.org. 23*4882a593Smuzhiyun 24*4882a593Smuzhiyunif EDAC 25*4882a593Smuzhiyun 26*4882a593Smuzhiyunconfig EDAC_LEGACY_SYSFS 27*4882a593Smuzhiyun bool "EDAC legacy sysfs" 28*4882a593Smuzhiyun default y 29*4882a593Smuzhiyun help 30*4882a593Smuzhiyun Enable the compatibility sysfs nodes. 31*4882a593Smuzhiyun Use 'Y' if your edac utilities aren't ported to work with the newer 32*4882a593Smuzhiyun structures. 33*4882a593Smuzhiyun 34*4882a593Smuzhiyunconfig EDAC_DEBUG 35*4882a593Smuzhiyun bool "Debugging" 36*4882a593Smuzhiyun select DEBUG_FS 37*4882a593Smuzhiyun help 38*4882a593Smuzhiyun This turns on debugging information for the entire EDAC subsystem. 39*4882a593Smuzhiyun You do so by inserting edac_module with "edac_debug_level=x." Valid 40*4882a593Smuzhiyun levels are 0-4 (from low to high) and by default it is set to 2. 41*4882a593Smuzhiyun Usually you should select 'N' here. 42*4882a593Smuzhiyun 43*4882a593Smuzhiyunconfig EDAC_DECODE_MCE 44*4882a593Smuzhiyun tristate "Decode MCEs in human-readable form (only on AMD for now)" 45*4882a593Smuzhiyun depends on CPU_SUP_AMD && X86_MCE_AMD 46*4882a593Smuzhiyun default y 47*4882a593Smuzhiyun help 48*4882a593Smuzhiyun Enable this option if you want to decode Machine Check Exceptions 49*4882a593Smuzhiyun occurring on your machine in human-readable form. 50*4882a593Smuzhiyun 51*4882a593Smuzhiyun You should definitely say Y here in case you want to decode MCEs 52*4882a593Smuzhiyun which occur really early upon boot, before the module infrastructure 53*4882a593Smuzhiyun has been initialized. 54*4882a593Smuzhiyun 55*4882a593Smuzhiyunconfig EDAC_GHES 56*4882a593Smuzhiyun bool "Output ACPI APEI/GHES BIOS detected errors via EDAC" 57*4882a593Smuzhiyun depends on ACPI_APEI_GHES && (EDAC=y) 58*4882a593Smuzhiyun help 59*4882a593Smuzhiyun Not all machines support hardware-driven error report. Some of those 60*4882a593Smuzhiyun provide a BIOS-driven error report mechanism via ACPI, using the 61*4882a593Smuzhiyun APEI/GHES driver. By enabling this option, the error reports provided 62*4882a593Smuzhiyun by GHES are sent to userspace via the EDAC API. 63*4882a593Smuzhiyun 64*4882a593Smuzhiyun When this option is enabled, it will disable the hardware-driven 65*4882a593Smuzhiyun mechanisms, if a GHES BIOS is detected, entering into the 66*4882a593Smuzhiyun "Firmware First" mode. 67*4882a593Smuzhiyun 68*4882a593Smuzhiyun It should be noticed that keeping both GHES and a hardware-driven 69*4882a593Smuzhiyun error mechanism won't work well, as BIOS will race with OS, while 70*4882a593Smuzhiyun reading the error registers. So, if you want to not use "Firmware 71*4882a593Smuzhiyun first" GHES error mechanism, you should disable GHES either at 72*4882a593Smuzhiyun compilation time or by passing "ghes.disable=1" Kernel parameter 73*4882a593Smuzhiyun at boot time. 74*4882a593Smuzhiyun 75*4882a593Smuzhiyun In doubt, say 'Y'. 76*4882a593Smuzhiyun 77*4882a593Smuzhiyunconfig EDAC_AMD64 78*4882a593Smuzhiyun tristate "AMD64 (Opteron, Athlon64)" 79*4882a593Smuzhiyun depends on AMD_NB && EDAC_DECODE_MCE 80*4882a593Smuzhiyun help 81*4882a593Smuzhiyun Support for error detection and correction of DRAM ECC errors on 82*4882a593Smuzhiyun the AMD64 families (>= K8) of memory controllers. 83*4882a593Smuzhiyun 84*4882a593Smuzhiyunconfig EDAC_AMD64_ERROR_INJECTION 85*4882a593Smuzhiyun bool "Sysfs HW Error injection facilities" 86*4882a593Smuzhiyun depends on EDAC_AMD64 87*4882a593Smuzhiyun help 88*4882a593Smuzhiyun Recent Opterons (Family 10h and later) provide for Memory Error 89*4882a593Smuzhiyun Injection into the ECC detection circuits. The amd64_edac module 90*4882a593Smuzhiyun allows the operator/user to inject Uncorrectable and Correctable 91*4882a593Smuzhiyun errors into DRAM. 92*4882a593Smuzhiyun 93*4882a593Smuzhiyun When enabled, in each of the respective memory controller directories 94*4882a593Smuzhiyun (/sys/devices/system/edac/mc/mcX), there are 3 input files: 95*4882a593Smuzhiyun 96*4882a593Smuzhiyun - inject_section (0..3, 16-byte section of 64-byte cacheline), 97*4882a593Smuzhiyun - inject_word (0..8, 16-bit word of 16-byte section), 98*4882a593Smuzhiyun - inject_ecc_vector (hex ecc vector: select bits of inject word) 99*4882a593Smuzhiyun 100*4882a593Smuzhiyun In addition, there are two control files, inject_read and inject_write, 101*4882a593Smuzhiyun which trigger the DRAM ECC Read and Write respectively. 102*4882a593Smuzhiyun 103*4882a593Smuzhiyunconfig EDAC_AL_MC 104*4882a593Smuzhiyun tristate "Amazon's Annapurna Lab Memory Controller" 105*4882a593Smuzhiyun depends on (ARCH_ALPINE || COMPILE_TEST) 106*4882a593Smuzhiyun help 107*4882a593Smuzhiyun Support for error detection and correction for Amazon's Annapurna 108*4882a593Smuzhiyun Labs Alpine chips which allow 1 bit correction and 2 bits detection. 109*4882a593Smuzhiyun 110*4882a593Smuzhiyunconfig EDAC_AMD76X 111*4882a593Smuzhiyun tristate "AMD 76x (760, 762, 768)" 112*4882a593Smuzhiyun depends on PCI && X86_32 113*4882a593Smuzhiyun help 114*4882a593Smuzhiyun Support for error detection and correction on the AMD 76x 115*4882a593Smuzhiyun series of chipsets used with the Athlon processor. 116*4882a593Smuzhiyun 117*4882a593Smuzhiyunconfig EDAC_E7XXX 118*4882a593Smuzhiyun tristate "Intel e7xxx (e7205, e7500, e7501, e7505)" 119*4882a593Smuzhiyun depends on PCI && X86_32 120*4882a593Smuzhiyun help 121*4882a593Smuzhiyun Support for error detection and correction on the Intel 122*4882a593Smuzhiyun E7205, E7500, E7501 and E7505 server chipsets. 123*4882a593Smuzhiyun 124*4882a593Smuzhiyunconfig EDAC_E752X 125*4882a593Smuzhiyun tristate "Intel e752x (e7520, e7525, e7320) and 3100" 126*4882a593Smuzhiyun depends on PCI && X86 127*4882a593Smuzhiyun help 128*4882a593Smuzhiyun Support for error detection and correction on the Intel 129*4882a593Smuzhiyun E7520, E7525, E7320 server chipsets. 130*4882a593Smuzhiyun 131*4882a593Smuzhiyunconfig EDAC_I82443BXGX 132*4882a593Smuzhiyun tristate "Intel 82443BX/GX (440BX/GX)" 133*4882a593Smuzhiyun depends on PCI && X86_32 134*4882a593Smuzhiyun depends on BROKEN 135*4882a593Smuzhiyun help 136*4882a593Smuzhiyun Support for error detection and correction on the Intel 137*4882a593Smuzhiyun 82443BX/GX memory controllers (440BX/GX chipsets). 138*4882a593Smuzhiyun 139*4882a593Smuzhiyunconfig EDAC_I82875P 140*4882a593Smuzhiyun tristate "Intel 82875p (D82875P, E7210)" 141*4882a593Smuzhiyun depends on PCI && X86_32 142*4882a593Smuzhiyun help 143*4882a593Smuzhiyun Support for error detection and correction on the Intel 144*4882a593Smuzhiyun DP82785P and E7210 server chipsets. 145*4882a593Smuzhiyun 146*4882a593Smuzhiyunconfig EDAC_I82975X 147*4882a593Smuzhiyun tristate "Intel 82975x (D82975x)" 148*4882a593Smuzhiyun depends on PCI && X86 149*4882a593Smuzhiyun help 150*4882a593Smuzhiyun Support for error detection and correction on the Intel 151*4882a593Smuzhiyun DP82975x server chipsets. 152*4882a593Smuzhiyun 153*4882a593Smuzhiyunconfig EDAC_I3000 154*4882a593Smuzhiyun tristate "Intel 3000/3010" 155*4882a593Smuzhiyun depends on PCI && X86 156*4882a593Smuzhiyun help 157*4882a593Smuzhiyun Support for error detection and correction on the Intel 158*4882a593Smuzhiyun 3000 and 3010 server chipsets. 159*4882a593Smuzhiyun 160*4882a593Smuzhiyunconfig EDAC_I3200 161*4882a593Smuzhiyun tristate "Intel 3200" 162*4882a593Smuzhiyun depends on PCI && X86 163*4882a593Smuzhiyun help 164*4882a593Smuzhiyun Support for error detection and correction on the Intel 165*4882a593Smuzhiyun 3200 and 3210 server chipsets. 166*4882a593Smuzhiyun 167*4882a593Smuzhiyunconfig EDAC_IE31200 168*4882a593Smuzhiyun tristate "Intel e312xx" 169*4882a593Smuzhiyun depends on PCI && X86 170*4882a593Smuzhiyun help 171*4882a593Smuzhiyun Support for error detection and correction on the Intel 172*4882a593Smuzhiyun E3-1200 based DRAM controllers. 173*4882a593Smuzhiyun 174*4882a593Smuzhiyunconfig EDAC_X38 175*4882a593Smuzhiyun tristate "Intel X38" 176*4882a593Smuzhiyun depends on PCI && X86 177*4882a593Smuzhiyun help 178*4882a593Smuzhiyun Support for error detection and correction on the Intel 179*4882a593Smuzhiyun X38 server chipsets. 180*4882a593Smuzhiyun 181*4882a593Smuzhiyunconfig EDAC_I5400 182*4882a593Smuzhiyun tristate "Intel 5400 (Seaburg) chipsets" 183*4882a593Smuzhiyun depends on PCI && X86 184*4882a593Smuzhiyun help 185*4882a593Smuzhiyun Support for error detection and correction the Intel 186*4882a593Smuzhiyun i5400 MCH chipset (Seaburg). 187*4882a593Smuzhiyun 188*4882a593Smuzhiyunconfig EDAC_I7CORE 189*4882a593Smuzhiyun tristate "Intel i7 Core (Nehalem) processors" 190*4882a593Smuzhiyun depends on PCI && X86 && X86_MCE_INTEL 191*4882a593Smuzhiyun help 192*4882a593Smuzhiyun Support for error detection and correction the Intel 193*4882a593Smuzhiyun i7 Core (Nehalem) Integrated Memory Controller that exists on 194*4882a593Smuzhiyun newer processors like i7 Core, i7 Core Extreme, Xeon 35xx 195*4882a593Smuzhiyun and Xeon 55xx processors. 196*4882a593Smuzhiyun 197*4882a593Smuzhiyunconfig EDAC_I82860 198*4882a593Smuzhiyun tristate "Intel 82860" 199*4882a593Smuzhiyun depends on PCI && X86_32 200*4882a593Smuzhiyun help 201*4882a593Smuzhiyun Support for error detection and correction on the Intel 202*4882a593Smuzhiyun 82860 chipset. 203*4882a593Smuzhiyun 204*4882a593Smuzhiyunconfig EDAC_R82600 205*4882a593Smuzhiyun tristate "Radisys 82600 embedded chipset" 206*4882a593Smuzhiyun depends on PCI && X86_32 207*4882a593Smuzhiyun help 208*4882a593Smuzhiyun Support for error detection and correction on the Radisys 209*4882a593Smuzhiyun 82600 embedded chipset. 210*4882a593Smuzhiyun 211*4882a593Smuzhiyunconfig EDAC_I5000 212*4882a593Smuzhiyun tristate "Intel Greencreek/Blackford chipset" 213*4882a593Smuzhiyun depends on X86 && PCI 214*4882a593Smuzhiyun help 215*4882a593Smuzhiyun Support for error detection and correction the Intel 216*4882a593Smuzhiyun Greekcreek/Blackford chipsets. 217*4882a593Smuzhiyun 218*4882a593Smuzhiyunconfig EDAC_I5100 219*4882a593Smuzhiyun tristate "Intel San Clemente MCH" 220*4882a593Smuzhiyun depends on X86 && PCI 221*4882a593Smuzhiyun help 222*4882a593Smuzhiyun Support for error detection and correction the Intel 223*4882a593Smuzhiyun San Clemente MCH. 224*4882a593Smuzhiyun 225*4882a593Smuzhiyunconfig EDAC_I7300 226*4882a593Smuzhiyun tristate "Intel Clarksboro MCH" 227*4882a593Smuzhiyun depends on X86 && PCI 228*4882a593Smuzhiyun help 229*4882a593Smuzhiyun Support for error detection and correction the Intel 230*4882a593Smuzhiyun Clarksboro MCH (Intel 7300 chipset). 231*4882a593Smuzhiyun 232*4882a593Smuzhiyunconfig EDAC_SBRIDGE 233*4882a593Smuzhiyun tristate "Intel Sandy-Bridge/Ivy-Bridge/Haswell Integrated MC" 234*4882a593Smuzhiyun depends on PCI && X86_64 && X86_MCE_INTEL && PCI_MMCONFIG 235*4882a593Smuzhiyun help 236*4882a593Smuzhiyun Support for error detection and correction the Intel 237*4882a593Smuzhiyun Sandy Bridge, Ivy Bridge and Haswell Integrated Memory Controllers. 238*4882a593Smuzhiyun 239*4882a593Smuzhiyunconfig EDAC_SKX 240*4882a593Smuzhiyun tristate "Intel Skylake server Integrated MC" 241*4882a593Smuzhiyun depends on PCI && X86_64 && X86_MCE_INTEL && PCI_MMCONFIG && ACPI 242*4882a593Smuzhiyun depends on ACPI_NFIT || !ACPI_NFIT # if ACPI_NFIT=m, EDAC_SKX can't be y 243*4882a593Smuzhiyun select DMI 244*4882a593Smuzhiyun select ACPI_ADXL 245*4882a593Smuzhiyun help 246*4882a593Smuzhiyun Support for error detection and correction the Intel 247*4882a593Smuzhiyun Skylake server Integrated Memory Controllers. If your 248*4882a593Smuzhiyun system has non-volatile DIMMs you should also manually 249*4882a593Smuzhiyun select CONFIG_ACPI_NFIT. 250*4882a593Smuzhiyun 251*4882a593Smuzhiyunconfig EDAC_I10NM 252*4882a593Smuzhiyun tristate "Intel 10nm server Integrated MC" 253*4882a593Smuzhiyun depends on PCI && X86_64 && X86_MCE_INTEL && PCI_MMCONFIG && ACPI 254*4882a593Smuzhiyun depends on ACPI_NFIT || !ACPI_NFIT # if ACPI_NFIT=m, EDAC_I10NM can't be y 255*4882a593Smuzhiyun select DMI 256*4882a593Smuzhiyun select ACPI_ADXL 257*4882a593Smuzhiyun help 258*4882a593Smuzhiyun Support for error detection and correction the Intel 259*4882a593Smuzhiyun 10nm server Integrated Memory Controllers. If your 260*4882a593Smuzhiyun system has non-volatile DIMMs you should also manually 261*4882a593Smuzhiyun select CONFIG_ACPI_NFIT. 262*4882a593Smuzhiyun 263*4882a593Smuzhiyunconfig EDAC_PND2 264*4882a593Smuzhiyun tristate "Intel Pondicherry2" 265*4882a593Smuzhiyun depends on PCI && X86_64 && X86_MCE_INTEL 266*4882a593Smuzhiyun help 267*4882a593Smuzhiyun Support for error detection and correction on the Intel 268*4882a593Smuzhiyun Pondicherry2 Integrated Memory Controller. This SoC IP is 269*4882a593Smuzhiyun first used on the Apollo Lake platform and Denverton 270*4882a593Smuzhiyun micro-server but may appear on others in the future. 271*4882a593Smuzhiyun 272*4882a593Smuzhiyunconfig EDAC_MPC85XX 273*4882a593Smuzhiyun bool "Freescale MPC83xx / MPC85xx" 274*4882a593Smuzhiyun depends on FSL_SOC && EDAC=y 275*4882a593Smuzhiyun help 276*4882a593Smuzhiyun Support for error detection and correction on the Freescale 277*4882a593Smuzhiyun MPC8349, MPC8560, MPC8540, MPC8548, T4240 278*4882a593Smuzhiyun 279*4882a593Smuzhiyunconfig EDAC_LAYERSCAPE 280*4882a593Smuzhiyun tristate "Freescale Layerscape DDR" 281*4882a593Smuzhiyun depends on ARCH_LAYERSCAPE || SOC_LS1021A 282*4882a593Smuzhiyun help 283*4882a593Smuzhiyun Support for error detection and correction on Freescale memory 284*4882a593Smuzhiyun controllers on Layerscape SoCs. 285*4882a593Smuzhiyun 286*4882a593Smuzhiyunconfig EDAC_MV64X60 287*4882a593Smuzhiyun tristate "Marvell MV64x60" 288*4882a593Smuzhiyun depends on MV64X60 289*4882a593Smuzhiyun help 290*4882a593Smuzhiyun Support for error detection and correction on the Marvell 291*4882a593Smuzhiyun MV64360 and MV64460 chipsets. 292*4882a593Smuzhiyun 293*4882a593Smuzhiyunconfig EDAC_PASEMI 294*4882a593Smuzhiyun tristate "PA Semi PWRficient" 295*4882a593Smuzhiyun depends on PPC_PASEMI && PCI 296*4882a593Smuzhiyun help 297*4882a593Smuzhiyun Support for error detection and correction on PA Semi 298*4882a593Smuzhiyun PWRficient. 299*4882a593Smuzhiyun 300*4882a593Smuzhiyunconfig EDAC_CELL 301*4882a593Smuzhiyun tristate "Cell Broadband Engine memory controller" 302*4882a593Smuzhiyun depends on PPC_CELL_COMMON 303*4882a593Smuzhiyun help 304*4882a593Smuzhiyun Support for error detection and correction on the 305*4882a593Smuzhiyun Cell Broadband Engine internal memory controller 306*4882a593Smuzhiyun on platform without a hypervisor 307*4882a593Smuzhiyun 308*4882a593Smuzhiyunconfig EDAC_PPC4XX 309*4882a593Smuzhiyun tristate "PPC4xx IBM DDR2 Memory Controller" 310*4882a593Smuzhiyun depends on 4xx 311*4882a593Smuzhiyun help 312*4882a593Smuzhiyun This enables support for EDAC on the ECC memory used 313*4882a593Smuzhiyun with the IBM DDR2 memory controller found in various 314*4882a593Smuzhiyun PowerPC 4xx embedded processors such as the 405EX[r], 315*4882a593Smuzhiyun 440SP, 440SPe, 460EX, 460GT and 460SX. 316*4882a593Smuzhiyun 317*4882a593Smuzhiyunconfig EDAC_AMD8131 318*4882a593Smuzhiyun tristate "AMD8131 HyperTransport PCI-X Tunnel" 319*4882a593Smuzhiyun depends on PCI && PPC_MAPLE 320*4882a593Smuzhiyun help 321*4882a593Smuzhiyun Support for error detection and correction on the 322*4882a593Smuzhiyun AMD8131 HyperTransport PCI-X Tunnel chip. 323*4882a593Smuzhiyun Note, add more Kconfig dependency if it's adopted 324*4882a593Smuzhiyun on some machine other than Maple. 325*4882a593Smuzhiyun 326*4882a593Smuzhiyunconfig EDAC_AMD8111 327*4882a593Smuzhiyun tristate "AMD8111 HyperTransport I/O Hub" 328*4882a593Smuzhiyun depends on PCI && PPC_MAPLE 329*4882a593Smuzhiyun help 330*4882a593Smuzhiyun Support for error detection and correction on the 331*4882a593Smuzhiyun AMD8111 HyperTransport I/O Hub chip. 332*4882a593Smuzhiyun Note, add more Kconfig dependency if it's adopted 333*4882a593Smuzhiyun on some machine other than Maple. 334*4882a593Smuzhiyun 335*4882a593Smuzhiyunconfig EDAC_CPC925 336*4882a593Smuzhiyun tristate "IBM CPC925 Memory Controller (PPC970FX)" 337*4882a593Smuzhiyun depends on PPC64 338*4882a593Smuzhiyun help 339*4882a593Smuzhiyun Support for error detection and correction on the 340*4882a593Smuzhiyun IBM CPC925 Bridge and Memory Controller, which is 341*4882a593Smuzhiyun a companion chip to the PowerPC 970 family of 342*4882a593Smuzhiyun processors. 343*4882a593Smuzhiyun 344*4882a593Smuzhiyunconfig EDAC_HIGHBANK_MC 345*4882a593Smuzhiyun tristate "Highbank Memory Controller" 346*4882a593Smuzhiyun depends on ARCH_HIGHBANK 347*4882a593Smuzhiyun help 348*4882a593Smuzhiyun Support for error detection and correction on the 349*4882a593Smuzhiyun Calxeda Highbank memory controller. 350*4882a593Smuzhiyun 351*4882a593Smuzhiyunconfig EDAC_HIGHBANK_L2 352*4882a593Smuzhiyun tristate "Highbank L2 Cache" 353*4882a593Smuzhiyun depends on ARCH_HIGHBANK 354*4882a593Smuzhiyun help 355*4882a593Smuzhiyun Support for error detection and correction on the 356*4882a593Smuzhiyun Calxeda Highbank memory controller. 357*4882a593Smuzhiyun 358*4882a593Smuzhiyunconfig EDAC_OCTEON_PC 359*4882a593Smuzhiyun tristate "Cavium Octeon Primary Caches" 360*4882a593Smuzhiyun depends on CPU_CAVIUM_OCTEON 361*4882a593Smuzhiyun help 362*4882a593Smuzhiyun Support for error detection and correction on the primary caches of 363*4882a593Smuzhiyun the cnMIPS cores of Cavium Octeon family SOCs. 364*4882a593Smuzhiyun 365*4882a593Smuzhiyunconfig EDAC_OCTEON_L2C 366*4882a593Smuzhiyun tristate "Cavium Octeon Secondary Caches (L2C)" 367*4882a593Smuzhiyun depends on CAVIUM_OCTEON_SOC 368*4882a593Smuzhiyun help 369*4882a593Smuzhiyun Support for error detection and correction on the 370*4882a593Smuzhiyun Cavium Octeon family of SOCs. 371*4882a593Smuzhiyun 372*4882a593Smuzhiyunconfig EDAC_OCTEON_LMC 373*4882a593Smuzhiyun tristate "Cavium Octeon DRAM Memory Controller (LMC)" 374*4882a593Smuzhiyun depends on CAVIUM_OCTEON_SOC 375*4882a593Smuzhiyun help 376*4882a593Smuzhiyun Support for error detection and correction on the 377*4882a593Smuzhiyun Cavium Octeon family of SOCs. 378*4882a593Smuzhiyun 379*4882a593Smuzhiyunconfig EDAC_OCTEON_PCI 380*4882a593Smuzhiyun tristate "Cavium Octeon PCI Controller" 381*4882a593Smuzhiyun depends on PCI && CAVIUM_OCTEON_SOC 382*4882a593Smuzhiyun help 383*4882a593Smuzhiyun Support for error detection and correction on the 384*4882a593Smuzhiyun Cavium Octeon family of SOCs. 385*4882a593Smuzhiyun 386*4882a593Smuzhiyunconfig EDAC_THUNDERX 387*4882a593Smuzhiyun tristate "Cavium ThunderX EDAC" 388*4882a593Smuzhiyun depends on ARM64 389*4882a593Smuzhiyun depends on PCI 390*4882a593Smuzhiyun help 391*4882a593Smuzhiyun Support for error detection and correction on the 392*4882a593Smuzhiyun Cavium ThunderX memory controllers (LMC), Cache 393*4882a593Smuzhiyun Coherent Processor Interconnect (CCPI) and L2 cache 394*4882a593Smuzhiyun blocks (TAD, CBC, MCI). 395*4882a593Smuzhiyun 396*4882a593Smuzhiyunconfig EDAC_ALTERA 397*4882a593Smuzhiyun bool "Altera SOCFPGA ECC" 398*4882a593Smuzhiyun depends on EDAC=y && (ARCH_SOCFPGA || ARCH_STRATIX10) 399*4882a593Smuzhiyun help 400*4882a593Smuzhiyun Support for error detection and correction on the 401*4882a593Smuzhiyun Altera SOCs. This is the global enable for the 402*4882a593Smuzhiyun various Altera peripherals. 403*4882a593Smuzhiyun 404*4882a593Smuzhiyunconfig EDAC_ALTERA_SDRAM 405*4882a593Smuzhiyun bool "Altera SDRAM ECC" 406*4882a593Smuzhiyun depends on EDAC_ALTERA=y 407*4882a593Smuzhiyun help 408*4882a593Smuzhiyun Support for error detection and correction on the 409*4882a593Smuzhiyun Altera SDRAM Memory for Altera SoCs. Note that the 410*4882a593Smuzhiyun preloader must initialize the SDRAM before loading 411*4882a593Smuzhiyun the kernel. 412*4882a593Smuzhiyun 413*4882a593Smuzhiyunconfig EDAC_ALTERA_L2C 414*4882a593Smuzhiyun bool "Altera L2 Cache ECC" 415*4882a593Smuzhiyun depends on EDAC_ALTERA=y && CACHE_L2X0 416*4882a593Smuzhiyun help 417*4882a593Smuzhiyun Support for error detection and correction on the 418*4882a593Smuzhiyun Altera L2 cache Memory for Altera SoCs. This option 419*4882a593Smuzhiyun requires L2 cache. 420*4882a593Smuzhiyun 421*4882a593Smuzhiyunconfig EDAC_ALTERA_OCRAM 422*4882a593Smuzhiyun bool "Altera On-Chip RAM ECC" 423*4882a593Smuzhiyun depends on EDAC_ALTERA=y && SRAM && GENERIC_ALLOCATOR 424*4882a593Smuzhiyun help 425*4882a593Smuzhiyun Support for error detection and correction on the 426*4882a593Smuzhiyun Altera On-Chip RAM Memory for Altera SoCs. 427*4882a593Smuzhiyun 428*4882a593Smuzhiyunconfig EDAC_ALTERA_ETHERNET 429*4882a593Smuzhiyun bool "Altera Ethernet FIFO ECC" 430*4882a593Smuzhiyun depends on EDAC_ALTERA=y 431*4882a593Smuzhiyun help 432*4882a593Smuzhiyun Support for error detection and correction on the 433*4882a593Smuzhiyun Altera Ethernet FIFO Memory for Altera SoCs. 434*4882a593Smuzhiyun 435*4882a593Smuzhiyunconfig EDAC_ALTERA_NAND 436*4882a593Smuzhiyun bool "Altera NAND FIFO ECC" 437*4882a593Smuzhiyun depends on EDAC_ALTERA=y && MTD_NAND_DENALI 438*4882a593Smuzhiyun help 439*4882a593Smuzhiyun Support for error detection and correction on the 440*4882a593Smuzhiyun Altera NAND FIFO Memory for Altera SoCs. 441*4882a593Smuzhiyun 442*4882a593Smuzhiyunconfig EDAC_ALTERA_DMA 443*4882a593Smuzhiyun bool "Altera DMA FIFO ECC" 444*4882a593Smuzhiyun depends on EDAC_ALTERA=y && PL330_DMA=y 445*4882a593Smuzhiyun help 446*4882a593Smuzhiyun Support for error detection and correction on the 447*4882a593Smuzhiyun Altera DMA FIFO Memory for Altera SoCs. 448*4882a593Smuzhiyun 449*4882a593Smuzhiyunconfig EDAC_ALTERA_USB 450*4882a593Smuzhiyun bool "Altera USB FIFO ECC" 451*4882a593Smuzhiyun depends on EDAC_ALTERA=y && USB_DWC2 452*4882a593Smuzhiyun help 453*4882a593Smuzhiyun Support for error detection and correction on the 454*4882a593Smuzhiyun Altera USB FIFO Memory for Altera SoCs. 455*4882a593Smuzhiyun 456*4882a593Smuzhiyunconfig EDAC_ALTERA_QSPI 457*4882a593Smuzhiyun bool "Altera QSPI FIFO ECC" 458*4882a593Smuzhiyun depends on EDAC_ALTERA=y && SPI_CADENCE_QUADSPI 459*4882a593Smuzhiyun help 460*4882a593Smuzhiyun Support for error detection and correction on the 461*4882a593Smuzhiyun Altera QSPI FIFO Memory for Altera SoCs. 462*4882a593Smuzhiyun 463*4882a593Smuzhiyunconfig EDAC_ALTERA_SDMMC 464*4882a593Smuzhiyun bool "Altera SDMMC FIFO ECC" 465*4882a593Smuzhiyun depends on EDAC_ALTERA=y && MMC_DW 466*4882a593Smuzhiyun help 467*4882a593Smuzhiyun Support for error detection and correction on the 468*4882a593Smuzhiyun Altera SDMMC FIFO Memory for Altera SoCs. 469*4882a593Smuzhiyun 470*4882a593Smuzhiyunconfig EDAC_SIFIVE 471*4882a593Smuzhiyun bool "Sifive platform EDAC driver" 472*4882a593Smuzhiyun depends on EDAC=y && SIFIVE_L2 473*4882a593Smuzhiyun help 474*4882a593Smuzhiyun Support for error detection and correction on the SiFive SoCs. 475*4882a593Smuzhiyun 476*4882a593Smuzhiyunconfig EDAC_ARMADA_XP 477*4882a593Smuzhiyun bool "Marvell Armada XP DDR and L2 Cache ECC" 478*4882a593Smuzhiyun depends on MACH_MVEBU_V7 479*4882a593Smuzhiyun help 480*4882a593Smuzhiyun Support for error correction and detection on the Marvell Aramada XP 481*4882a593Smuzhiyun DDR RAM and L2 cache controllers. 482*4882a593Smuzhiyun 483*4882a593Smuzhiyunconfig EDAC_SYNOPSYS 484*4882a593Smuzhiyun tristate "Synopsys DDR Memory Controller" 485*4882a593Smuzhiyun depends on ARCH_ZYNQ || ARCH_ZYNQMP 486*4882a593Smuzhiyun help 487*4882a593Smuzhiyun Support for error detection and correction on the Synopsys DDR 488*4882a593Smuzhiyun memory controller. 489*4882a593Smuzhiyun 490*4882a593Smuzhiyunconfig EDAC_XGENE 491*4882a593Smuzhiyun tristate "APM X-Gene SoC" 492*4882a593Smuzhiyun depends on (ARM64 || COMPILE_TEST) 493*4882a593Smuzhiyun help 494*4882a593Smuzhiyun Support for error detection and correction on the 495*4882a593Smuzhiyun APM X-Gene family of SOCs. 496*4882a593Smuzhiyun 497*4882a593Smuzhiyunconfig EDAC_TI 498*4882a593Smuzhiyun tristate "Texas Instruments DDR3 ECC Controller" 499*4882a593Smuzhiyun depends on ARCH_KEYSTONE || SOC_DRA7XX 500*4882a593Smuzhiyun help 501*4882a593Smuzhiyun Support for error detection and correction on the TI SoCs. 502*4882a593Smuzhiyun 503*4882a593Smuzhiyunconfig EDAC_QCOM 504*4882a593Smuzhiyun tristate "QCOM EDAC Controller" 505*4882a593Smuzhiyun depends on ARCH_QCOM && QCOM_LLCC 506*4882a593Smuzhiyun help 507*4882a593Smuzhiyun Support for error detection and correction on the 508*4882a593Smuzhiyun Qualcomm Technologies, Inc. SoCs. 509*4882a593Smuzhiyun 510*4882a593Smuzhiyun This driver reports Single Bit Errors (SBEs) and Double Bit Errors (DBEs). 511*4882a593Smuzhiyun As of now, it supports error reporting for Last Level Cache Controller (LLCC) 512*4882a593Smuzhiyun of Tag RAM and Data RAM. 513*4882a593Smuzhiyun 514*4882a593Smuzhiyun For debugging issues having to do with stability and overall system 515*4882a593Smuzhiyun health, you should probably say 'Y' here. 516*4882a593Smuzhiyun 517*4882a593Smuzhiyunconfig EDAC_ASPEED 518*4882a593Smuzhiyun tristate "Aspeed AST 2500 SoC" 519*4882a593Smuzhiyun depends on MACH_ASPEED_G5 520*4882a593Smuzhiyun help 521*4882a593Smuzhiyun Support for error detection and correction on the Aspeed AST 2500 SoC. 522*4882a593Smuzhiyun 523*4882a593Smuzhiyun First, ECC must be configured in the bootloader. Then, this driver 524*4882a593Smuzhiyun will expose error counters via the EDAC kernel framework. 525*4882a593Smuzhiyun 526*4882a593Smuzhiyunconfig EDAC_BLUEFIELD 527*4882a593Smuzhiyun tristate "Mellanox BlueField Memory ECC" 528*4882a593Smuzhiyun depends on ARM64 && ((MELLANOX_PLATFORM && ACPI) || COMPILE_TEST) 529*4882a593Smuzhiyun help 530*4882a593Smuzhiyun Support for error detection and correction on the 531*4882a593Smuzhiyun Mellanox BlueField SoCs. 532*4882a593Smuzhiyun 533*4882a593Smuzhiyunconfig EDAC_DMC520 534*4882a593Smuzhiyun tristate "ARM DMC-520 ECC" 535*4882a593Smuzhiyun depends on ARM64 536*4882a593Smuzhiyun help 537*4882a593Smuzhiyun Support for error detection and correction on the 538*4882a593Smuzhiyun SoCs with ARM DMC-520 DRAM controller. 539*4882a593Smuzhiyun 540*4882a593Smuzhiyunendif # EDAC 541