]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - include/linux/mtd/omap_elm.h
mtd: nand: omap_elm: use macros for register definitions
[karo-tx-uboot.git] / include / linux / mtd / omap_elm.h
index a6e9591d3798f2ed7b3b1d203ec015fccbd6c7da..b8096b02e37319039059e857ce04fe50f075c72b 100644 (file)
@@ -24,6 +24,9 @@
 #define ELM_LOCATION_STATUS_ECC_CORRECTABLE_MASK       (0x100)
 #define ELM_LOCATION_STATUS_ECC_NB_ERRORS_MASK         (0x1F)
 
+#define ELM_MAX_CHANNELS                               8
+#define ELM_MAX_ERROR_COUNT                            16
+
 #ifndef __ASSEMBLY__
 
 enum bch_level {
@@ -43,7 +46,7 @@ struct syndrome {
 struct location {
        u32 location_status;            /* 0x800 */
        u8 res1[124];                   /* 0x804 */
-       u32 error_location_x[16];       /* 0x880.... */
+       u32 error_location_x[ELM_MAX_ERROR_COUNT]; /* 0x880, 0x980, .. */
        u8 res2[64];                    /* 0x8c0 */
 };
 
@@ -63,9 +66,9 @@ struct elm {
        u8 res2[92];                            /* 0x024 */
        u32 page_ctrl;                          /* 0x080 */
        u8 res3[892];                           /* 0x084 */
-       struct  syndrome syndrome_fragments[8]; /* 0x400 */
+       struct  syndrome syndrome_fragments[ELM_MAX_CHANNELS]; /* 0x400,0x420 */
        u8 res4[512];                           /* 0x600 */
-       struct location  error_location[8];     /* 0x800 */
+       struct location  error_location[ELM_MAX_CHANNELS]; /* 0x800,0x900 ... */
 };
 
 int elm_check_error(u8 *syndrome, enum bch_level bch_type, u32 *error_count,