summaryrefslogtreecommitdiffstats
path: root/drivers/edac/altera_edac.h
diff options
context:
space:
mode:
authorThor Thayer <tthayer@opensource.altera.com>2016-06-22 08:58:57 -0500
committerBorislav Petkov <bp@suse.de>2016-06-24 21:16:38 +0200
commit1166fde93d5b1d7267992edc7e2c8ee129d6667e (patch)
treeb57786ef284fc152879ae6a21d855832880e2c20 /drivers/edac/altera_edac.h
parentf103ad1556aa985eb094cdfa8a8e4d618732bad2 (diff)
downloadlinux-1166fde93d5b1d7267992edc7e2c8ee129d6667e.tar.gz
linux-1166fde93d5b1d7267992edc7e2c8ee129d6667e.tar.bz2
linux-1166fde93d5b1d7267992edc7e2c8ee129d6667e.zip
EDAC, altera: Add Arria10 ECC memory init functions
In preparation for additional memory module ECCs, add the memory initialization functions and helpers. Signed-off-by: Thor Thayer <tthayer@opensource.altera.com> Cc: linux-arm-kernel@lists.infradead.org Cc: linux-edac <linux-edac@vger.kernel.org> Link: http://lkml.kernel.org/r/1466603939-7526-7-git-send-email-tthayer@opensource.altera.com Signed-off-by: Borislav Petkov <bp@suse.de>
Diffstat (limited to 'drivers/edac/altera_edac.h')
-rw-r--r--drivers/edac/altera_edac.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/edac/altera_edac.h b/drivers/edac/altera_edac.h
index cf4e8cb1d120..aa7c6906d0d5 100644
--- a/drivers/edac/altera_edac.h
+++ b/drivers/edac/altera_edac.h
@@ -230,8 +230,13 @@ struct altr_sdram_mc_data {
#define ALTR_A10_ECC_INITCOMPLETEB BIT(8)
#define ALTR_A10_ECC_ERRINTEN_OFST 0x10
+#define ALTR_A10_ECC_ERRINTENS_OFST 0x14
+#define ALTR_A10_ECC_ERRINTENR_OFST 0x18
#define ALTR_A10_ECC_SERRINTEN BIT(0)
+#define ALTR_A10_ECC_INTMODE_OFST 0x1C
+#define ALTR_A10_ECC_INTMODE BIT(0)
+
#define ALTR_A10_ECC_INTSTAT_OFST 0x20
#define ALTR_A10_ECC_SERRPENA BIT(0)
#define ALTR_A10_ECC_DERRPENA BIT(8)
@@ -280,6 +285,9 @@ struct altr_sdram_mc_data {
/* Arria 10 OCRAM ECC Management Group Defines */
#define ALTR_A10_OCRAM_ECC_EN_CTL (BIT(1) | BIT(0))
+/* A10 ECC Controller memory initialization timeout */
+#define ALTR_A10_ECC_INIT_WATCHDOG_10US 10000
+
struct altr_edac_device_dev;
struct edac_device_prv_data {