Firefly开源社区

标题: spi配置spidev节点烧录后,在/dev下有spidev2.0节点,但是收发数据没反应 [打印本页]

作者: youpeng    时间: 2022-11-17 17:20
标题: spi配置spidev节点烧录后,在/dev下有spidev2.0节点,但是收发数据没反应
1.修改rk3399.dtsi如下:
spi2 {
                        spi2_clk: spi2-clk {
                                rockchip,pins =
                                        <2 11 RK_FUNC_2 &pcfg_pull_up_3ma>;
                        };
                        spi2_cs0: spi2-cs0 {
                                rockchip,pins =
                                        <2 12 RK_FUNC_2 &pcfg_pull_up_3ma>;
                        };
                        spi2_rx: spi2-rx {
                                rockchip,pins =
                                        <2 9 RK_FUNC_2 &pcfg_pull_up_3ma>;
                        };
                        spi2_tx: spi2-tx {
                                rockchip,pins =
                                        <2 10 RK_FUNC_2 &pcfg_pull_up_3ma>;
                        };

                };


2.在rk3399pro-firefly-aiojd4.dts增加spidev节点如下:
&spi2 {
        status = "okay";
        max-freq = <24000000>;

        spi_wk2xxx@00{
                status = "disabled";
        };
       
        spi_test@00 {
                compatible = "rockchip,spidev";
                reg = <0>;
                spi-max-frequency = <24000000>;
                pinctrl-names = "default";
                pinctrl-0 = <&spi2_clk &spi2_tx &spi2_rx &spi2_cs0>;
        };

};


烧录到板卡后,利用spidev_test进行自测,插上逻辑分析仪后发送数据没有任何反应
tchip_askquestions

没有.zip

114 Bytes, 下载次数: 0, 下载积分: 灯泡 -1 , 经验 -1


作者: youpeng    时间: 2022-11-17 18:49
有没有大佬指点一下,我这是AIO-3399pro-JD4的板子
作者: youpeng    时间: 2022-11-18 09:31
打印信息提示spi  :no high_speed pinctrl state,这个spi的pinctrl是需要进行其它的配置吗
作者: youpeng    时间: 2022-11-18 16:22
用的sdk是 :Linux-SDK源码包(仅支持RK3399Pro)
下载地址:https://www.t-firefly.com/doc/download/65.html
作者: youpeng    时间: 2022-11-19 09:20
完全按照wiki上的接口使用来配置,只把compatible = "linux,spidev";里面的linux给改成了rockchip后,无论是否发送数据,会一直存在csn和clk信号。但是tx,rx一直没有信号。用的是\kernel\Documentation\spi\spidev_test.c进行测试的。
wiki链接:https://wiki.t-firefly.com/AIO-3399Pro-JD4/driver_spi.htmlcsn
作者: youpeng    时间: 2022-11-19 16:52
链接挂错了,重新发一下:https://wiki.t-firefly.com/AIO-3399Pro-JD4/driver_spi.html
作者: 板蓝根    时间: 2022-11-21 09:45
调试流程:
1.首先确认驱动 probe 成不成功。
2.追踪驱动有没有正常进入读写。
3.示波器抓一下信号脚波形

这些 pinctrl 应该都是 spi总线节点 的pinctrl 不是  spi 设备配置的。先自己排查一下吧,git grep "rockchip,spidev" 看看内核里其他 设备树是怎么配的

作者: youpeng    时间: 2022-11-21 10:05
板蓝根 发表于 2022-11-21 09:45
调试流程:
1.首先确认驱动 probe 成不成功。
2.追踪驱动有没有正常进入读写。

我后面改了,完全按照wiki上的最后的接口使用来配的,也还是不行。
可以走到probe里。
clk脚和csn脚无论是否发送数据,都一直有信号
wiki链接:https://wiki.t-firefly.com/AIO-3399Pro-JD4/driver_spi.html

作者: youpeng    时间: 2022-11-21 11:20
板蓝根 发表于 2022-11-21 09:45
调试流程:
1.首先确认驱动 probe 成不成功。
2.追踪驱动有没有正常进入读写。

驱动可以正常进入读写,但tx,rx脚依然没有信号
clk和csn就算不配置spidev节点,也一直有信号

b1a9886c289b04e348eda779b29171ed43d9ba0e812c0b1358f339f5e41db47cQzpcVXNlcnNcMVxB.png (91.39 KB, 下载次数: 161)

b1a9886c289b04e348eda779b29171ed43d9ba0e812c0b1358f339f5e41db47cQzpcVXNlcnNcMVxB.png

作者: youpeng    时间: 2022-11-21 11:30
板蓝根 发表于 2022-11-21 09:45
调试流程:
1.首先确认驱动 probe 成不成功。
2.追踪驱动有没有正常进入读写。

根据内核里其它设备树的spidev节点设置,修改后如下

5f8eac9d9a5b987cf0100c18c09b14c8fbb34e1b112791c10d0cddb0be3fed8cQzpcVXNlcnNcMVxB.png (8.84 KB, 下载次数: 167)

5f8eac9d9a5b987cf0100c18c09b14c8fbb34e1b112791c10d0cddb0be3fed8cQzpcVXNlcnNcMVxB.png

作者: youpeng    时间: 2022-11-21 11:33
板蓝根 发表于 2022-11-21 09:45
调试流程:
1.首先确认驱动 probe 成不成功。
2.追踪驱动有没有正常进入读写。

依然和之前一样的现象,没有输入输出信号




欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1