blob: 97699f8c9796312397ad0758e3b82fda05c28a41 [file] [log] [blame]
/*******************************************************************************
* Copyright 2016, MARVELL SEMICONDUCTOR, LTD. *
* THIS CODE CONTAINS CONFIDENTIAL INFORMATION OF MARVELL. *
* NO RIGHTS ARE GRANTED HEREIN UNDER ANY PATENT, MASK WORK RIGHT OR COPYRIGHT *
* OF MARVELL OR ANY THIRD PARTY. MARVELL RESERVES THE RIGHT AT ITS SOLE *
* DISCRETION TO REQUEST THAT THIS CODE BE IMMEDIATELY RETURNED TO MARVELL. *
* THIS CODE IS PROVIDED "AS IS". MARVELL MAKES NO WARRANTIES, EXPRESSED, *
* IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, COMPLETENESS OR PERFORMANCE. *
* *
* MARVELL COMPRISES MARVELL TECHNOLOGY GROUP LTD. (MTGL) AND ITS SUBSIDIARIES, *
* MARVELL INTERNATIONAL LTD. (MIL), MARVELL TECHNOLOGY, INC. (MTI), MARVELL *
* SEMICONDUCTOR, INC. (MSI), MARVELL ASIA PTE LTD. (MAPL), MARVELL JAPAN K.K. *
* (MJKK), MARVELL ISRAEL LTD. (MSIL). *
*******************************************************************************/
#ifndef _FLASH_OP_H_
#define _FLASH_OP_H_
#define FLASH_SWITCH_PART_NOEXIST (-1)
#define FLASH_OP_ERR (-2)
void set_flash_parameters(int blocksize, int pagesize, int addrcycle);
inline int get_block_size();
int get_page_size();
int get_addr_cycle();
int get_boot_partition_number(void);
void init_flash();
int switch_flash_part(unsigned int part);
unsigned int flash_dev_id_inc(unsigned int dev_id);
long long read_flash(long long start, unsigned int size, unsigned char *buff);
long long read_flash_from_part(unsigned int part, long long start, unsigned int size, unsigned char *buff);
long long get_flash_capacity(void);
long long write_flash(long long start, unsigned int size, unsigned char *buff);
#endif