On Thu, Sep 19, 2019 at 2:28 AM Green Wan <green.wan@xxxxxxxxxx> wrote: > > Add DT bindings document for Platform DMA(PDMA) driver of board, > HiFive Unleashed Rev A00. > > Signed-off-by: Green Wan <green.wan@xxxxxxxxxx> > --- > .../bindings/dma/sifive,fu540-c000-pdma.yaml | 63 +++++++++++++++++++ > MAINTAINERS | 5 ++ > 2 files changed, 68 insertions(+) > create mode 100644 Documentation/devicetree/bindings/dma/sifive,fu540-c000-pdma.yaml > > diff --git a/Documentation/devicetree/bindings/dma/sifive,fu540-c000-pdma.yaml b/Documentation/devicetree/bindings/dma/sifive,fu540-c000-pdma.yaml > new file mode 100644 > index 000000000000..b5423f1cfcaf > --- /dev/null > +++ b/Documentation/devicetree/bindings/dma/sifive,fu540-c000-pdma.yaml > @@ -0,0 +1,63 @@ > +# SPDX-License-Identifier: GPL-2.0 > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/dma/sifive,fu540-c000-pdma.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: SiFive Unleashed Rev C000 Platform DMA > + > +maintainers: > + - Green Wan <green.wan@xxxxxxxxxx> > + - Palmer Debbelt <palmer@xxxxxxxxxx> > + - Paul Walmsley <paul.walmsley@xxxxxxxxxx> > + > +description: | > + Platform DMA is a DMA engine of SiFive Unleashed. It supports 4 > + channels. Each channel has 2 interrupts. One is for DMA done and > + the other is for DME error. > + > + In different SoC, DMA could be attached to different IRQ line. > + DT file need to be changed to meet the difference. For technical > + doc, > + > + https://static.dev.sifive.com/FU540-C000-v1.0.pdf > + > +properties: > + compatible: > + items: > + - const: sifive,fu540-c000-pdma > + > + reg: > + maxItems: 1 > + > + interrupts: > + minItems: 8 > + maxItems: 8 > + > + interrupt-parent: > + description: > + Interrupt parent must correspond to the name PLIC interrupt > + controller, i.e. "plic0" > + maxItems: 1 This fails 'make dt_binding_check'. You shouldn't have 'interrupt-parent' here anyways. > + > + '#dma-cells': > + const: 1 > + > +required: > + - compatible > + - reg > + - interrupt-parent It is valid for interrupt-parent to be in a parent node too, so required is wrong. > + - interrupts > + - '#dma-cells' > + > +examples: > + - | > + dma@3000000 { > + compatible = "sifive,fu540-c000-pdma"; > + reg = <0x0 0x3000000 0x0 0x8000>; > + interrupt-parent = <&plic0>; > + interrupts = <23 24 25 26 27 28 29 30>; > + #dma-cells = <1>; > + }; > + > +... > diff --git a/MAINTAINERS b/MAINTAINERS > index 49f75d1b7b51..d0caa09a479e 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -14591,6 +14591,11 @@ F: drivers/media/usb/siano/ > F: drivers/media/usb/siano/ > F: drivers/media/mmc/siano/ > > +SIFIVE PDMA DRIVER > +M: Green Wan <green.wan@xxxxxxxxxx> > +S: Maintained > +F: Documentation/devicetree/bindings/dma/sifive,fu540-c000-pdma.yaml > + > SIFIVE DRIVERS > M: Palmer Dabbelt <palmer@xxxxxxxxxx> > M: Paul Walmsley <paul.walmsley@xxxxxxxxxx> > -- > 2.17.1 >