WhyCan Forum

人过留名,雁过留声,感谢各位朋友不离不弃地支持。 QQ: 516333132 (挖坑网/填坑网) admin@whycan.cn

您尚未登录。

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

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

最新的 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
累计积分: 267

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

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

离线

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

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

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
累计积分: 7,827

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
累计积分: 7,827

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

QQ20190519121820.jpg

QQ20190519121035.png

QQ20190519121042.png

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

离线

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

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

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
累计积分: 13

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


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

离线

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

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

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
累计积分: 121

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

spi nand带坏块管理了吗?

离线

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

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

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
累计积分: 7,827

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

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

QQ20190611225100.jpg

QQ20190611224257.png

离线

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

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

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
累计积分: 7,827

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
累计积分: 7,827

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
累计积分: 7,827

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

离线

#20 2019-08-12 20:41:28

Han
会员
注册时间: 2019-08-12
累计积分: 30

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

晕哥, sun8i-v3s-licheepi-zero.dts 里应该怎么改呀

离线

#21 2019-08-12 21:19:39

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

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

四楼

离线

#22 2019-08-12 22:00:39

Han
会员
注册时间: 2019-08-12
累计积分: 30

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

晕哥 说:

四楼

加上之后,编译报了错误:
Reference to non-existent node or label "spi0_pins_a"
怎么添加这个引用呢

离线

#23 2019-08-12 22:26:37

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

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

Han 说:
晕哥 说:

四楼

加上之后,编译报了错误:
Reference to non-existent node or label "spi0_pins_a"
怎么添加这个引用呢

sun8i-v3s.dtsi:

https://whycan.cn/t_1712.html#p9794

离线

#24 2019-08-13 17:29:04

Han
会员
注册时间: 2019-08-12
累计积分: 30

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

晕哥 说:
Han 说:
晕哥 说:

四楼

加上之后,编译报了错误:
Reference to non-existent node or label "spi0_pins_a"
怎么添加这个引用呢

sun8i-v3s.dtsi:

https://whycan.cn/t_1712.html#p9794

晕哥,你在Zero开发板上焊接GD5F1GQ4UAYIG的时候,除了焊接之外还有没有做什么改动呀?我焊接了之后,用dd指令检测不到flash.

No SPI flash detected.

离线

#25 2019-08-13 17:39:10

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

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

勾选 SPI NAND 驱动和配置设备树

离线

#26 2019-08-14 10:09:25

Han
会员
注册时间: 2019-08-12
累计积分: 30

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

晕哥 说:

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

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

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

晕哥,想在zero上用GD5F1GQ4UAYIG启动的话,也是不能使用spixi-fel进行烧录吗?

离线

#27 2019-08-14 10:11:51

Han
会员
注册时间: 2019-08-12
累计积分: 30

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

晕哥 说:

勾选 SPI NAND 驱动和配置设备树

我用sunxi-fel 烧录指令进行烧录后,启动后没有任何打印输出,然后发现用sudo sunxi-fel spiflash-info 检测flash信息时,就显示“No SPI flash detected.”

离线

#28 2019-08-14 10:19:48

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

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

Han 说:
晕哥 说:

勾选 SPI NAND 驱动和配置设备树

我用sunxi-fel 烧录指令进行烧录后,启动后没有任何打印输出,然后发现用sudo sunxi-fel spiflash-info 检测flash信息时,就显示“No SPI flash detected.”

只是说 linux 最新版本支持 spi nand,并没有说 sunxi-fel 支持 spi nand,

有一个比较曲线的办法解决这个问题,就是用 bsp 的 uboot, 他支持 spi nand的启动。

离线

#29 2019-08-14 10:41:36

Han
会员
注册时间: 2019-08-12
累计积分: 30

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

晕哥 说:
Han 说:
晕哥 说:

勾选 SPI NAND 驱动和配置设备树

我用sunxi-fel 烧录指令进行烧录后,启动后没有任何打印输出,然后发现用sudo sunxi-fel spiflash-info 检测flash信息时,就显示“No SPI flash detected.”

只是说 linux 最新版本支持 spi nand,并没有说 sunxi-fel 支持 spi nand,

有一个比较曲线的办法解决这个问题,就是用 bsp 的 uboot, 他支持 spi nand的启动。

我看荔枝派官网里介绍,BSP和linux都是用的主线uboot
"主线Uboot + Bsp 内核
如果不想被坑卓坑, 又想比较好地使用摄像头,可以使用主线Uboot加Bsp内核方案, 系统配置为fex文件配置。
主线uboot: https://github.com/Lichee-Pi/u-boot
bsp内核即前面的lichee linux: http://pan.baidu.com/s/1eRJrViy
主线Uboot + 主线linux
如果想使用主线的特性,可以使用 主线Uboot + 主线linux 开发环境。系统配置为dts设备树配置。
主线uboot: https://github.com/Lichee-Pi/u-boot
主线linux: https://github.com/Lichee-Pi/linux"

