arm64: dts: exynos: Add PDMA node for Exynos850
authorSam Protsenko <semen.protsenko@linaro.org>
Thu, 25 Jan 2024 01:38:57 +0000 (19:38 -0600)
committerKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Thu, 1 Feb 2024 10:25:40 +0000 (11:25 +0100)
Enable PDMA node. It's needed for multiple peripheral modules, like SPI.
Use "arm,pl330-broken-no-flushp" quirk, as otherwise SPI transfers in
DMA mode often fail with error like this:

    I/O Error: rx-1 tx-1 rx-f tx-f len-786 dma-1 res-(-5)

Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
Link: https://lore.kernel.org/r/20240125013858.3986-3-semen.protsenko@linaro.org
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
arch/arm64/boot/dts/exynos/exynos850.dtsi

index da3f4a791e686c70dc1050471ca9a9a29ffc62c7..e7e1171a3864947f5952ec9ad1d33a857b2acb33 100644 (file)
                        clock-names = "fin_pll", "mct";
                };
 
+               pdma0: dma-controller@120c0000 {
+                       compatible = "arm,pl330", "arm,primecell";
+                       reg = <0x120c0000 0x1000>;
+                       clocks = <&cmu_core CLK_GOUT_PDMA_CORE_ACLK>;
+                       clock-names = "apb_pclk";
+                       #dma-cells = <1>;
+                       interrupts = <GIC_SPI 479 IRQ_TYPE_LEVEL_HIGH>;
+                       arm,pl330-broken-no-flushp;
+               };
+
                gic: interrupt-controller@12a01000 {
                        compatible = "arm,gic-400";
                        #interrupt-cells = <3>;