2022-07-12 14:54:59

by Viacheslav Mitrofanov

[permalink] [raw]
Subject: [PATCH] riscv: dts: fu740: Add PDMA node

HiFive unmatched supports PDMA but is not implemented in DT.

Add the PDMA node in SiFive FU740 soc-specific DT file.

Signed-off-by: Viacheslav Mitrofanov <[email protected]>
---
arch/riscv/boot/dts/sifive/fu740-c000.dtsi | 8 ++++++++
1 file changed, 8 insertions(+)

diff --git a/arch/riscv/boot/dts/sifive/fu740-c000.dtsi b/arch/riscv/boot/dts/sifive/fu740-c000.dtsi
index 7b77c13496d8..4bd670d8632f 100644
--- a/arch/riscv/boot/dts/sifive/fu740-c000.dtsi
+++ b/arch/riscv/boot/dts/sifive/fu740-c000.dtsi
@@ -161,6 +161,14 @@ prci: clock-controller@10000000 {
#clock-cells = <1>;
#reset-cells = <1>;
};
+ dma: dma-controller@3000000 {
+ compatible = "sifive,pdma0";
+ reg = <0x0 0x3000000 0x0 0x8000>;
+ interrupt-parent = <&plic0>;
+ interrupts = <11 12 13 14 15 16 17 18>;
+ dma-channels = <4>;
+ #dma-cells = <1>;
+ };
uart0: serial@10010000 {
compatible = "sifive,fu740-c000-uart", "sifive,uart0";
reg = <0x0 0x10010000 0x0 0x1000>;
--
2.25.1


2022-07-12 15:46:53

by Emil Renner Berthing

[permalink] [raw]
Subject: Re: [PATCH] riscv: dts: fu740: Add PDMA node

Hi Viacheslav,

Thanks for your patch! I have a comment below.

On Tue, 12 Jul 2022 at 16:22, Viacheslav Mitrofanov
<[email protected]> wrote:
>
> HiFive unmatched supports PDMA but is not implemented in DT.
>
> Add the PDMA node in SiFive FU740 soc-specific DT file.
>
> Signed-off-by: Viacheslav Mitrofanov <[email protected]>
> ---
> arch/riscv/boot/dts/sifive/fu740-c000.dtsi | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/arch/riscv/boot/dts/sifive/fu740-c000.dtsi b/arch/riscv/boot/dts/sifive/fu740-c000.dtsi
> index 7b77c13496d8..4bd670d8632f 100644
> --- a/arch/riscv/boot/dts/sifive/fu740-c000.dtsi
> +++ b/arch/riscv/boot/dts/sifive/fu740-c000.dtsi
> @@ -161,6 +161,14 @@ prci: clock-controller@10000000 {
> #clock-cells = <1>;
> #reset-cells = <1>;
> };
> + dma: dma-controller@3000000 {
> + compatible = "sifive,pdma0";

I think this should be

compatible = "sifive,fu740-c000-pdma", "sifive,pdma0";

..but before adding that you'll also need a separate patch to

Documentation/devicetree/bindings/dma/sifive,fu540-c000-pdma.yaml

..adding the new compatible string. Otherwise this will complain

make ARCH=riscv
DT_SCHEMA_FILES=Documentation/devicetree/bindings/dma/sifive,fu540-c000-pdma.yaml
dtbs_check

/Emil
> + reg = <0x0 0x3000000 0x0 0x8000>;
> + interrupt-parent = <&plic0>;
> + interrupts = <11 12 13 14 15 16 17 18>;
> + dma-channels = <4>;
> + #dma-cells = <1>;
> + };
> uart0: serial@10010000 {
> compatible = "sifive,fu740-c000-uart", "sifive,uart0";
> reg = <0x0 0x10010000 0x0 0x1000>;
> --
> 2.25.1
>
>
> _______________________________________________
> linux-riscv mailing list
> [email protected]
> http://lists.infradead.org/mailman/listinfo/linux-riscv