|
|
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
// File name : libEFlash.h
|
|
|
// Version : V0.1
|
|
|
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
#ifndef __LIBEFLASH_H__
|
|
|
#define __LIBEFLASH_H__
|
|
|
|
|
|
#include "type.h"
|
|
|
|
|
|
/*
|
|
|
* Description:
|
|
|
* init eflash related functions and timings.
|
|
|
*
|
|
|
* Input:
|
|
|
* @f_eflash_khz: eflash modules clock
|
|
|
*
|
|
|
* Output:
|
|
|
* none
|
|
|
*/
|
|
|
extern void EFM_Init(UINT32 f_eflash_khz);
|
|
|
|
|
|
/*
|
|
|
* Description:
|
|
|
* eflash program function.
|
|
|
*
|
|
|
* Input:
|
|
|
* @addr: eflash addr
|
|
|
* @data: programmed word
|
|
|
*
|
|
|
* Output:
|
|
|
* @0: EFLASH_PROG_ERASE_PASS
|
|
|
* @1: EFLASH_PROG_ERASE_FAIL
|
|
|
*/
|
|
|
extern UINT8 EFlash_Program(UINT32 addr, UINT32 data);
|
|
|
|
|
|
/*
|
|
|
* Description:
|
|
|
* eflash bulk program function.
|
|
|
*
|
|
|
* Input:
|
|
|
* @addr: eflash addr
|
|
|
* @num_words: number of words to be programmed
|
|
|
* @data_buf: data buffer to be programmed
|
|
|
*
|
|
|
* Output:
|
|
|
* @0: EFLASH_PROG_ERASE_PASS
|
|
|
* @1: EFLASH_PROG_ERASE_FAIL
|
|
|
*/
|
|
|
extern UINT8 EFlash_Bulk_Program(UINT32 addr, UINT32 num_words, UINT32 *data_buf);
|
|
|
|
|
|
/*
|
|
|
* Description:
|
|
|
* eflash page program function.
|
|
|
* flash page size is 512 byte.
|
|
|
*
|
|
|
* Input:
|
|
|
* @addr: eflash addr
|
|
|
*
|
|
|
* Output:
|
|
|
* @0: EFLASH_PROG_ERASE_PASS
|
|
|
* @1: EFLASH_PROG_ERASE_FAIL
|
|
|
*/
|
|
|
extern UINT8 EFlash_Page_Erase(UINT32 addr);
|
|
|
|
|
|
extern UINT8 EFlash_Disboot(void);
|
|
|
extern UINT8 EFlash_Recovery_to_Boot(void);
|
|
|
extern void EFlash_Set_Main_Permission(BOOL lp_writeable, BOOL lp_readable);
|
|
|
|
|
|
#endif // end of __EFLASH_DRV_H__
|