]> git.sur5r.net Git - u-boot/blobdiff - board/cm_t35/eeprom.c
Merge branch 'u-boot-imx/master' into 'u-boot-arm/master'
[u-boot] / board / cm_t35 / eeprom.c
index 60538117c505a0d54d82776243f41792aac80df6..b0af103cdd42cc312ae8db4406070d5fb3a01ba3 100644 (file)
@@ -99,12 +99,13 @@ int cm_t3x_eeprom_read_mac_addr(uchar *buf)
 }
 
 /*
- * Routine: get_board_rev
- * Description: read system revision
+ * Routine: cm_t3x_eeprom_get_board_rev
+ * Description: read system revision from eeprom
  */
-u32 get_board_rev(void)
+u32 cm_t3x_eeprom_get_board_rev(void)
 {
        u32 rev = 0;
+       char str[5]; /* Legacy representation can contain at most 4 digits */
        uint offset = BOARD_REV_OFFSET_LEGACY;
 
        if (eeprom_setup_layout())
@@ -116,5 +117,14 @@ u32 get_board_rev(void)
        if (cm_t3x_eeprom_read(offset, (uchar *)&rev, BOARD_REV_SIZE))
                return 0;
 
+       /*
+        * Convert legacy syntactic representation to semantic
+        * representation. i.e. for rev 1.00: 0x100 --> 0x64
+        */
+       if (eeprom_layout == LAYOUT_LEGACY) {
+               sprintf(str, "%x", rev);
+               rev = simple_strtoul(str, NULL, 10);
+       }
+
        return rev;
 };