Micron M25P80设备驱动程序

时间:2017-11-08 21:25:00

标签: kernel linux-device-driver embedded-linux spi flash-memory

有没有人用过这个驱动程序?您需要包含哪些标题?我在内核代码包含头文件中找不到m25p80.c文件中实现的函数声明。需要填充哪些结构以及通过SPI连接到微处理器的Micron SD卡执行读写的功能?

如果可能,请提供您已经/可以找到的任何示例代码。

在内核中:drivers / mtd / devices / m25p80.c

到Xilinx内核位置:https://github.com/Xilinx/linux-xlnx/blob/master/drivers/mtd/devices/m25p80.c

1 个答案:

答案 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控制器。 如果所有设置都正确,则会进行探测,您可以看到列出的分区。