Firefly_RK3399 W25Q128FV SPI 驱动
本帖最后由 54zw 于 2017-5-23 13:11 编辑之前发过一片文章W25Q128FV SPI 读ID不稳定
后来发现是由于没有将HOLD拉高导致,所以需要将HOLD拉高即可,这点在官网wiki中没有提到
不过在调试过程中发现官网wiki写的不是太理想,重新写了一个(关键地方有说明,其它看firefly wiki即可),地址在这里rk3399 spi porting
其中对两个地方解释下,firefly的代码也能使用,但是配置的bus number不是太合适,导致内核看到的信息和实际的不一致
一个是bus_num的配置
一个是reg片选的配置
楼主,我使用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| ................................
不知道哪里没注意到,还请赐教。。。 LZD 发表于 2017-9-11 20:50
楼主,我使用3399 7.1系统,然后直接使用spidev_test 测试,硬件上直接短接spi1的tx和rx。测试结果发现接收 ...
如果没有接实际设备,可以用示波器抓下信号,把CS也抓下 54zw 发表于 2017-9-12 20:13
如果没有接实际设备,可以用示波器抓下信号,把CS也抓下
嗯,谢谢,已找到原因。spi1 和 uart4 复用了。之前没注意到。
页:
[1]