spinand_manufacturer
该结构为第一级索引,用来描述器件厂家的信息
SPI NAND
的接口和操作命令基本上很统一,少有需要特殊处理的命令,但驱动上为了更好的兼容性,还是预留了一些接口
const struct spinand_manufacturer winbond_spinand_manufacturer = {
.id = SPINAND_MFR_FMSH, //厂家的 ID,即 MID
.name = "FudanMicro", //厂家名字标识
.chips = fmsh_spinand_table, //本驱动支持的器件
.nchips = ARRAY_SIZE(fmsh_spinand_table), // 支持的器件的个数
.ops = &fmsh_spinand_manuf_ops, // 本公司的器件 私有操作接口
};
struct spinand_manufacturer_ops {
int (*init)(struct spinand_device *spinand); //初始化接口,如果没有特殊操作,可以为空
void (*cleanup)(struct spinand_device *spinand); //清理接口,如果没有特殊操作,可以为空
};
对 FudanMicro
和 Foresee
来讲,他们没有特殊的初始化接口, 因此预留该两个接口为空
-
Manufacture ID,厂商的唯一标识, 一般在数据手册文档中搜 Manufacture ID 或者 MID 即可获得
-
Device ID:器件的唯一标识, 一般在数据手册文档中搜 Device ID 或者 DID 即可获得
#define SPINAND_MFR_FMSH 0xA1 #define SPINAND_MFR_FORESEE 0xCD