summaryrefslogtreecommitdiff
path: root/board/cm_t35/eeprom.c
diff options
context:
space:
mode:
Diffstat (limited to 'board/cm_t35/eeprom.c')
-rw-r--r--board/cm_t35/eeprom.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/board/cm_t35/eeprom.c b/board/cm_t35/eeprom.c
index b3d332f..dfa171d 100644
--- a/board/cm_t35/eeprom.c
+++ b/board/cm_t35/eeprom.c
@@ -29,6 +29,8 @@
#define BOARD_REV_OFFSET_LEGACY 6
#define BOARD_REV_SIZE 4
#define BOARD_REV_SIZE_LEGACY 2
+#define MAC_ADDR_OFFSET 4
+#define MAC_ADDR_OFFSET_LEGACY 0
#define LAYOUT_INVALID 0
#define LAYOUT_LEGACY 0xff
@@ -82,6 +84,22 @@ void get_board_serial(struct tag_serialnr *serialnr)
}
/*
+ * Routine: cm_t3x_eeprom_read_mac_addr
+ * Description: read mac address and store it in buf.
+ */
+int cm_t3x_eeprom_read_mac_addr(uchar *buf)
+{
+ uint offset;
+
+ if (eeprom_setup_layout())
+ return 0;
+
+ offset = (eeprom_layout != LAYOUT_LEGACY) ?
+ MAC_ADDR_OFFSET : MAC_ADDR_OFFSET_LEGACY;
+ return cm_t3x_eeprom_read(offset, buf, 6);
+}
+
+/*
* Routine: get_board_rev
* Description: read system revision
*/