Firefly开源社区

打印 上一主题 下一主题

Firefly_RK3399 W25Q128FV SPI 驱动

582

积分

10

威望

8

贡献

技术大神

Rank: 3Rank: 3

积分
582
QQ

Firefly_RK3399 W25Q128FV SPI 驱动

发表于 2017-5-6 18:29:16      浏览:11914 | 回复:3        打印      只看该作者   [复制链接] 楼主
本帖最后由 54zw 于 2017-5-23 13:11 编辑

之前发过一片文章W25Q128FV SPI 读ID不稳定

后来发现是由于没有将HOLD拉高导致,所以需要将HOLD拉高即可,这点在官网wiki中没有提到

不过在调试过程中发现官网wiki写的不是太理想,重新写了一个(关键地方有说明,其它看firefly wiki即可),地址在这里rk3399 spi porting

其中对两个地方解释下,firefly的代码也能使用,但是配置的bus number不是太合适,导致内核看到的信息和实际的不一致

一个是bus_num的配置

一个是reg片选的配置


回复

使用道具 举报

115

积分

0

威望

0

贡献

技术小白

积分
115
发表于 2017-9-11 20:50:02        只看该作者  沙发
楼主,我使用3399 7.1系统,然后直接使用spidev_test 测试,硬件上直接短接spi1的tx和rx。测试结果发现接收的全是0。dtsi里面根据你说的修改后的  &spi1 {
        status = "okay";
        max-freq = <48000000>;
        dev-port = <1>;

        spidev0: spidev@10 {
                status = "okay";
                compatible = "linux,spidev";
                reg = <0x00>;
                spi-max-frequency = <48000000>;
        };
};
短接spi1测试,结果还是不正常。 显示如下:
# ./test_spi -D /dev/spidev0.0                                                   <
spi mode: 0x0
bits per word: 8
max speed: 500000 Hz (500 KHz)
RX | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00  | ................................

不知道哪里没注意到,还请赐教。。。
回复

使用道具 举报

582

积分

10

威望

8

贡献

技术大神

Rank: 3Rank: 3

积分
582
QQ
发表于 2017-9-12 20:13:21        只看该作者  板凳
LZD 发表于 2017-9-11 20:50
楼主,我使用3399 7.1系统,然后直接使用spidev_test 测试,硬件上直接短接spi1的tx和rx。测试结果发现接收 ...

如果没有接实际设备,可以用示波器抓下信号,把CS也抓下
回复

使用道具 举报

115

积分

0

威望

0

贡献

技术小白

积分
115
发表于 2017-9-13 13:40:32        只看该作者  地板
54zw 发表于 2017-9-12 20:13
如果没有接实际设备,可以用示波器抓下信号,把CS也抓下

嗯,谢谢,已找到原因。spi1 和 uart4 复用了。之前没注意到。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表