22#define RT_MTD_NAND_DEVICE(device) ((struct rt_mtd_nand_device*)(device))
25#define RT_MTD_EECC 101
26#define RT_MTD_EBUSY 102
28#define RT_MTD_ENOMEM 104
29#define RT_MTD_ESRC 105
30#define RT_MTD_EECC_CORRECT 106
struct rt_mtd_nand_device * rt_mtd_nand_t
rt_err_t rt_mtd_nand_mark_badblock(struct rt_mtd_nand_device *device, rt_uint32_t block)
rt_err_t rt_mtd_nand_write(struct rt_mtd_nand_device *device, rt_off_t page, const rt_uint8_t *data, rt_uint32_t data_len, const rt_uint8_t *spare, rt_uint32_t spare_len)
rt_err_t rt_mtd_nand_check_block(struct rt_mtd_nand_device *device, rt_uint32_t block)
rt_err_t rt_mtd_nand_register_device(const char *name, struct rt_mtd_nand_device *device)
rt_err_t rt_mtd_nand_read(struct rt_mtd_nand_device *device, rt_off_t page, rt_uint8_t *data, rt_uint32_t data_len, rt_uint8_t *spare, rt_uint32_t spare_len)
rt_uint32_t rt_mtd_nand_read_id(struct rt_mtd_nand_device *device)
rt_err_t rt_mtd_nand_move_page(struct rt_mtd_nand_device *device, rt_off_t src_page, rt_off_t dst_page)
rt_err_t rt_mtd_nand_erase_block(struct rt_mtd_nand_device *device, rt_uint32_t block)
unsigned short rt_uint16_t
const struct rt_mtd_nand_driver_ops * ops
rt_uint32_t pages_per_block
rt_err_t(* check_block)(struct rt_mtd_nand_device *device, rt_uint32_t block)
rt_err_t(* read_id)(struct rt_mtd_nand_device *device)
rt_err_t(* move_page)(struct rt_mtd_nand_device *device, rt_off_t src_page, rt_off_t dst_page)
rt_err_t(* erase_block)(struct rt_mtd_nand_device *device, rt_uint32_t block)
rt_err_t(* read_page)(struct rt_mtd_nand_device *device, rt_off_t page, rt_uint8_t *data, rt_uint32_t data_len, rt_uint8_t *spare, rt_uint32_t spare_len)
rt_err_t(* mark_badblock)(struct rt_mtd_nand_device *device, rt_uint32_t block)
rt_err_t(* write_page)(struct rt_mtd_nand_device *device, rt_off_t page, const rt_uint8_t *data, rt_uint32_t data_len, const rt_uint8_t *spare, rt_uint32_t spare_len)