这应该怎么使用bsp的Uboot呀

离线

#30 2019-08-14 10:44:32

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

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

我也没有这么用过,建议满足需求的前提下尽量用 sd nand,现在市场上可以选择的 sd nand 多着了,也不需要自己去驱动,省事。

离线

#31 2019-08-14 10:50:07

Han
会员
注册时间: 2019-08-12
累计积分: 30

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

晕哥 说:
Han 说:
晕哥 说:

勾选 SPI NAND 驱动和配置设备树

我用sunxi-fel 烧录指令进行烧录后,启动后没有任何打印输出,然后发现用sudo sunxi-fel spiflash-info 检测flash信息时,就显示“No SPI flash detected.”

只是说 linux 最新版本支持 spi nand,并没有说 sunxi-fel 支持 spi nand,

有一个比较曲线的办法解决这个问题,就是用 bsp 的 uboot, 他支持 spi nand的启动。

晕哥,上次在QQ群你发给我一个链接,说是里面有支持GD5F1GQ4UAYIG启动的镜像,是这个“Run_V3s_LicheePi0.bat”文件吗,这个文件应该怎么烧录到板子里

离线

#32 2019-08-14 10:51:23

Han
会员
注册时间: 2019-08-12
累计积分: 30

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

晕哥 说:

我也没有这么用过,建议满足需求的前提下尽量用 sd nand,现在市场上可以选择的 sd nand 多着了,也不需要自己去驱动,省事。

公司画的板上只有GD5F1GQ4UAYIG 这个芯片的接口,唉,没办法改了

离线

#33 2019-08-14 10:56:01

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

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

Han 说:
晕哥 说:
Han 说:

我用sunxi-fel 烧录指令进行烧录后,启动后没有任何打印输出,然后发现用sudo sunxi-fel spiflash-info 检测flash信息时,就显示“No SPI flash detected.”

只是说 linux 最新版本支持 spi nand,并没有说 sunxi-fel 支持 spi nand,

有一个比较曲线的办法解决这个问题,就是用 bsp 的 uboot, 他支持 spi nand的启动。

晕哥,上次在QQ群你发给我一个链接,说是里面有支持GD5F1GQ4UAYIG启动的镜像,是这个“Run_V3s_LicheePi0.bat”文件吗,这个文件应该怎么烧录到板子里

那个是 USB 启动的固件: https://whycan.cn/t_2449.html

离线

#34 2019-08-14 11:00:03

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

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

Han 说:
晕哥 说:

我也没有这么用过,建议满足需求的前提下尽量用 sd nand,现在市场上可以选择的 sd nand 多着了,也不需要自己去驱动,省事。

公司画的板上只有GD5F1GQ4UAYIG 这个芯片的接口,唉,没办法改了

建议优先更换硬件方案, 软件一时半会估计难以搞定吧。

如果实在要这样玩, 先搞定 Linux 上驱动 GD5F1GQ4UAYIG:

1. TF卡启动系统, 能识别GD5F1GQ4UAYIG
2. TF卡上的 U-Boot 能识别并读取 GD5F1GQ4UAYIG
3. TF卡上的 SPL 能被 V3s 的 BROM 读取并运行。

离线

#35 2019-08-14 11:12:09

Han
会员
注册时间: 2019-08-12
累计积分: 30

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

晕哥 说:
Han 说:
晕哥 说:

我也没有这么用过,建议满足需求的前提下尽量用 sd nand,现在市场上可以选择的 sd nand 多着了,也不需要自己去驱动,省事。

公司画的板上只有GD5F1GQ4UAYIG 这个芯片的接口,唉,没办法改了

建议优先更换硬件方案, 软件一时半会估计难以搞定吧。

如果实在要这样玩, 先搞定 Linux 上驱动 GD5F1GQ4UAYIG:

1. TF卡启动系统, 能识别GD5F1GQ4UAYIG
2. TF卡上的 U-Boot 能识别并读取 GD5F1GQ4UAYIG
3. TF卡上的 SPL 能被 V3s 的 BROM 读取并运行。

我看晕哥那次回复说已经成功使用GD5F1GQ4UAYIG启动系统了,晕哥当时怎么烧录的呀

离线

#36 2019-08-14 11:55:58

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

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

我没有烧录, 通过USB 启动的 Linux

离线

#37 2019-08-14 16:19:56

Han
会员
注册时间: 2019-08-12
累计积分: 30

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

晕哥 说:

我没有烧录, 通过USB 启动的 Linux

那你把uboot、内核、设备树和根文件系统是放在GD5F1GQ4UAYIG里了吗?

离线

#38 2019-08-14 16:20:59

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

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

Han 说:
晕哥 说:

我没有烧录, 通过USB 启动的 Linux

那你把uboot、内核、设备树和根文件系统是放在GD5F1GQ4UAYIG里了吗?

没有, 只是 Linux 系统驱动了而已, 结合 USB, 把他挂载成了 U盘.

离线

页脚