stenly 发表于 2022-8-23 11:41:21

如何在Linux Kernel 4.4使用spi

我想在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>;
};

stenly 发表于 2022-8-23 16:37:39

問題已解決,dts設定gpio腳位與其他功能相冲導致spi功能無法使用

過程中碰到另一個問題,spi0_clk配置<1 RK_PB0 1 &pcfg_pull_default>
在rk3128 datasheet中顯示GPIO1_B0如要配置為SPI_CLK應設為<1 RK_PB0 3 &pcfg_pull_default>
以<1 RK_PB0 3 &pcfg_pull_default>進行配置spi0_clk,在示波器量測時無反應,詢問此狀況發生的原因
页: [1]
查看完整版本: 如何在Linux Kernel 4.4使用spi