3 * Corscience GmbH & Co. KG, <www.corscience.de>
4 * Andreas Bießmann <andreas.biessmann@corscience.de>
6 * SPDX-License-Identifier: GPL-2.0+
8 #ifndef TRICORDER_EEPROM_H_
9 #define TRICORDER_EEPROM_H_
11 #include <linux/compiler.h>
13 #define TRICORDER_EEPROM_MAGIC 0xc2a94f52
14 #define TRICORDER_EEPROM_VERSION 1
16 #define TRICORDER_BOARD_NAME_LENGTH 12
17 #define TRICORDER_BOARD_VERSION_LENGTH 4
18 #define TRICORDER_BOARD_SERIAL_LENGTH 12
19 #define TRICORDER_INTERFACE_VERSION_LENGTH 4
21 struct tricorder_eeprom {
25 char board_name[TRICORDER_BOARD_NAME_LENGTH];
26 char board_version[TRICORDER_BOARD_VERSION_LENGTH];
27 char board_serial[TRICORDER_BOARD_SERIAL_LENGTH];
28 char interface_version[TRICORDER_INTERFACE_VERSION_LENGTH];
32 #define TRICORDER_EEPROM_SIZE sizeof(struct tricorder_eeprom)
33 #define TRICORDER_EEPROM_CRC_SIZE (TRICORDER_EEPROM_SIZE - \
37 * @brief read eeprom information from a specific eeprom address
39 int tricorder_get_eeprom(int addr, struct tricorder_eeprom *eeprom);
41 #endif /* TRICORDER_EEPROM_H_ */