Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: dts: imx6: Use correct SDMA script for SPI cores

According to the reference manual the shp_2_mcu / mcu_2_shp
scripts must be used for devices connected through the SPBA.

This fixes an issue we saw with DMA transfers from SPI NOR Flashes.
Sometimes the SPI controller RX FIFO was not empty after a DMA
transfer and the driver got stuck in the next PIO transfer when
it read one word more than expected.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>

authored by

Sascha Hauer and committed by
Shawn Guo
dd4b487b 3da17857

+4 -4
+4 -4
arch/arm/boot/dts/imx6qdl.dtsi
··· 261 261 clocks = <&clks IMX6QDL_CLK_ECSPI1>, 262 262 <&clks IMX6QDL_CLK_ECSPI1>; 263 263 clock-names = "ipg", "per"; 264 - dmas = <&sdma 3 7 1>, <&sdma 4 7 2>; 264 + dmas = <&sdma 3 8 1>, <&sdma 4 8 2>; 265 265 dma-names = "rx", "tx"; 266 266 status = "disabled"; 267 267 }; ··· 275 275 clocks = <&clks IMX6QDL_CLK_ECSPI2>, 276 276 <&clks IMX6QDL_CLK_ECSPI2>; 277 277 clock-names = "ipg", "per"; 278 - dmas = <&sdma 5 7 1>, <&sdma 6 7 2>; 278 + dmas = <&sdma 5 8 1>, <&sdma 6 8 2>; 279 279 dma-names = "rx", "tx"; 280 280 status = "disabled"; 281 281 }; ··· 289 289 clocks = <&clks IMX6QDL_CLK_ECSPI3>, 290 290 <&clks IMX6QDL_CLK_ECSPI3>; 291 291 clock-names = "ipg", "per"; 292 - dmas = <&sdma 7 7 1>, <&sdma 8 7 2>; 292 + dmas = <&sdma 7 8 1>, <&sdma 8 8 2>; 293 293 dma-names = "rx", "tx"; 294 294 status = "disabled"; 295 295 }; ··· 303 303 clocks = <&clks IMX6QDL_CLK_ECSPI4>, 304 304 <&clks IMX6QDL_CLK_ECSPI4>; 305 305 clock-names = "ipg", "per"; 306 - dmas = <&sdma 9 7 1>, <&sdma 10 7 2>; 306 + dmas = <&sdma 9 8 1>, <&sdma 10 8 2>; 307 307 dma-names = "rx", "tx"; 308 308 status = "disabled"; 309 309 };