此处,只是简单介绍一下,我之前所遇到的一个nor flash驱动,是如何做的。
关于添加nor flash初始化的代码,其实很简单,就是在开发板的最核心的那个文件(此处以arm系统为例):
linux-2.6.28.4\arch\arm\mach-XXX\core.c
中,添加类似于这样的代码:
static const struct spi_board_info const XXX_spi_devices[] = { { /* SSP NOR Flash chip */ .modalias = "ssp_nor", .chip_select = XXX_SPI_NOR_CS, .max_speed_hz = 20 * 1000 * 1000, .bus_num = 1, }, ...... };
然后在自己开发板设备初始化的部分,添加对应spi nor设备的注册函数:
spi_register_board_info(XXX_spi_devices, ARRAY_SIZE(XXX_spi_devices));
以实现对应的spi接口的nor flash设备的注册和添加。
具体内部逻辑是如何实现的,就要自己去看代码了。
此处只是给个框架,告诉你大概是怎么去实现的,具体的实现,肯定要你自己去看代码搞懂。