Part Number:AM3358
Hi Sir,
請教SPI設定的問題
使用的SDK版本ti-processor-sdk-linux-am335x-evm-06.03.00.106
因為我們需要用到SPI 但是目前SPI0 PIN被 UART2跟I2C1 使用
所以我使用SPI1 我的作法是取用MII的PIN腳拿來使用
我參考了TI 的文件
http://software-dl.ti.com/processor-sdk-linux/esd/docs/latest/linux/Foundational_Components/Kernel/Kernel_Drivers/SPI.html
我的作法如下:
- 修改Device Tree 移除
Cpsw, davinci_mdio相關的PIN define
- 新增am335x-boneblack-spi1.dtsi (如附件)
參考AM335x ARM® Cortex-A8 Microprocessors(MPUs).pdf
908h conf_mii1_col
90Ch conf_mii1_crs
910h conf_mii1_rx_er
944h conf_mii1_ref_clk
設定pinmux
- Kernel Config 移除Device Drivers à Network device support à Ethernet driver support à Texas Instruments (TI) devices
我可以build 出kernel 並且有生出 spidev node 使用 spidev_test 測試也沒出現問題
但是使用示波器量測波形卻不是預期
接上Clock 跟 MOSI
想請問是不是還有其他設定沒做到或是device tree 有需要修改的地方?
謝謝
Daniel
Nancy Wang:
图片中是您目前使用的pinmux配置吗?mode模式不应该配置为0,应该配置为mode 2。
,
Daniel Cheng1:
Hi Nancy
謝謝幫忙
問題已經解決
想請問一下, 為什麼要選擇MODE2 才會看到訊號?
另外, 想請問我送一個連續字串”012” 為什麼會每個字元間隔的時間有點長
是跟spidev_test 使用ret = ioctl(fd, SPI_IOC_MESSAGE(1), &tr); 送資料有關嗎?
謝謝
Daniel
,
Nancy Wang:
将管脚配置为SPI时,从表格中可以看出对应的模式。
可以查看datasheet Pin Attributes。
如果您有其它问题请另起新帖,谢谢!