0

我有一些设备,这是一个原型。在设备中使用了 MCU MT7620a。板上我有 32 MB RAM 和 64MB SPI 闪存。我想在这个设备上安装 OpenWRT,但是我对这个 SPI 闪存的正确驱动程序有问题,因为驱动程序m25p80通常在 linux 中使用,句柄大小只有 32MB。系统将内存识别为MT25QL512AB。那么您知道我必须使用什么驱动程序才能很好地配合内存和 MCU 吗?我检查了现场可用的硬件表

http://wiki.openwrt.org/toh/start

在目标中找到类似的东西,但只有我发现使用m25p80处理最大到 32MB 。如果我找到一些设备,例如 64MB 闪存或更多,我不能使用 BuildRoot OpenWRT 使用这个想法,因为所有没有 64MB 闪存的设备都给了我信息如何准备设备树mt7620a.dts什么具体驱动程序是兼容的等等。

实际上设备树 inode 支持 16MB 的闪存大小,如下所示

palmbus@10000000 {
        spi@b00 {
            status = "okay";

            m25p80@0 {
                #address-cells = <1>;
                #size-cells = <1>;
                compatible = "en25q64";
                reg = <0 0>;
                linux,modalias = "m25p80", "en25q64";
                spi-max-frequency = <10000000>;

                partition@0 {
                    label = "u-boot";
                    reg = <0x0 0x30000>;
                    read-only;
                };

                partition@30000 {
                    label = "u-boot-env";
                    reg = <0x30000 0x10000>;
                    read-only;
                };

                factory: partition@40000 {
                    label = "factory";
                    reg = <0x40000 0x10000>;
                    read-only;
                };

                partition@50000 {
                    label = "firmware";
                    reg = <0x50000 0xfb0000>;
                };
            };


        };

如您所见,使用了 m25p80

4

1 回答 1

0

我检查了 m25p80.c 里面不支持你的 spi flash。所以我建议你要么自己手动添加支持,要么看看我遇到的这个驱动程序 ralink_spi.c 让我知道你的结果。我没有那个芯片,否则我会自己尝试的。最近增加了对 32MB+ 闪存芯片的支持,例如 m25q256fv 等。

让我知道

于 2016-02-29T09:35:25.413 回答