/* * nand_test.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 _NAND_TEST_H_ #define _NAND_TEST_H_ #include "nand_blk.h" #include "nand_dev.h" extern int debug_data; extern uint32 gc_all(void *zone); extern uint32 gc_one(void *zone); extern uint32 prio_gc_one(void *zone, uint16 block, uint32 flag); extern void print_nftl_zone(void *zone); extern void print_free_list(void *zone); extern void print_block_invalid_list(void *zone); extern uint32 nftl_set_zone_test(void *_zone, uint32 num); extern int nand_dbg_phy_read(unsigned short nDieNum, unsigned short nBlkNum, unsigned short nPage); extern int nand_dbg_zone_phy_read(void *zone, uint16 block, uint16 page); extern int nand_dbg_zone_erase(void *zone, uint16 block, uint16 erase_num); extern int nand_dbg_zone_phy_write(void *zone, uint16 block, uint16 page); extern int nand_dbg_phy_write(unsigned short nDieNum, unsigned short nBlkNum, unsigned short nPage); extern int nand_dbg_phy_erase(unsigned short nDieNum, unsigned short nBlkNum); extern int _dev_nand_read2(char *name, __u32 start_sector, __u32 len, unsigned char *buf); extern void nand_phy_test(void); extern int nand_check_table(void *zone); extern int _dev_nand_read(struct _nand_dev *nand_dev, __u32 start_sector, __u32 len, unsigned char *buf); extern int _dev_nand_write(struct _nand_dev *nand_dev, __u32 start_sector, __u32 len, unsigned char *buf); extern int _dev_flush_write_cache(struct _nand_dev *nand_dev, __u32 num); extern struct _nand_dev *_get_nand_dev_by_name(char *name); struct task_struct *p_udisk_test_thread; int udisk_test_thread_running; struct _nand_dev *udisk_test_nand_dev; unsigned char *udisk_test_buf; /*128K*/ unsigned char *udisk_test_mapping; /* (500*1024) * 8 byte*/ #define MAX_PTR_PER_TEST (500*1024) #endif