Firefly开源社区

12
发表新贴

[Linux] spi配置spidev节点烧录后,在/dev下有spidev2.0节点,但是收发数据没反应

38

积分

0

威望

0

贡献

技术小白

积分
38
发表于 2022-11-17 17:20:26     
问题描述及复现步骤:
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进行自测,插上逻辑分析仪后发送数据没有任何反应

没有.zip

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

回复

使用道具 举报

38

积分

0

威望

0

贡献

技术小白

积分
38
发表于 2022-11-17 18:49:32     
有没有大佬指点一下,我这是AIO-3399pro-JD4的板子
回复

使用道具 举报

38

积分

0

威望

0

贡献

技术小白

积分
38
发表于 2022-11-18 09:31:25     
打印信息提示spi  :no high_speed pinctrl state,这个spi的pinctrl是需要进行其它的配置吗
回复

使用道具 举报

38

积分

0

威望

0

贡献

技术小白

积分
38
发表于 2022-11-18 16:22:43     
用的sdk是 :Linux-SDK源码包(仅支持RK3399Pro)
下载地址:https://www.t-firefly.com/doc/download/65.html
回复

使用道具 举报

38

积分

0

威望

0

贡献

技术小白

积分
38
发表于 2022-11-19 09:20:50     
完全按照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
回复

使用道具 举报

38

积分

0

威望

0

贡献

技术小白

积分
38
发表于 2022-11-19 16:52:32     
回复

使用道具 举报

1万

积分

14

威望

13

贡献

管理员

Rank: 9Rank: 9Rank: 9

积分
11135

优秀版主

发表于 2022-11-21 09:45:37     
调试流程:
1.首先确认驱动 probe 成不成功。
2.追踪驱动有没有正常进入读写。
3.示波器抓一下信号脚波形

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

使用道具 举报

38

积分

0

威望

0

贡献

技术小白

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

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

使用道具 举报

38

积分

0

威望

0

贡献

技术小白

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

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

b1a9886c289b04e348eda779b29171ed43d9ba0e812c0b1358f339f5e41db47cQzpcVXNlcnNcMVxB.png
回复

使用道具 举报

38

积分

0

威望

0

贡献

技术小白

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

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

5f8eac9d9a5b987cf0100c18c09b14c8fbb34e1b112791c10d0cddb0be3fed8cQzpcVXNlcnNcMVxB.png
回复

使用道具 举报

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

本版积分规则

Copyright © 2014-2022 中山市天启智能科技有限公司 粤ICP备14022046号
快速回复 返回顶部 返回列表