有没有人用过这个驱动程序?您需要包含哪些标题?我在内核代码包含头文件中找不到m25p80.c文件中实现的函数声明。需要填充哪些结构以及通过SPI连接到微处理器的Micron SD卡执行读写的功能?
如果可能,请提供您已经/可以找到的任何示例代码。
在内核中:drivers / mtd / devices / m25p80.c
到Xilinx内核位置:https://github.com/Xilinx/linux-xlnx/blob/master/drivers/mtd/devices/m25p80.c
答案 0 :(得分:0)
我知道您必须使用dts描述板。在DTS文件中,您可以通过添加以下行来在SPI控制器节点下包含对此闪存的支持:
spi@8800D000 {
/* your SPI Controller Node settings here */
/* Add / Modify/ delete below settings as per your HW */
compatible = "your compatible string";
reg = <0x1000d000 0x1000>;
num-cs = <0x4>;
clocks = <0x2>;
interrupt-parent = <&intc>;
interrupts = <0x0 0x86 0x4>;
#address-cells = <0x1>;
#size-cells = <0x0>;
nor@0 {
compatible = "n25q00";
reg = <0x0>;
spi-max-frequency = <25000000>;
spi-rx-bus-width = <0x4>;
spi-tx-bus-width = <0x4>;
#address-cells = <0x1>;
#size-cells = <0x1>;
partition@0 {
label = "part1";
reg = <0x0 0x000c0000>;
};
partition@c0000 {
label = "part2";
reg = <0x000c0000 0x00020000>;
};
};
};
另外请确保已启用相同的所有相关内核配置。喜欢:
CONFIG_MTD_M25P80=y
CONFIG_MTD_SPI_NOR=y
CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y (if required)
CONFIG_SPI=y
CONFIG_SPI_DEBUG=y
CONFIG_SPI_MASTER=y
此外,启用SPI控制器。 如果所有设置都正确,则会进行探测,您可以看到列出的分区。