Imx6ul使用两条SPI DMA同时传输时,传输失败

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

Imx6ul使用两条SPI DMA同时传输时,传输失败

1,665 Views
nihao
Contributor I

Hi:

Phytec Imx6ul单板在使用两条SPI同时传输时,出现

[09:42:02][ 684.646483] spi_imx 2010000.ecspi: I/O Error in DMA TX
[09:42:02][ 684.654434] spidev spi2.0: SPI transfer failed: -110
[09:42:02][ 684.660489] spi_master spi2: failed to transfer one message from queue

测试指令:

./spidev_test -D /dev/spidev2.0  -s 30000000 -b 32 -S 1000 &

./spidev_test -D /dev/spidev3.0  -s 30000000 -b 32 -S 1000 &

内核版本:4.14.93+;
SPI配置30M时钟,32bit;

DTS配置:

ecspi2: ecspi@0200c000 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "fsl,imx6ul-ecspi", "fsl,imx51-ecspi";
reg = <0x0200c000 0x4000>;
interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clks IMX6UL_CLK_ECSPI2>,
<&clks IMX6UL_CLK_ECSPI2>;
clock-names = "ipg", "per";
dmas = <&sdma 5 7 1>, <&sdma 6 7 2>;
dma-names = "rx", "tx";
status = "disabled";
};

ecspi3: ecspi@02010000 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "fsl,imx6ul-ecspi", "fsl,imx51-ecspi";
reg = <0x02010000 0x4000>;
interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clks IMX6UL_CLK_ECSPI3>,
<&clks IMX6UL_CLK_ECSPI3>;
clock-names = "ipg", "per";
dmas = <&sdma 7 7 1>, <&sdma 8 7 2>;
dma-names = "rx", "tx";
status = "disabled";
};

Labels (2)
0 Kudos
1 Reply

1,555 Views
jimmychan
NXP TechSupport
NXP TechSupport

Please use the GA version of BSP. It tested for all i.MX chips. e.g. L4.14.98_2.0.0_ga

Linux L4.14.98_2.0.0 Documentation

0 Kudos