sdk-hwV1.3/lichee/linux-4.9/modules/nand/common1/phy-nand/rawnand/rawnand_readretry.h

65 lines
2.6 KiB
C

/* SPDX-License-Identifier: GPL-2.0*/
#ifndef __RAWNAND_READRETRY_H__
#define __RAWNAND_READRETRY_H__
#include "rawnand.h"
extern u8 hynix16nm_read_retry_mode;
extern u8 hynix20nm_read_retry_mode;
extern int generic_special_init(void);
extern int generic_special_exit(void);
extern int generic_is_lsb_page(__u32 page_num);
extern int hynix16nm_write_page_FF(struct _nand_physic_op_par *npo, u32 page_size_k);
extern s32 hynix16nm_set_default_param(struct nand_chip_info *nci);
extern int hynix16nm_special_init(void);
extern int hynix16nm_special_exit(void);
extern int hynix16nm_is_lsb_page(__u32 page_num);
extern int hynix20nm_lsb_init(struct nand_chip_info *nci);
extern int hynix20nm_lsb_enable(struct nand_chip_info *nci);
extern int hynix20nm_lsb_disable(struct nand_chip_info *nci);
extern int hynix20nm_lsb_exit(struct nand_chip_info *nci);
extern s32 hynix20nm_set_default_param(struct nand_chip_info *nci);
extern int hynix20nm_special_init(void);
extern int hynix20nm_special_exit(void);
extern int hynix20nm_is_lsb_page(__u32 page_num);
extern s32 hynix26nm_lsb_init(struct nand_chip_info *nci);
extern s32 hynix26nm_lsb_enable(struct nand_chip_info *nci);
extern s32 hynix26nm_lsb_disable(struct nand_chip_info *nci);
extern s32 hynix26nm_lsb_exit(struct nand_chip_info *nci);
extern int hynix26nm_special_init(void);
extern int hynix26nm_special_exit(void);
extern int hynix26nm_is_lsb_page(__u32 page_num);
extern s32 micron_readretry_init(struct nand_chip_info *nci);
extern s32 micron_readretry_exit(struct nand_chip_info *nci);
extern s32 micron_set_readretry(struct nand_chip_info *nci);
extern int micron_special_init(void);
extern int micron_special_exit(void);
extern int micron_0x40_is_lsb_page(__u32 page_num);
extern int micron_0x41_is_lsb_page(__u32 page_num);
extern int micron_0x42_is_lsb_page(__u32 page_num);
extern int samsung_special_init(void);
extern int samsung_special_exit(void);
extern int samsung_is_lsb_page(__u32 page_num);
extern int sandisk_A19_special_init(void);
extern int sandisk_A19_special_exit(void);
extern int sandisk_A19_check_bad_block_first_burn(struct _nand_physic_op_par *npo);
extern int sandisk_special_init(void);
extern int sandisk_special_exit(void);
extern int sandisk_is_lsb_page(__u32 page_num);
extern int toshiba_special_init(void);
extern int toshiba_special_exit(void);
extern int toshiba_is_lsb_page(__u32 page_num);
#if 0
typedef int (*lsb_page_t)(__u32 no);
extern lsb_page_t chose_lsb_func(__u32 no);
#endif
struct rawnand_readretry {
int (*nand_readretry_op_init)(void);
int (*nand_readretry_op_exit)(void);
};
extern struct rawnand_readretry rawnand_readretry[];
#endif /*RAWNAND_READRETRY_H*/