firefly-rk3399 spi1使用问题
sdk: firefly-rk3399 7.1(获取途径:firefly维基上获取 http://wiki.t-firefly.com/index.php/Firefly-RK3399/Build_android_7.1)硬件接口: spi1
测试代码: spidev_test.c(源码自带,路径:kernel/Documentation/spi/)
dtsi修改后spi1属性:
&spi1 {
status = "okay";
max-freq = <48000000>;
dev-port = <1>;
spidev0: spidev@10 {
status = "okay";
compatible = "linux,spidev";
reg = <0x00>;
spi-max-frequency = <48000000>;
};
};
硬件操作:短接spi1 的 TX 和 RX 。
执行spidev_test -D/dev/spidev1.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| ................................
实在想不出哪里有问题,还请论坛大神指点一下。。。
在3288上用spi0 使用spidev驱动测试过,没问题。
3399开发板硬件确定没问题,因为在另一块板子上测结果一样。。。 原因是uart4 和 spi1的rx和tx复用了,修改下 rk3399-firefly-port.dtsi +278 uart4节点属性即可,修改如下:
&uart4 {
current-speed = <9600>;
no-loopback-test;
//status = "okay";
status ="disabled";
};
修改后执行 test_spi -D /dev/spidev1.0结果如下:
/test_spi -D /dev/spidev1.0
spi mode: 0
bits per word: 8
max speed: 500000 Hz (500 KHz)
FF FF FF FF FF FF
40 00 00 00 00 95
FF FF FF FF FF FF
FF FF FF FF FF FF
FF FF FF FF FF FF
DE AD BE EF BA AD
F0 0D 想问下你内核配置SPI support中都打开了哪些选项?我的设备/dev/下找不到spidev1.0这个文件,怀疑是make menuconfig时,有些开关没打开 借鉴下,谢谢! 你好,想请教一个问题,就是源码中德spidev_test.c 为什么编译一直有错。同事生成的可执行文件如何copy进开发板中,同时如何执行的,能不能详细说一下谢谢 学习学习 驱动W25Q64 flash,手册里erase write enable 等CMD都需要在CMD发送后将CS脚拉高,在DTS里设置spi-cs-high,
在dmesg里看到如下错误:
[ 0.972435] spi spi32766.0: setup: unsupported mode bits 4
[ 0.972451] rockchip-spi ff1d0000.spi: can't setup spi32766.0, status -22
[ 0.972461] spi_master spi32766: spi_device register error /spi@ff1d0000/w25q64@00
[ 0.972473] spi_master spi32766: Failed to create SPI device for /spi@ff1d0000/w25q64@00
有大佬帮忙解答吗,
如何才能正确的erase write enable,
确认引脚没复用,write protect 脚拉高了,
能读到flash的全FF数据。 /dev/spidev1.0这个设备没有怎么办? 你们的spi速率能设置超过1Mhz吗,我使用的rk3399平台;
用Documentation\spi\spidev_test.c,以及/kernel/drivers/spi/spi-rockchip-test.c测试,spi速率都不能设置超过1Mhz。也不知道啥原因
测试命令如下:
echo write 0 10 255 > /dev/spi_misc_test
echo write 0 10 255 init.rc > /dev/spi_misc_test
echo read 0 10 255 > /dev/spi_misc_test
echo loop 0 10 255 > /dev/spi_misc_test
echo setspeed 0 1000000 > /dev/spi_misc_test//设置spi的速率
页:
[1]
2