summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTimothy Pearson <tpearson@raptorengineeringinc.com>2015-01-23 20:24:30 -0600
committerAlexandru Gagniuc <mr.nuke.me@gmail.com>2015-01-25 20:31:55 +0100
commit6f2caa0ffac653ae7455040429f70f71e9f38ccc (patch)
tree91ac89dddeb03fda4a0a09b9a79596ca1619594a
parentd0c1dd0205b0974ea8ae561caf02999210c5371a (diff)
downloadcoreboot-6f2caa0ffac653ae7455040429f70f71e9f38ccc.tar.xz
northbridge/amd: Add Kconfig options for ECC scrub rate
Change-Id: Icbbba0037c19bdc279813e51c72f54a10e4dc55a Signed-off-by: Timothy Pearson <tpearson@raptorengineeringinc.com> Reviewed-on: http://review.coreboot.org/8263 Reviewed-by: Alexandru Gagniuc <mr.nuke.me@gmail.com> Tested-by: build bot (Jenkins)
-rw-r--r--src/northbridge/amd/Kconfig33
-rw-r--r--src/northbridge/amd/amdmct/wrappers/mcti_d.c49
2 files changed, 59 insertions, 23 deletions
diff --git a/src/northbridge/amd/Kconfig b/src/northbridge/amd/Kconfig
index e9b3796398..ef8a16a73c 100644
--- a/src/northbridge/amd/Kconfig
+++ b/src/northbridge/amd/Kconfig
@@ -98,4 +98,37 @@ config LIMIT_HT_UP_WIDTH_16
bool "16 bits"
endchoice
+config AMDMCT_BACKGROUND_SCRUB_RATE
+ hex
+ depends on CPU_AMD_MODEL_10XXX
+ default 0x00
+ help
+ This option sets the background ECC memory scub rate
+
+ Permissible values are:
+
+ 0x00; Disabled
+ 0x01; 40ns
+ 0x02; 80ns
+ 0x03; 160ns
+ 0x04; 320ns
+ 0x05; 640ns
+ 0x06; 1.28us
+ 0x07; 2.56us
+ 0x08; 5.12us
+ 0x09; 10.2us
+ 0x0a; 20.5us
+ 0x0b; 41us
+ 0x0c; 81.9us
+ 0x0d; 163.8us
+ 0x0e; 327.7us
+ 0x0f; 655.4us
+ 0x10; 1.31ms
+ 0x11; 2.62ms
+ 0x12; 5.24ms
+ 0x13; 10.49ms
+ 0x14; 20.97sms
+ 0x15; 42ms
+ 0x16; 84ms
+
endmenu
diff --git a/src/northbridge/amd/amdmct/wrappers/mcti_d.c b/src/northbridge/amd/amdmct/wrappers/mcti_d.c
index e127322dc3..96cef4e206 100644
--- a/src/northbridge/amd/amdmct/wrappers/mcti_d.c
+++ b/src/northbridge/amd/amdmct/wrappers/mcti_d.c
@@ -171,29 +171,32 @@ static u16 mctGet_NVbits(u8 index)
//val = 1; /* Enable */
break;
case NV_DramBKScrub:
- val = 0x00; /* Disabled */
- //val = 0x01; /* 40ns */
- //val = 0x02; /* 80ns */
- //val = 0x03; /* 160ns */
- //val = 0x04; /* 320ns */
- //val = 0x05; /* 640ns */
- //val = 0x06; /* 1.28us */
- //val = 0x07; /* 2.56us */
- //val = 0x08; /* 5.12us */
- //val = 0x09; /* 10.2us */
- //val = 0x0a; /* 20.5us */
- //val = 0x0b; /* 41us */
- //val = 0x0c; /* 81.9us */
- //val = 0x0d; /* 163.8us */
- //val = 0x0e; /* 327.7us */
- //val = 0x0f; /* 655.4us */
- //val = 0x10; /* 1.31ms */
- //val = 0x11; /* 2.62ms */
- //val = 0x12; /* 5.24ms */
- //val = 0x13; /* 10.49ms */
- //val = 0x14; /* 20.97sms */
- //val = 0x15; /* 42ms */
- //val = 0x16; /* 84ms */
+ /*
+ * 0x00: Disabled
+ * 0x01: 40ns
+ * 0x02: 80ns
+ * 0x03: 160ns
+ * 0x04: 320ns
+ * 0x05: 640ns
+ * 0x06: 1.28us
+ * 0x07: 2.56us
+ * 0x08: 5.12us
+ * 0x09: 10.2us
+ * 0x0a: 20.5us
+ * 0x0b: 41us
+ * 0x0c: 81.9us
+ * 0x0d: 163.8us
+ * 0x0e: 327.7us
+ * 0x0f: 655.4us
+ * 0x10: 1.31ms
+ * 0x11: 2.62ms
+ * 0x12: 5.24ms
+ * 0x13: 10.49ms
+ * 0x14: 20.97sms
+ * 0x15: 42ms
+ * 0x16: 84ms
+ */
+ val = CONFIG_AMDMCT_BACKGROUND_SCRUB_RATE;
break;
case NV_L2BKScrub:
val = 0; /* Disabled - See L2Scrub in BKDG */