|
@@ -123,6 +123,20 @@ struct pmecc_errloc_regs {
|
|
u32 sigma[25]; /* 0x28-0x88 Error Location Sigma Registers */
|
|
u32 sigma[25]; /* 0x28-0x88 Error Location Sigma Registers */
|
|
u32 el[24]; /* 0x8C-0xE8 Error Location Registers */
|
|
u32 el[24]; /* 0x8C-0xE8 Error Location Registers */
|
|
u32 reserved1[5]; /* 0xEC-0xFC Reserved */
|
|
u32 reserved1[5]; /* 0xEC-0xFC Reserved */
|
|
|
|
+
|
|
|
|
+ /*
|
|
|
|
+ * 0x100-0x1F8:
|
|
|
|
+ * Reserved for AT91SAM9X5, AT91SAM9N12.
|
|
|
|
+ * HSMC registers for SAMA5D3, SAMA5D4.
|
|
|
|
+ */
|
|
|
|
+ u32 reserved2[63];
|
|
|
|
+
|
|
|
|
+ /*
|
|
|
|
+ * 0x1FC:
|
|
|
|
+ * PMECC version for AT91SAM9X5, AT91SAM9N12.
|
|
|
|
+ * HSMC version for SAMA5D3, SAMA5D4. Can refer as PMECC version.
|
|
|
|
+ */
|
|
|
|
+ u32 version;
|
|
};
|
|
};
|
|
|
|
|
|
/* For Error Location Configuration Register */
|
|
/* For Error Location Configuration Register */
|
|
@@ -137,6 +151,12 @@ struct pmecc_errloc_regs {
|
|
#define PMERRLOC_ERR_NUM_MASK (0x1f << 8)
|
|
#define PMERRLOC_ERR_NUM_MASK (0x1f << 8)
|
|
#define PMERRLOC_CALC_DONE (1 << 0)
|
|
#define PMERRLOC_CALC_DONE (1 << 0)
|
|
|
|
|
|
|
|
+/* PMECC IP version */
|
|
|
|
+#define PMECC_VERSION_SAMA5D4 0x113
|
|
|
|
+#define PMECC_VERSION_SAMA5D3 0x112
|
|
|
|
+#define PMECC_VERSION_AT91SAM9N12 0x102
|
|
|
|
+#define PMECC_VERSION_AT91SAM9X5 0x101
|
|
|
|
+
|
|
/* Galois field dimension */
|
|
/* Galois field dimension */
|
|
#define PMECC_GF_DIMENSION_13 13
|
|
#define PMECC_GF_DIMENSION_13 13
|
|
#define PMECC_GF_DIMENSION_14 14
|
|
#define PMECC_GF_DIMENSION_14 14
|