Message ID | 20170917031956.28010-7-stefan.bruens@rwth-aachen.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Sun, Sep 17, 2017 at 05:19:52AM +0200, Stefan Brüns wrote: > The A64 is register compatible with the H3, but has a different number > of dma channels and request ports. > > Attach additional properties to the node to allow future reuse of the > compatible for controllers with different number of channels/requests. > > If dma-requests is not specified, the register layout defined maximum > of 32 is used. > > Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de> > --- > .../devicetree/bindings/dma/sun6i-dma.txt | 26 ++++++++++++++++++++++ > 1 file changed, 26 insertions(+) > > diff --git a/Documentation/devicetree/bindings/dma/sun6i-dma.txt b/Documentation/devicetree/bindings/dma/sun6i-dma.txt > index 98fbe1a5c6dd..6ebc79f95202 100644 > --- a/Documentation/devicetree/bindings/dma/sun6i-dma.txt > +++ b/Documentation/devicetree/bindings/dma/sun6i-dma.txt > @@ -27,6 +27,32 @@ Example: > #dma-cells = <1>; > }; > > +------------------------------------------------------------------------------ > +For A64 DMA controller: > + > +Required properties: > +- compatible: "allwinner,sun50i-a64-dma" > +- dma-channels: Number of DMA channels supported by the controller. > + Refer to Documentation/devicetree/bindings/dma/dma.txt > +- all properties above, i.e. reg, interrupts, clocks, resets and #dma-cells > + > +Optional properties: > +- dma-requests: Number of DMA request signals supported by the controller. > + Refer to Documentation/devicetree/bindings/dma/dma.txt You're error'ing out if dma-requests, so it isn't optional. I guess we should just make it mandatory. Once done, Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com> Maxime
On Montag, 18. September 2017 10:11:34 CEST Maxime Ripard wrote: > On Sun, Sep 17, 2017 at 05:19:52AM +0200, Stefan Brüns wrote: > > The A64 is register compatible with the H3, but has a different number > > of dma channels and request ports. > > > > Attach additional properties to the node to allow future reuse of the > > compatible for controllers with different number of channels/requests. > > > > If dma-requests is not specified, the register layout defined maximum > > of 32 is used. > > > > Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de> > > --- > > > > .../devicetree/bindings/dma/sun6i-dma.txt | 26 > > ++++++++++++++++++++++ 1 file changed, 26 insertions(+) > > > > diff --git a/Documentation/devicetree/bindings/dma/sun6i-dma.txt > > b/Documentation/devicetree/bindings/dma/sun6i-dma.txt index > > 98fbe1a5c6dd..6ebc79f95202 100644 > > --- a/Documentation/devicetree/bindings/dma/sun6i-dma.txt > > +++ b/Documentation/devicetree/bindings/dma/sun6i-dma.txt > > > > @@ -27,6 +27,32 @@ Example: > > #dma-cells = <1>; > > > > }; > > > > +------------------------------------------------------------------------- > > ----- +For A64 DMA controller: > > + > > +Required properties: > > +- compatible: "allwinner,sun50i-a64-dma" > > +- dma-channels: Number of DMA channels supported by the controller. > > + Refer to Documentation/devicetree/bindings/dma/dma.txt > > +- all properties above, i.e. reg, interrupts, clocks, resets and > > #dma-cells + > > +Optional properties: > > +- dma-requests: Number of DMA request signals supported by the > > controller. > > + Refer to Documentation/devicetree/bindings/dma/dma.txt > > You're error'ing out if dma-requests, so it isn't optional. I guess we > should just make it mandatory. No, it defaults to DMA_CHAN_MAX_DRQ = 31, see patch 07/10. Kind regards, Stefan
On Sun, Sep 17, 2017 at 05:19:52AM +0200, Stefan Brüns wrote: > The A64 is register compatible with the H3, but has a different number > of dma channels and request ports. > > Attach additional properties to the node to allow future reuse of the > compatible for controllers with different number of channels/requests. > > If dma-requests is not specified, the register layout defined maximum > of 32 is used. > > Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de> > --- > .../devicetree/bindings/dma/sun6i-dma.txt | 26 ++++++++++++++++++++++ > 1 file changed, 26 insertions(+) > > diff --git a/Documentation/devicetree/bindings/dma/sun6i-dma.txt b/Documentation/devicetree/bindings/dma/sun6i-dma.txt > index 98fbe1a5c6dd..6ebc79f95202 100644 > --- a/Documentation/devicetree/bindings/dma/sun6i-dma.txt > +++ b/Documentation/devicetree/bindings/dma/sun6i-dma.txt > @@ -27,6 +27,32 @@ Example: > #dma-cells = <1>; > }; > > +------------------------------------------------------------------------------ > +For A64 DMA controller: > + > +Required properties: > +- compatible: "allwinner,sun50i-a64-dma" > +- dma-channels: Number of DMA channels supported by the controller. > + Refer to Documentation/devicetree/bindings/dma/dma.txt > +- all properties above, i.e. reg, interrupts, clocks, resets and #dma-cells > + > +Optional properties: > +- dma-requests: Number of DMA request signals supported by the controller. > + Refer to Documentation/devicetree/bindings/dma/dma.txt > + > +Example: > + dma: dma-controller@01c02000 { Drop the leading 0. Building dtbs with W=2 will tell you this. With that, Acked-by: Rob Herring <robh@kernel.org> > + compatible = "allwinner,sun50i-a64-dma"; > + reg = <0x01c02000 0x1000>; > + interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&ccu CLK_BUS_DMA>; > + dma-channels = <8>; > + dma-requests = <27>; > + resets = <&ccu RST_BUS_DMA>; > + #dma-cells = <1>; > + }; > +------------------------------------------------------------------------------ > + > Clients: > > DMA clients connected to the A31 DMA controller must use the format > -- > 2.14.1 >
On Mittwoch, 20. September 2017 22:53:00 CEST Rob Herring wrote: > On Sun, Sep 17, 2017 at 05:19:52AM +0200, Stefan Brüns wrote: > > The A64 is register compatible with the H3, but has a different number > > of dma channels and request ports. > > > > Attach additional properties to the node to allow future reuse of the > > compatible for controllers with different number of channels/requests. > > > > If dma-requests is not specified, the register layout defined maximum > > of 32 is used. > > > > Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de> > > --- > > > > .../devicetree/bindings/dma/sun6i-dma.txt | 26 > > ++++++++++++++++++++++ 1 file changed, 26 insertions(+) > > > > diff --git a/Documentation/devicetree/bindings/dma/sun6i-dma.txt > > b/Documentation/devicetree/bindings/dma/sun6i-dma.txt index > > 98fbe1a5c6dd..6ebc79f95202 100644 > > --- a/Documentation/devicetree/bindings/dma/sun6i-dma.txt > > +++ b/Documentation/devicetree/bindings/dma/sun6i-dma.txt > > > > @@ -27,6 +27,32 @@ Example: > > #dma-cells = <1>; > > > > }; > > > > +------------------------------------------------------------------------- > > ----- +For A64 DMA controller: > > + > > +Required properties: > > +- compatible: "allwinner,sun50i-a64-dma" > > +- dma-channels: Number of DMA channels supported by the controller. > > + Refer to Documentation/devicetree/bindings/dma/dma.txt > > +- all properties above, i.e. reg, interrupts, clocks, resets and > > #dma-cells + > > +Optional properties: > > +- dma-requests: Number of DMA request signals supported by the > > controller. > > + Refer to Documentation/devicetree/bindings/dma/dma.txt > > + > > +Example: > > + dma: dma-controller@01c02000 { > > Drop the leading 0. Building dtbs with W=2 will tell you this. > > With that, > > Acked-by: Rob Herring <robh@kernel.org> The leading 0 was copied from the A31 example just a few lines above. Should I also correct that one, or should that go in a separate patch? Kind regards, Stefan
On Sat, Sep 23, 2017 at 6:34 PM, Stefan Bruens <stefan.bruens@rwth-aachen.de> wrote: > On Mittwoch, 20. September 2017 22:53:00 CEST Rob Herring wrote: >> On Sun, Sep 17, 2017 at 05:19:52AM +0200, Stefan Brüns wrote: >> > The A64 is register compatible with the H3, but has a different number >> > of dma channels and request ports. >> > >> > Attach additional properties to the node to allow future reuse of the >> > compatible for controllers with different number of channels/requests. >> > >> > If dma-requests is not specified, the register layout defined maximum >> > of 32 is used. >> > >> > Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de> >> > --- >> > >> > .../devicetree/bindings/dma/sun6i-dma.txt | 26 >> > ++++++++++++++++++++++ 1 file changed, 26 insertions(+) >> > >> > diff --git a/Documentation/devicetree/bindings/dma/sun6i-dma.txt >> > b/Documentation/devicetree/bindings/dma/sun6i-dma.txt index >> > 98fbe1a5c6dd..6ebc79f95202 100644 >> > --- a/Documentation/devicetree/bindings/dma/sun6i-dma.txt >> > +++ b/Documentation/devicetree/bindings/dma/sun6i-dma.txt >> > >> > @@ -27,6 +27,32 @@ Example: >> > #dma-cells = <1>; >> > >> > }; >> > >> > +------------------------------------------------------------------------- >> > ----- +For A64 DMA controller: >> > + >> > +Required properties: >> > +- compatible: "allwinner,sun50i-a64-dma" >> > +- dma-channels: Number of DMA channels supported by the controller. >> > + Refer to Documentation/devicetree/bindings/dma/dma.txt >> > +- all properties above, i.e. reg, interrupts, clocks, resets and >> > #dma-cells + >> > +Optional properties: >> > +- dma-requests: Number of DMA request signals supported by the >> > controller. >> > + Refer to Documentation/devicetree/bindings/dma/dma.txt >> > + >> > +Example: >> > + dma: dma-controller@01c02000 { >> >> Drop the leading 0. Building dtbs with W=2 will tell you this. >> >> With that, >> >> Acked-by: Rob Herring <robh@kernel.org> > > The leading 0 was copied from the A31 example just a few lines above. Should I > also correct that one, or should that go in a separate patch? A separate patch. Rob
diff --git a/Documentation/devicetree/bindings/dma/sun6i-dma.txt b/Documentation/devicetree/bindings/dma/sun6i-dma.txt index 98fbe1a5c6dd..6ebc79f95202 100644 --- a/Documentation/devicetree/bindings/dma/sun6i-dma.txt +++ b/Documentation/devicetree/bindings/dma/sun6i-dma.txt @@ -27,6 +27,32 @@ Example: #dma-cells = <1>; }; +------------------------------------------------------------------------------ +For A64 DMA controller: + +Required properties: +- compatible: "allwinner,sun50i-a64-dma" +- dma-channels: Number of DMA channels supported by the controller. + Refer to Documentation/devicetree/bindings/dma/dma.txt +- all properties above, i.e. reg, interrupts, clocks, resets and #dma-cells + +Optional properties: +- dma-requests: Number of DMA request signals supported by the controller. + Refer to Documentation/devicetree/bindings/dma/dma.txt + +Example: + dma: dma-controller@01c02000 { + compatible = "allwinner,sun50i-a64-dma"; + reg = <0x01c02000 0x1000>; + interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&ccu CLK_BUS_DMA>; + dma-channels = <8>; + dma-requests = <27>; + resets = <&ccu RST_BUS_DMA>; + #dma-cells = <1>; + }; +------------------------------------------------------------------------------ + Clients: DMA clients connected to the A31 DMA controller must use the format
The A64 is register compatible with the H3, but has a different number of dma channels and request ports. Attach additional properties to the node to allow future reuse of the compatible for controllers with different number of channels/requests. If dma-requests is not specified, the register layout defined maximum of 32 is used. Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de> --- .../devicetree/bindings/dma/sun6i-dma.txt | 26 ++++++++++++++++++++++ 1 file changed, 26 insertions(+)