mirror of
https://github.com/torvalds/linux.git
synced 2024-12-28 22:02:28 +00:00
f62caccd12
Enable DMA support on i.mx6. The read speed can increase from 600KB/s to 1.2MB/s on i.mx6q. You can disable or enable dma function in dts. If not set "dma-names" in dts, spi will use PIO mode. This patch only validate on i.mx6, not i.mx5, but encourage ones to apply this patch on i.mx5 since they share the same IP. Note: Sometime, there is a weid data in rxfifo after one full tx/rx transfer finish by DMA on i.mx6dl, so we disable dma functhion on i.mx6dl. Signed-off-by: Frank Li <Frank.Li@freescale.com> Signed-off-by: Robin Gong <b38343@freescale.com> Acked-by: Marek Vasut <marex@denx.de> Signed-off-by: Mark Brown <broonie@kernel.org>
28 lines
933 B
Plaintext
28 lines
933 B
Plaintext
* Freescale (Enhanced) Configurable Serial Peripheral Interface
|
|
(CSPI/eCSPI) for i.MX
|
|
|
|
Required properties:
|
|
- compatible : Should be "fsl,<soc>-cspi" or "fsl,<soc>-ecspi"
|
|
- reg : Offset and length of the register set for the device
|
|
- interrupts : Should contain CSPI/eCSPI interrupt
|
|
- fsl,spi-num-chipselects : Contains the number of the chipselect
|
|
- cs-gpios : Specifies the gpio pins to be used for chipselects.
|
|
- dmas: DMA specifiers for tx and rx dma. See the DMA client binding,
|
|
Documentation/devicetree/bindings/dma/dma.txt
|
|
- dma-names: DMA request names should include "tx" and "rx" if present.
|
|
|
|
Example:
|
|
|
|
ecspi@70010000 {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
compatible = "fsl,imx51-ecspi";
|
|
reg = <0x70010000 0x4000>;
|
|
interrupts = <36>;
|
|
fsl,spi-num-chipselects = <2>;
|
|
cs-gpios = <&gpio3 24 0>, /* GPIO3_24 */
|
|
<&gpio3 25 0>; /* GPIO3_25 */
|
|
dmas = <&sdma 3 7 1>, <&sdma 4 7 2>;
|
|
dma-names = "rx", "tx";
|
|
};
|