56 lines
1.2 KiB
C
56 lines
1.2 KiB
C
/* Copyright 2011 The Chromium OS Authors. All rights reserved.
|
|
* Use of this source code is governed by a BSD-style license that can be
|
|
* found in the LICENSE file.
|
|
*/
|
|
|
|
/* EEPROM module for Chrome EC */
|
|
|
|
#ifndef __CROS_EC_EEPROM_H
|
|
#define __CROS_EC_EEPROM_H
|
|
|
|
#include "common.h"
|
|
|
|
/**
|
|
* Initialize the module.
|
|
*/
|
|
int eeprom_init(void);
|
|
|
|
/**
|
|
* Returns the number of EEPROM blocks on the system.
|
|
*/
|
|
int eeprom_get_block_count(void);
|
|
|
|
/**
|
|
* Return the EEPROM block size in bytes.
|
|
*/
|
|
int eeprom_get_block_size(void);
|
|
|
|
/**
|
|
* Read data from EEPROM.
|
|
*
|
|
* @param block Block number
|
|
* @param offset Byte offset in block; must be multiple of 4.
|
|
* @param size Number of bytes to read; must be multiple of 4.
|
|
* @param data Destination for data
|
|
*/
|
|
int eeprom_read(int block, int offset, int size, char *data);
|
|
|
|
/**
|
|
* Write data to EEPROM.
|
|
*
|
|
* @param block Block number
|
|
* @param offset Byte offset in block; must be multiple of 4.
|
|
* @param size Number of bytes to write; must be multiple of 4.
|
|
* @param data Data to write
|
|
*/
|
|
int eeprom_write(int block, int offset, int size, const char *data);
|
|
|
|
/**
|
|
* Hide an EEPROM block until the next reset.
|
|
*
|
|
* @param block Block number
|
|
*/
|
|
int eeprom_hide(int block);
|
|
|
|
#endif /* __CROS_EC_EEPROM_H */
|