MCIMX6Q-SDB ECSPI signal control

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

MCIMX6Q-SDB ECSPI signal control

1,879 Views
charleochiu
Contributor II

目標 : 控制 i.MX6-SDB ECSPI1 port 輸出如附件一波形,並且符合兩個控制條件,① 控制一個 SS 信號傳送 Byte 數,② 控制兩個 Byte 之間延遲時間。

附件一.jpg

1. 軟體 (BSP 設定):
(1) 如附件二圖在 Device Drivers / SPI support / Freescale DSPI controller 設定 built-in。

附件二.jpg
(2) DTS (/tmp/work/imx6qsabresd-poky-linux-gnueabi/linux-imx/4.14.98-r0/git/arch/arm/boot/dts/imx6qdl-sabresd.dtsi)
修改兩個地方如附件三和附件四。
a.
spidev@0 {
compatible = "spidev"; /* add by charleo --- 2019.11.21-1700 */
spi-max-frequency = <5000000>;
reg = <0>;
};

附件三.jpg
b.
pinctrl_ecspi1: ecspi1grp {
fsl,pins = <
MX6QDL_PAD_KEY_COL1__ECSPI1_MISO 0x100b1
MX6QDL_PAD_KEY_ROW0__ECSPI1_MOSI 0x100b1
MX6QDL_PAD_KEY_COL0__ECSPI1_SCLK 0x100b1
MX6QDL_PAD_KEY_ROW1__ECSPI1_SS0 0x1b0b1 /* add by charleo --- 2019.11.19-1630 */
/* MX6QDL_PAD_KEY_ROW1__GPIO4_IO09 0x1b0b0 */ /* mark by charleo --- 2019.11.19-1630 */
>;
};

附件四.jpg
2. 使用 ls /dev/ 命令,確認 spidev0.0 裝置已產生,如附件五。

附件五.jpg

3. debug port 輸入 echo "h" >> /dev/spidev0.0 輸出波型如附件六。

附件六.jpg

4. 嘗試使用 memtool 設定 ECSPI1.PERIODREG.SAMPLE_PERIOD 和 ECSPI1.CONREG.BURST_LENGTH 參數都無法達到目標,請問是否有哪裡設定錯誤,或建議可以解決,謝謝大家。

Labels (1)
0 Kudos
Reply
2 Replies

1,797 Views
jimmychan
NXP TechSupport
NXP TechSupport

You can change the SS signal to GPIO. So, you can control the SS output by yourself.

0 Kudos
Reply

1,797 Views
Danube
Contributor IV

Hi Jimmy,

It still the same issue in i.MX8Mmini CPU. (Base on BSP version 4.14.98_200 , 4.14_98_210)

0 Kudos
Reply