WhyCan Forum

本站无需注册,无需积分,无需回复可下载所有资料,如果真的喜欢小站,请您注册之后请至少回复一个帖子激活Id,谢谢支持! 站长QQ: 516333132 (挖坑网/填坑网) admin@whycan.cn

您尚未登录。

#1 2019-05-18 17:10:09

还能这么玩
会员
注册时间: 2019-04-14
累计积分: 29

最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

2019-05-18_170732.png


gigadevice.c
macronix.c   
micron.c   
toshiba.c   
winbond.c

https://github.com/torvalds/linux/tree/master/drivers/mtd/nand/spi

离线

#2 2019-05-18 17:21:06

超级萌新
会员
注册时间: 2018-05-04
累计积分: 219

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

linux真是了不起,一天比一天进步,与时俱进

离线

#3 2019-05-18 17:32:29

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,757

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

https://github.com/torvalds/linux/blob/master/drivers/mtd/nand/spi/winbond.c

static const struct spinand_info winbond_spinand_table[] = {
    SPINAND_INFO("W25M02GV", 0xAB,
             NAND_MEMORG(1, 2048, 64, 64, 1024, 20, 1, 1, 2),
             NAND_ECCREQ(1, 512),
             SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
                          &write_cache_variants,
                          &update_cache_variants),
             0,
             SPINAND_ECCINFO(&w25m02gv_ooblayout, NULL),
             SPINAND_SELECT_TARGET(w25m02gv_select_target)),
    SPINAND_INFO("W25N01GV", 0xAA,
             NAND_MEMORG(1, 2048, 64, 64, 1024, 20, 1, 1, 1),
             NAND_ECCREQ(1, 512),
             SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
                          &write_cache_variants,
                          &update_cache_variants),
             0,
             SPINAND_ECCINFO(&w25m02gv_ooblayout, NULL)),
};

2019-05-18_173118.png


W25N01GVZEIG:  https://item.szlcsc.com/90048.html

谢谢楼主分享, 发现很久以前在立创商城买的 W25N01GVZEIG  很快就能用上了.

离线

#4 2019-05-18 17:33:45

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,757

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

&spi0 {
        pinctrl-names = "default";
        pinctrl-0 = <&spi0_pins_a>;
        status = "okay";

        flash@0 {
                #address-cells = <1>;
                #size-cells = <1>;
                compatible = "spi-nand";
                reg = <0>;
                spi-max-frequency = <40000000>;




        partitions {
                compatible = "fixed-partitions";
                #address-cells = <1>;
                #size-cells = <1>;

            partition@0 {
                label = "all";
                reg = <0x000000 0x8000000>;
            };
        };
        };
};

https://github.com/torvalds/linux/blob/master/Documentation/devicetree/bindings/mtd/spi-nand.txt

设备树应该是这样的。

离线

#5 2019-05-19 12:21:15

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,757

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

QQ20190519121820.jpg

QQ20190519121035.png

QQ20190519121042.png

搞定, 只是速度有点慢了.

离线

#6 2019-05-19 20:24:50

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,757

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

QQ20190519202357.png

小智极客S3开发板
荔枝派V3s 开发板
开机把 w25n01 spi nand 芯片挂载 u盘均成功。


本站下载: v3s_s3_fel_autorun_linux_uart0_pb8_pb9_201905018_spinand_OK.7z

离线

#7 2019-06-07 15:18:07

baiymhmy
会员
注册时间: 2018-08-15
累计积分: 11

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?


晕哥 你好。
请问你是在4.14内核的基础上把最新内核的SPI NAND驱动移植过来呢,还是直接跑了最新内核?
现在我想在目前正在使用的4.14内核上,使用SPI NAND,有什么建议吗?十分感谢。

离线

#8 2019-06-07 15:41:39

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,757

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

baiymhmy 说:

晕哥 你好。
请问你是在4.14内核的基础上把最新内核的SPI NAND驱动移植过来呢,还是直接跑了最新内核?
现在我想在目前正在使用的4.14内核上,使用SPI NAND,有什么建议吗?十分感谢。

可以的, 4.19 及其以后的版本支持 spi nand
https://github.com/torvalds/linux/blob/v4.19/drivers/mtd/nand/spi/winbond.c

