50 lines
1.5 KiB
C
Executable File
50 lines
1.5 KiB
C
Executable File
/*
|
|
* nand_lib.h for SUNXI NAND .
|
|
*
|
|
* Copyright (C) 2016 Allwinner.
|
|
*
|
|
*
|
|
* This file is licensed under the terms of the GNU General Public
|
|
* License version 2. This program is licensed "as is" without any
|
|
* warranty of any kind, whether express or implied.
|
|
*/
|
|
|
|
#ifndef __BSP_NAND_H__
|
|
#define __BSP_NAND_H__
|
|
|
|
#include "../phy-nand/nand-partition3/sunxi_nand_partitions.h"
|
|
//#include "../phy-nand/nand-partition/phy.h"
|
|
//#include "../phy-nand/spinand/spinand_type.h"
|
|
#include "nand_type.h"
|
|
|
|
struct _nftl_blk {
|
|
unsigned int nftl_logic_size;
|
|
struct _nand_partition *nand;
|
|
struct _nftl_blk *nftl_blk_next;
|
|
void *nftl_zone;
|
|
void *cfg;
|
|
unsigned int time;
|
|
unsigned int ops_time; /* add ecape time for ops nftl */
|
|
unsigned int time_flush;
|
|
void *nftl_thread;
|
|
void *blk_lock;
|
|
int (*read_data)(struct _nftl_blk *nftl_blk, unsigned int sector,
|
|
unsigned int len, unsigned char *buf);
|
|
int (*write_data)(struct _nftl_blk *nftl_blk, unsigned int sector,
|
|
unsigned int len, unsigned char *buf);
|
|
int (*flush_write_cache)(struct _nftl_blk *nftl_blk,
|
|
unsigned int num);
|
|
int (*discard)(struct _nftl_blk *nftl_blk, unsigned int sector,
|
|
unsigned int len);
|
|
int (*shutdown_op)(struct _nftl_blk *nftl_blk);
|
|
int (*read_sector_data)(struct _nftl_blk *nftl_blk,
|
|
unsigned int sector, unsigned int len,
|
|
unsigned char *buf);
|
|
int (*write_sector_data)(struct _nftl_blk *nftl_blk,
|
|
unsigned int sector, unsigned int len,
|
|
unsigned char *buf);
|
|
int (*flush_sector_write_cache)(struct _nftl_blk *nftl_blk,
|
|
unsigned int num);
|
|
};
|
|
#endif
|