board/fsl/common: Fix eeprom system version endianness
authorJaiprakash Singh <b44839 at freescale.com>
Thu, 28 May 2015 09:24:03 +0000 (14:54 +0530)
committerYork Sun <yorksun@freescale.com>
Mon, 20 Jul 2015 18:44:34 +0000 (11:44 -0700)
SYSTEM ID EPPROM always store SYSTEM version info in big endian format.
SoC with ARM or PowerPC core should read/write version info from eeprom
in BIG endian format.

So use cpu-specific APIs to read SYSTEM version.

Signed-off-by: Jaiprakash Singh <b44839 at freescale.com>
Signed-off-by: Prabhakar Kushwaha <prabhakar at freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
board/freescale/common/sys_eeprom.c

index 5cb7570c8b8a82c6bf6233fd753c8b991cdcb689..29aa778dbeca4524788d982b517f74ce1d160b66 100644 (file)
@@ -90,7 +90,7 @@ static void show_eeprom(void)
        /* EEPROM tag ID, either CCID or NXID */
 #ifdef CONFIG_SYS_I2C_EEPROM_NXID
        printf("ID: %c%c%c%c v%u\n", e.id[0], e.id[1], e.id[2], e.id[3],
-              e.version);
+              be32_to_cpu(e.version));
 #else
        printf("ID: %c%c%c%c\n", e.id[0], e.id[1], e.id[2], e.id[3]);
 #endif
@@ -340,7 +340,7 @@ int do_mac(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
        if (cmd == 'i') {
 #ifdef CONFIG_SYS_I2C_EEPROM_NXID
                memcpy(e.id, "NXID", sizeof(e.id));
-               e.version = NXID_VERSION;
+               e.version = cpu_to_be32(NXID_VERSION);
 #else
                memcpy(e.id, "CCID", sizeof(e.id));
 #endif
@@ -485,7 +485,7 @@ int mac_read_from_eeprom(void)
 
 #ifdef CONFIG_SYS_I2C_EEPROM_NXID
        printf("%c%c%c%c v%u\n", e.id[0], e.id[1], e.id[2], e.id[3],
-              e.version);
+              be32_to_cpu(e.version));
 #else
        printf("%c%c%c%c\n", e.id[0], e.id[1], e.id[2], e.id[3]);
 #endif
@@ -496,7 +496,7 @@ int mac_read_from_eeprom(void)
         * that at boot time, U-Boot will still say "NXID v0".
         */
        if (e.version == 0) {
-               e.version = NXID_VERSION;
+               e.version = cpu_to_be32(NXID_VERSION);
                update_crc();
        }
 #endif