SPI NAND 库数据结构设计
Read time: 1 minute(s)
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; };