youpeng
1
固件类型:官方提供的固件
固件文件名称:公版固件
固件下载地址:Firefly | 让科技更简单,让生活更智能
Log日志:没有.zip
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)
youpeng
2
有没有大佬指点一下,我这是AIO-3399pro-JD4的板子
youpeng
3
打印信息提示spi :no high_speed pinctrl state,这个spi的pinctrl是需要进行其它的配置吗
youpeng
4
youpeng
5
完全按照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
6
调试流程:
1.首先确认驱动 probe 成不成功。
2.追踪驱动有没有正常进入读写。
3.示波器抓一下信号脚波形
这些 pinctrl 应该都是 spi总线节点 的pinctrl 不是 spi 设备配置的。先自己排查一下吧,git grep “rockchip,spidev” 看看内核里其他 设备树是怎么配的
youpeng
8
板蓝根 发表于 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
9
板蓝根 发表于 2022-11-21 09:45
调试流程:
1.首先确认驱动 probe 成不成功。
2.追踪驱动有没有正常进入读写。
驱动可以正常进入读写,但tx,rx脚依然没有信号
clk和csn就算不配置spidev节点,也一直有信号
youpeng
10
板蓝根 发表于 2022-11-21 09:45
调试流程:
1.首先确认驱动 probe 成不成功。
2.追踪驱动有没有正常进入读写。
根据内核里其它设备树的spidev节点设置,修改后如下