summaryrefslogtreecommitdiff
path: root/board/gateworks/venice/eeprom.h
diff options
context:
space:
mode:
Diffstat (limited to 'board/gateworks/venice/eeprom.h')
-rw-r--r--board/gateworks/venice/eeprom.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/board/gateworks/venice/eeprom.h b/board/gateworks/venice/eeprom.h
new file mode 100644
index 0000000000..37bfe76ad8
--- /dev/null
+++ b/board/gateworks/venice/eeprom.h
@@ -0,0 +1,33 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
+/*
+ * Copyright 2021 Gateworks Corporation
+ */
+
+#ifndef _VENICE_EEPROM_H_
+#define _VENICE_EEPROM_H_
+
+struct venice_board_info {
+ u8 mac[6]; /* 0x00: MAC base */
+ char equiv_dts[16]; /* 0x06: equivalent device-tree */
+ u8 res0[2]; /* 0x16: reserved */
+ u32 serial; /* 0x18: Serial Number */
+ u8 res1[4]; /* 0x1C: reserved */
+ u8 mfgdate[4]; /* 0x20: MFG date */
+ u8 macno; /* 0x24: number of mac addrs */
+ u8 res2[6]; /* 0x25 */
+ u8 sdram_size; /* 0x2B: (16 << n) MB */
+ u8 sdram_speed; /* 0x2C: (33.333 * n) MHz */
+ u8 sdram_width; /* 0x2D: (8 << n) bit */
+ u8 res3[2]; /* 0x2E */
+ char model[16]; /* 0x30: model string */
+ u8 res4[14]; /* 0x40 */
+ u8 chksum[2]; /* 0x4E */
+};
+
+int eeprom_init(int quiet);
+const char *eeprom_get_model(void);
+const char *eeprom_get_dtb_name(int level, char *buf, int len);
+int eeprom_getmac(int index, uint8_t *enetaddr);
+uint32_t eeprom_get_serial(void);
+
+#endif