Message ID | 20170124095848.14593-2-abailon@baylibre.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
On Tue, Jan 24, 2017 at 10:58:46AM +0100, Alexandre Bailon wrote: > DT binding for the TI DA8xx/OMAP-L1x/AM17xx/AM18xx CPPI 4.1 DMA controller. > > Signed-off-by: Alexandre Bailon <abailon@baylibre.com> > --- > .../devicetree/bindings/usb/da8xx-usb.txt | 39 ++++++++++++++++++++++ > 1 file changed, 39 insertions(+) > > diff --git a/Documentation/devicetree/bindings/usb/da8xx-usb.txt b/Documentation/devicetree/bindings/usb/da8xx-usb.txt > index ccb844a..c3944a6 100644 > --- a/Documentation/devicetree/bindings/usb/da8xx-usb.txt > +++ b/Documentation/devicetree/bindings/usb/da8xx-usb.txt > @@ -18,10 +18,26 @@ Required properties: > > - phy-names: Should be "usb-phy" > > + - dmas: specifies the dma channels > + > + - dma-names: specifies the names of the channels. Use "rxN" for receive > + and "txN" for transmit endpoints. N specifies the endpoint number. > + > Optional properties: > ~~~~~~~~~~~~~~~~~~~~ > - vbus-supply: Phandle to a regulator providing the USB bus power. > > +DMA > +~~~ > +- compatible: ti,da830-cppi41 > +- reg: offset and length of the following register spaces: CPPI DMA Controller, > + CPPI DMA Scheduler, Queue Manager > +- reg-names: "controller", "scheduler", "queuemgr" > +- #dma-cells: should be set to 2. The first number represents the > + channel number (0 … 3 for endpoints 1 … 4). > + The second number is 0 for RX and 1 for TX transfers. > +- #dma-channels: should be set to 4 representing the 4 endpoints. > + > Example: > usb_phy: usb-phy { > compatible = "ti,da830-usb-phy"; > @@ -31,6 +47,9 @@ Example: > usb0: usb@200000 { > compatible = "ti,da830-musb"; > reg = <0x00200000 0x10000>; > + ranges; > + #address-cells = <1>; > + #size-cells = <1>; > interrupts = <58>; > interrupt-names = "mc"; > > @@ -39,5 +58,25 @@ Example: > phys = <&usb_phy 0>; > phy-names = "usb-phy"; > > + dmas = <&cppi41dma 0 0 &cppi41dma 1 0 > + &cppi41dma 2 0 &cppi41dma 3 0 > + &cppi41dma 0 1 &cppi41dma 1 1 > + &cppi41dma 2 1 &cppi41dma 3 1>; > + dma-names = > + "rx1", "rx2", "rx3", "rx4", > + "tx1", "tx2", "tx3", "tx4"; > + > status = "okay"; > + > + cppi41dma: dma-controller@201000 { > + compatible = "ti,da830-cppi41"; > + reg = <0x201000 0x1000 > + 0x202000 0x1000 > + 0x204000 0x4000>; This is creating overlapping addresses which we want to avoid. The parent's ranges should be filled in and reg set to only those addresses the parent will touch (0x200000-0x201000?). With that, Acked-by: Rob Herring <robh@kernel.org> > + reg-names = "controller", "scheduler", "queuemgr"; > + interrupts = <58>; > + #dma-cells = <2>; > + #dma-channels = <4>; > + }; > + > }; > -- > 2.10.2 > -- To unsubscribe from this list: send the line "unsubscribe dmaengine" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/Documentation/devicetree/bindings/usb/da8xx-usb.txt b/Documentation/devicetree/bindings/usb/da8xx-usb.txt index ccb844a..c3944a6 100644 --- a/Documentation/devicetree/bindings/usb/da8xx-usb.txt +++ b/Documentation/devicetree/bindings/usb/da8xx-usb.txt @@ -18,10 +18,26 @@ Required properties: - phy-names: Should be "usb-phy" + - dmas: specifies the dma channels + + - dma-names: specifies the names of the channels. Use "rxN" for receive + and "txN" for transmit endpoints. N specifies the endpoint number. + Optional properties: ~~~~~~~~~~~~~~~~~~~~ - vbus-supply: Phandle to a regulator providing the USB bus power. +DMA +~~~ +- compatible: ti,da830-cppi41 +- reg: offset and length of the following register spaces: CPPI DMA Controller, + CPPI DMA Scheduler, Queue Manager +- reg-names: "controller", "scheduler", "queuemgr" +- #dma-cells: should be set to 2. The first number represents the + channel number (0 … 3 for endpoints 1 … 4). + The second number is 0 for RX and 1 for TX transfers. +- #dma-channels: should be set to 4 representing the 4 endpoints. + Example: usb_phy: usb-phy { compatible = "ti,da830-usb-phy"; @@ -31,6 +47,9 @@ Example: usb0: usb@200000 { compatible = "ti,da830-musb"; reg = <0x00200000 0x10000>; + ranges; + #address-cells = <1>; + #size-cells = <1>; interrupts = <58>; interrupt-names = "mc"; @@ -39,5 +58,25 @@ Example: phys = <&usb_phy 0>; phy-names = "usb-phy"; + dmas = <&cppi41dma 0 0 &cppi41dma 1 0 + &cppi41dma 2 0 &cppi41dma 3 0 + &cppi41dma 0 1 &cppi41dma 1 1 + &cppi41dma 2 1 &cppi41dma 3 1>; + dma-names = + "rx1", "rx2", "rx3", "rx4", + "tx1", "tx2", "tx3", "tx4"; + status = "okay"; + + cppi41dma: dma-controller@201000 { + compatible = "ti,da830-cppi41"; + reg = <0x201000 0x1000 + 0x202000 0x1000 + 0x204000 0x4000>; + reg-names = "controller", "scheduler", "queuemgr"; + interrupts = <58>; + #dma-cells = <2>; + #dma-channels = <4>; + }; + };
DT binding for the TI DA8xx/OMAP-L1x/AM17xx/AM18xx CPPI 4.1 DMA controller. Signed-off-by: Alexandre Bailon <abailon@baylibre.com> --- .../devicetree/bindings/usb/da8xx-usb.txt | 39 ++++++++++++++++++++++ 1 file changed, 39 insertions(+)