你试一试从最新的 5.x 把整个文件夹拷过来试一试.

离线

#9 2019-06-08 13:33:35

dgtg
会员
注册时间: 2017-11-08
累计积分: 99

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

spi nand带坏块管理了吗?

离线

#10 2019-06-08 22:31:58

firstman
会员
注册时间: 2019-04-06
累计积分: 48

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

dgtg 说:

spi nand带坏块管理了吗?

坏块管理是文件系统的任务吧?

离线

#11 2019-06-10 11:18:11

1328616904
会员
注册时间: 2018-06-14
累计积分: 5

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

挂到F1C100S上面试试

离线

#12 2019-06-12 14:16:30

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,757

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

焊上 GD5F1GQ4UAYIG 到荔枝派zero板子, 一切正常:

QQ20190611225100.jpg

QQ20190611224257.png

离线

#13 2019-06-12 14:16:45

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,757

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

QQ20190612141435.jpg

QQ20190612141129.png

W25M02GVZEIG 256MB OK

离线

#14 2019-06-12 19:25:07

守望麦田
会员
注册时间: 2019-06-12
累计积分: 3

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

晕哥你好,我用A33的使用sunxi-fel 没有办法往spi nand里面写入uboot,好像sunxi-fel不支持A33的SPI Flash,有没有什么建议?

离线

#15 2019-06-12 20:23:27

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,757

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

守望麦田 说:

晕哥你好,我用A33的使用sunxi-fel 没有办法往spi nand里面写入uboot,好像sunxi-fel不支持A33的SPI Flash,有没有什么建议?

spi nor 可以吗?

离线

#16 2019-06-13 09:41:52

守望麦田
会员
注册时间: 2019-06-12
累计积分: 3

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

晕哥 说:
守望麦田 说:

晕哥你好,我用A33的使用sunxi-fel 没有办法往spi nand里面写入uboot,好像sunxi-fel不支持A33的SPI Flash,有没有什么建议?

spi nor 可以吗?

SPI nor直接用的LiveSuit烧录的,现在换成SPI Nand

离线

#17 2019-06-13 09:46:36

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,757

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

sunxi-fel 目前不支持spi nand,见过有魔改的支持 spi nand,但是没有开源。

但是可以用我也上面的办法烧录,BROM读spi flash是按1k page 的,

如果你的flash是2k page, 每写1k跳过1k.

离线

#18 2019-06-13 10:15:46

守望麦田
会员
注册时间: 2019-06-12
累计积分: 3

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

晕哥 说:

sunxi-fel 目前不支持spi nand,见过有魔改的支持 spi nand,但是没有开源。

但是可以用我也上面的办法烧录,BROM读spi flash是按1k page 的,

如果你的flash是2k page, 每写1k跳过1k.


无论在Ubuntu还是Windows下使用sunxi-fel spiflash-info 都会提示如下的信息
usb_bulk_send() ERROR -7: Operation timed out

另外如何用你上面的办法烧录呢? sunxi-fel都没法写,是不是芯片不支持?谢谢

离线

#19 2019-06-13 10:23:40

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,757

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

守望麦田 说:
晕哥 说:

sunxi-fel 目前不支持spi nand,见过有魔改的支持 spi nand,但是没有开源。

但是可以用我也上面的办法烧录,BROM读spi flash是按1k page 的,

如果你的flash是2k page, 每写1k跳过1k.


无论在Ubuntu还是Windows下使用sunxi-fel spiflash-info 都会提示如下的信息
usb_bulk_send() ERROR -7: Operation timed out

另外如何用你上面的办法烧录呢? sunxi-fel都没法写,是不是芯片不支持?谢谢

A33 不确定是否可以

不过你可以看下这个链接: http://linux-sunxi.org/A33_Suspend

Build sunxi-tools

export ARCH=arm

export CROSS_COMPILE=arm-linux-gnueabi-

cd ~/a33_suspend_test_build

git clone https://github.com/linux-sunxi/sunxi-tools

cd sunxi-tools

git checkout d9b1d7e7dff1e70fea91a3f259e9e8ac9508de35

make

https://github.com/linux-sunxi/sunxi-tools/commit/d9b1d7e7dff1e70fea91a3f259e9e8ac9508de35

离线

页脚