s5pc110: mmc: checked moviNAND version
authorJaehoon Chung <jh80.chung@samsung.com>
Wed, 3 Mar 2010 01:27:38 +0000 (10:27 +0900)
committerJaehoon Chung <jh80.chung@samsung.com>
Wed, 3 Mar 2010 01:27:38 +0000 (10:27 +0900)
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
drivers/mmc/mmc.c
include/mmc.h

index 3802807..4e1e396 100644 (file)
@@ -412,6 +412,26 @@ int mmc_change_freq(struct mmc *mmc)
        if (err)
                return err;
 
+       /* Check MMC version 4.X */
+       if (mmc->version == MMC_VERSION_4)
+               switch (ext_csd[192]) {
+                       case EXT_CSD_REV_1_0:
+                               mmc->version |= EXT_CSD_REV_1_0;
+                               break;
+                       case EXT_CSD_REV_1_1:
+                               mmc->version |= EXT_CSD_REV_1_1;
+                               break;
+                       case EXT_CSD_REV_1_2:
+                               mmc->version |= EXT_CSD_REV_1_2;
+                               break;
+                       case EXT_CSD_REV_1_3:
+                               mmc->version |= EXT_CSD_REV_1_3;
+                               break;
+                       case EXT_CSD_REV_1_5:
+                               mmc->version |= EXT_CSD_REV_1_5;
+                               break;
+               }
+
        /* No high-speed support */
        if (!ext_csd[185])
                return 0;
index 2dc69ab..55f0c1b 100644 (file)
 #define EXT_CSD_REV            192     /* RO */
 #define EXT_CSD_SEC_CNT                212     /* RO, 4 bytes */
 
+#define EXT_CSD_REV_1_0                0
+#define EXT_CSD_REV_1_1                1
+#define EXT_CSD_REV_1_2                2
+#define EXT_CSD_REV_1_3                3
+#define EXT_CSD_REV_1_5                4
+
+
 /*
  * EXT_CSD field definitions
  */