summaryrefslogtreecommitdiff
path: root/board
diff options
context:
space:
mode:
authorEbony Zhu <b45385@freescale.com>2014-04-25 18:38:44 -0500
committerYork Sun <yorksun@freescale.com>2014-05-16 16:24:05 -0500
commit477c894ff475be9886bd936fa8eeef7bfe862161 (patch)
tree1bd9228d9c5bafa7c239be0823eb7b3118df78da /board
parentffc8667acf5c01e2b1ab7b7bb640ddaf2d1f2784 (diff)
downloadu-boot-imx-477c894ff475be9886bd936fa8eeef7bfe862161.zip
u-boot-imx-477c894ff475be9886bd936fa8eeef7bfe862161.tar.gz
u-boot-imx-477c894ff475be9886bd936fa8eeef7bfe862161.tar.bz2
board/freescale: Move CRC32 offset in NXID v1 data format
According to AN3638, CRC of NXID v1 is at the end of the 256-byte I2C memory. The wrong CRC32 offset prevents Uboot from reading system information from EEPROM. No NXID v0 is being used on Freescale boards. Signed-off-by: Ebony Zhu <b45385@freescale.com> Reviewed-by: York Sun <yorksun@freescale.com>
Diffstat (limited to 'board')
-rw-r--r--board/freescale/common/sys_eeprom.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/board/freescale/common/sys_eeprom.c b/board/freescale/common/sys_eeprom.c
index 33a5a5a..6144c53 100644
--- a/board/freescale/common/sys_eeprom.c
+++ b/board/freescale/common/sys_eeprom.c
@@ -21,7 +21,7 @@
/* some boards with non-256-bytes EEPROM have special define */
/* for MAX_NUM_PORTS in board-specific file */
#ifndef MAX_NUM_PORTS
-#define MAX_NUM_PORTS 23
+#define MAX_NUM_PORTS 16
#endif
#define NXID_VERSION 1
#endif
@@ -58,8 +58,9 @@ static struct __attribute__ ((__packed__)) eeprom {
u8 res_1[21]; /* 0x2b - 0x3f Reserved */
u8 mac_count; /* 0x40 Number of MAC addresses */
u8 mac_flag; /* 0x41 MAC table flags */
- u8 mac[MAX_NUM_PORTS][6]; /* 0x42 - x MAC addresses */
- u32 crc; /* x+1 CRC32 checksum */
+ u8 mac[MAX_NUM_PORTS][6]; /* 0x42 - 0xa1 MAC addresses */
+ u8 res_2[90]; /* 0xa2 - 0xfb Reserved */
+ u32 crc; /* 0xfc - 0xff CRC32 checksum */
#endif
} e;