|
【技术讨论】
如何在Linux Kernel 4.4使用spi
发表于 2022-8-23 11:41:21
浏览:6110
|
回复:1
打印
只看该作者
[复制链接]
楼主
-
固件类型:
自行编译的固件
-
SDK包名称:
kernel-rk3128-firefly
-
SDK更新到哪个COMMIT:
0000-00-00 00:00:00
-
SDK修改内容:
kr3128-fireprime.dts
&spi0 {
status = "okay";
max-freq = <30000000>;
spidev@00 {
compatible = "rockchip,rk3288-spi";
reg = <0x00>;
spi-max-frequency = <30000000>;
spi-cpha = <1>;
//spi-cpol = <1>;
};
};
/drivers/spi/spidev.c
#ifdef CONFIG_OF
static const struct of_device_id spidev_dt_ids[] = {
{ .compatible = "rohm,dh2228fv" },
{ .compatible = "lineartechnology,ltc2488" },
{ .compatible = "rockchip,spidev" },
{ .compatible = "rockchip,rk3288-spi" },
{},
};
MODULE_DEVICE_TABLE(of, spidev_dt_ids);
#endif
-
Log日志:
firefly-rk3128.txt
问题描述及复现步骤:
我想在firefly-rk3128使用spi
dts文件中有新增spi配置,並在/dev目錄有出現設備節點(spidev32766.0 )
使用linux原有測試程式/Documentation/spi/spidev_test.c進行測試
執行命令: ./spidev_test -l -s 30000000 -b 8 -p 12 -v
使用示波器連接SPI_CLK腳位可以測量到其波形,但是無法測量到SPI_TXD腳位的波形
確認過rk312x.dtsi中gpio腳位設定無誤,不知道哪裡出了問題
spi0_clk: spi0-clk {
rockchip,pins = <1 RK_PB0 1 &pcfg_pull_default>;
};
spi0_tx: spi0-tx {
rockchip,pins = <1 RK_PB1 1 &pcfg_pull_default>;
};
|
|