diff options
author | Max Krummenacher <max.krummenacher@toradex.com> | 2019-07-04 15:51:15 +0200 |
---|---|---|
committer | Max Krummenacher <max.krummenacher@toradex.com> | 2019-07-04 16:38:13 +0200 |
commit | 1ff8709cc875557d3ba3c105af3be6bd6033c122 (patch) | |
tree | 26386131f0f2519e59c4ff77901fb64eaff9aec7 | |
parent | 3562b22c5ab7bdc4f8d375af223d741236ee1802 (diff) |
arm64: dts: fsl: lpspi2: add dma mode support
Follow commit 'a1204e3b0e7a dts: lpspi: add dma mode support' for lpspi2.
This requires a follow up to dtbs which delete the edma0 node in favour
of their own implementation.
Related to: #51387
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
5 files changed, 32 insertions, 2 deletions
diff --git a/arch/arm64/boot/dts/freescale/fsl-imx8qm-device.dtsi b/arch/arm64/boot/dts/freescale/fsl-imx8qm-device.dtsi index 0eb1223ddf5c..9a4c5e716d80 100644 --- a/arch/arm64/boot/dts/freescale/fsl-imx8qm-device.dtsi +++ b/arch/arm64/boot/dts/freescale/fsl-imx8qm-device.dtsi @@ -1145,6 +1145,24 @@ reg = <SC_R_SPI_2>; #power-domain-cells = <0>; power-domains = <&pd_dma>; + #address-cells = <1>; + #size-cells = <0>; + + pd_dma0_chan4: PD_LPSPI2_RX { + reg = <SC_R_DMA_0_CH4>; + power-domains =<&pd_dma_lpspi2>; + #power-domain-cells = <0>; + #address-cells = <1>; + #size-cells = <0>; + + pd_dma0_chan5: PD_LPSPI2_TX { + reg = <SC_R_DMA_0_CH5>; + power-domains =<&pd_dma0_chan5>; + #power-domain-cells = <0>; + #address-cells = <1>; + #size-cells = <0>; + }; + }; }; pd_dma_lpspi3: PD_DMA_SPI_3 { reg = <SC_R_SPI_3>; @@ -3034,7 +3052,9 @@ clock-names = "per", "ipg"; assigned-clocks = <&clk IMX8QM_SPI2_CLK>; assigned-clock-rates = <24000000>; - power-domains = <&pd_dma_lpspi2>; + power-domains = <&pd_dma0_chan5>; + dma-names = "tx","rx"; + dmas = <&edma0 5 0 0>, <&edma0 4 0 1>; status = "disabled"; }; @@ -3187,6 +3207,8 @@ compatible = "fsl,imx8qm-edma"; reg = <0x0 0x5a200000 0x0 0x10000>, /* channel0 LPSPI0 rx */ <0x0 0x5a210000 0x0 0x10000>, /* channel1 LPSPI0 tx */ + <0x0 0x5a240000 0x0 0x10000>, /* channel4 LPSPI2 rx */ + <0x0 0x5a250000 0x0 0x10000>, /* channel5 LPSPI2 tx */ <0x0 0x5a260000 0x0 0x10000>, /* channel6 LPSPI3 rx */ <0x0 0x5a270000 0x0 0x10000>, /* channel7 LPSPI3 tx */ <0x0 0x5a2c0000 0x0 0x10000>, /* channel12 UART0 rx */ @@ -3200,9 +3222,11 @@ <0x0 0x5a340000 0x0 0x10000>, /* channel20 UART4 rx */ <0x0 0x5a350000 0x0 0x10000>; /* channel21 UART4 tx */ #dma-cells = <3>; - dma-channels = <14>; + dma-channels = <16>; interrupts = <GIC_SPI 416 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 417 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 420 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 421 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 422 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 423 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 434 IRQ_TYPE_LEVEL_HIGH>, @@ -3216,6 +3240,7 @@ <GIC_SPI 442 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 443 IRQ_TYPE_LEVEL_HIGH>; interrupt-names = "edma0-chan0-rx", "edma0-chan1-tx", + "edma0-chan4-rx", "edma0-chan5-tx", "edma0-chan6-rx", "edma0-chan7-tx", "edma0-chan12-rx", "edma0-chan13-tx", "edma0-chan14-rx", "edma0-chan15-tx", diff --git a/arch/arm64/boot/dts/freescale/fsl-imx8qm-lpddr4-arm2-domu.dts b/arch/arm64/boot/dts/freescale/fsl-imx8qm-lpddr4-arm2-domu.dts index 13ecc444bca9..340f1949210c 100644 --- a/arch/arm64/boot/dts/freescale/fsl-imx8qm-lpddr4-arm2-domu.dts +++ b/arch/arm64/boot/dts/freescale/fsl-imx8qm-lpddr4-arm2-domu.dts @@ -377,6 +377,7 @@ /delete-node/ &irqsteer_csi1; /delete-node/ &i2c0_mipi_csi1; /delete-node/ &lpspi0; +/delete-node/ &lpspi2; /delete-node/ &lpspi3; /delete-node/ &lpuart0; diff --git a/arch/arm64/boot/dts/freescale/fsl-imx8qm-mek-domu-dpu1.dts b/arch/arm64/boot/dts/freescale/fsl-imx8qm-mek-domu-dpu1.dts index cc866abd07db..46eba3a44023 100644 --- a/arch/arm64/boot/dts/freescale/fsl-imx8qm-mek-domu-dpu1.dts +++ b/arch/arm64/boot/dts/freescale/fsl-imx8qm-mek-domu-dpu1.dts @@ -538,6 +538,7 @@ /delete-node/ &irqsteer_csi1; /delete-node/ &i2c0_mipi_csi1; /delete-node/ &lpspi0; +/delete-node/ &lpspi2; /delete-node/ &lpspi3; /delete-node/ &lpuart0; diff --git a/arch/arm64/boot/dts/freescale/fsl-imx8qm-mek-domu.dts b/arch/arm64/boot/dts/freescale/fsl-imx8qm-mek-domu.dts index 08bc1e05a235..44df62c31f25 100644 --- a/arch/arm64/boot/dts/freescale/fsl-imx8qm-mek-domu.dts +++ b/arch/arm64/boot/dts/freescale/fsl-imx8qm-mek-domu.dts @@ -719,6 +719,7 @@ /delete-node/ &irqsteer_csi1; /delete-node/ &i2c0_mipi_csi1; /delete-node/ &lpspi0; +/delete-node/ &lpspi2; /delete-node/ &lpspi3; /delete-node/ &lpuart0; diff --git a/arch/arm64/boot/dts/freescale/fsl-imx8qm-xen.dtsi b/arch/arm64/boot/dts/freescale/fsl-imx8qm-xen.dtsi index 5b11bb8337b8..7b91b19799b2 100644 --- a/arch/arm64/boot/dts/freescale/fsl-imx8qm-xen.dtsi +++ b/arch/arm64/boot/dts/freescale/fsl-imx8qm-xen.dtsi @@ -443,6 +443,8 @@ dmas = <&edma0a 1 0 0>, <&edma0a 0 0 1>; }; +/delete-node/ &lpspi2; + &lpspi3 { interrupt-parent = <&gic>; dmas = <&edma0d 7 0 0>, <&edma0d 6 0 1>; |