mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-19 16:38:53 +09:00
42 lines
1.1 KiB
C
42 lines
1.1 KiB
C
![]() |
/*
|
||
|
* (C) Copyright 2013
|
||
|
* Corscience GmbH & Co. KG, <www.corscience.de>
|
||
|
* Andreas Bießmann <andreas.biessmann@corscience.de>
|
||
|
*
|
||
|
* SPDX-License-Identifier: GPL-2.0+
|
||
|
*/
|
||
|
#ifndef TRICORDER_EEPROM_H_
|
||
|
#define TRICORDER_EEPROM_H_
|
||
|
|
||
|
#include <linux/compiler.h>
|
||
|
|
||
|
#define TRICORDER_EEPROM_MAGIC 0xc2a94f52
|
||
|
#define TRICORDER_EEPROM_VERSION 1
|
||
|
|
||
|
#define TRICORDER_BOARD_NAME_LENGTH 12
|
||
|
#define TRICORDER_BOARD_VERSION_LENGTH 4
|
||
|
#define TRICORDER_BOARD_SERIAL_LENGTH 12
|
||
|
#define TRICORDER_INTERFACE_VERSION_LENGTH 4
|
||
|
|
||
|
struct tricorder_eeprom {
|
||
|
uint32_t magic;
|
||
|
uint16_t length;
|
||
|
uint16_t version;
|
||
|
char board_name[TRICORDER_BOARD_NAME_LENGTH];
|
||
|
char board_version[TRICORDER_BOARD_VERSION_LENGTH];
|
||
|
char board_serial[TRICORDER_BOARD_SERIAL_LENGTH];
|
||
|
char interface_version[TRICORDER_INTERFACE_VERSION_LENGTH];
|
||
|
uint32_t crc32;
|
||
|
} __packed;
|
||
|
|
||
|
#define TRICORDER_EEPROM_SIZE sizeof(struct tricorder_eeprom)
|
||
|
#define TRICORDER_EEPROM_CRC_SIZE (TRICORDER_EEPROM_SIZE - \
|
||
|
sizeof(uint32_t))
|
||
|
|
||
|
/**
|
||
|
* @brief read eeprom information from a specific eeprom address
|
||
|
*/
|
||
|
int tricorder_get_eeprom(int addr, struct tricorder_eeprom *eeprom);
|
||
|
|
||
|
#endif /* TRICORDER_EEPROM_H_ */
|