SPI NAND 库数据结构设计
struct aic_spinand
定义了 SPINAND 控制器管理信息:
struct aic_spinand {
const struct aic_spinand_info *info;
struct spinand_id id;
void *user_data;
void *lock;
u8 use_continuous_read;
u8 qspi_dl_width;
u8 IsInited;
u8 *databuf;
u8 *oobbuf;
struct nand_bbt bbt;
};提示:
info 表示 SPINAND 设备信息
use_continuous_read 表示 SPINAND 使能了连续读取模式 (部分厂家芯片支持)
qspi_dl_width 表示 qspi 总线数据宽度 bbt
表示坏块管理信息
struct aic_spinand_info
定义了 SPINAND
设备配置信息
/* SPI NAND flash information */
struct aic_spinand_info {
u32 devid;
u16 page_size;
u16 oob_size;
u32 block_per_lun;
u32 pages_per_eraseblock;
u8 is_die_select;
const char *sz_description;
struct spi_nand_cmd_cfg *cmd;
};
struct spi_nand_cmd_cfg
定义了 SPINAND
操作命令配置的格式
struct spi_nand_cmd_cfg {
u8 opcode;
u8 opcode_bits;
u8 addr_bytes;
u8 addr_bits;
u8 dummy_bytes;
u8 data_bits;
};