有没有人用过这个驱动?您需要包含哪些标头?我在内核代码的包含头中找不到m25p80.c文件中实现的函数的声明。通过SPI连接到微处理器的Micron SD卡需要填充哪些结构和调用哪些函数来执行读写操作?
如果可能,请提供您拥有/可以找到的任何示例代码。
在内核中: drivers/mtd/devices/m25p80.c
至Xilinx内核位置:https://github.com/Xilinx/linux-xlnx/blob/master/drivers/mtd/devices/m25p80.c
发布于 2017-11-09 17:09:17
我知道你一定是在用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控制器。如果所有设置都正确,则会对其进行探测,您可以看到列出的分区。
https://stackoverflow.com/questions/47189937
复制相似问题