ronnie
2022-10-23 1972b0e7ed50e5b37c5633d662ea03d23b15499c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
/* SPDX-License-Identifier: GPL-2.0 */
 
#ifndef __AW_SPINAND_NFTL_H__
#define __AW_SPINAND_NFTL_H__
 
#include <linux/sunxi-boot.h>
 
#define AW_NFTL_OOB_LEN (16)
 
enum AW_NFTL_ECC_STATUS {
   AW_NFTL_ECC_ERR = -2,
   AW_NFTL_ECC_LIMIT = 10
};
 
 
unsigned int spinand_nftl_get_super_page_size(int type);
unsigned int spinand_nftl_get_super_block_size(int type);
unsigned int spinand_nftl_get_single_page_size(int type);
unsigned int spinand_nftl_get_single_block_size(int type);
unsigned int spinand_nftl_get_chip_size(int type);
unsigned int spinand_nftl_get_die_size(int type);
unsigned int spinand_nftl_get_die_cnt(void);
unsigned int spinand_nftl_get_chip_cnt(void);
unsigned int spinand_nftl_get_max_erase_times(void);
unsigned int spinand_nftl_get_multi_plane_flag(void);
unsigned int spinand_nftl_get_operation_opt(void);
void spinand_nftl_get_chip_id(unsigned char *id);
 
int spinand_nftl_read_super_page(unsigned short dienum, unsigned short blocknum,
       unsigned short pagenum, unsigned short sectorbitmap,
       void *rmbuf, void *rspare);
 
int spinand_nftl_write_super_page(unsigned short dienum, unsigned short blocknum,
       unsigned short pagenum, unsigned short sectorbitmap,
       void *wmbuf, void *wspare);
int spinand_nftl_erase_super_block(unsigned short dienum, unsigned short blocknum);
int spinand_nftl_super_badblock_check(unsigned short dienum, unsigned short blocknum);
int spinand_nftl_super_badblock_mark(unsigned short dienum, unsigned short blocknum);
 
int spinand_nftl_read_single_page(unsigned short dienum, unsigned short blocknum,
       unsigned short pagenum, unsigned short sectorbitmap,
       void *rmbuf, void *rspare);
 
int spinand_nftl_write_single_page(unsigned short dienum, unsigned short blocknum,
       unsigned short pagenum, unsigned short sectorbitmap,
       void *wmbuf, void *wspare);
int spinand_nftl_erase_single_block(unsigned short dienum, unsigned short blocknum);
 
int spinand_nftl_single_block_copy(unsigned int from_chip,
       unsigned int from_block, unsigned int to_chip,
       unsigned int to_block);
int spinand_nftl_single_badblock_check(unsigned short chipnum, unsigned short blocknum);
int spinand_nftl_single_badblock_mark(unsigned short chipnum, unsigned short blocknum);
 
#endif /*AW_SPINAND_NFTL_H*/