The support for both am335x-USB instances required changes to the device
tree bindings. This patch reflects these changes in the bindings
document.
v3…v4:
- remove the child node for USB. This is driver specific on won't be
reflected in the device tree
- use the mentor prefix instead of mg.
- use dr_mode istead of mg,port-mode for the port mode. The former
is used by a few other drivers.
v2…v3:
- use proper usb-phy nodes in evm, bone and evmsk device tree.
v1…v2:
- use mg prefix for the Metor Graphics specific attributes
- use power in mA not in mA/2 as specifed in the USB2.0 specification
- use usbX-phy instead of usbX_phy
- use dma-controller instead of dma
Cc: Rob Herring rob.herr...@calxeda.com
Cc: Pawel Moll pawel.m...@arm.com
Cc: Mark Rutland mark.rutl...@arm.com
Cc: Stephen Warren swar...@wwwdotorg.org
Cc: Ian Campbell ian.campb...@citrix.com
Cc: devicet...@vger.kernel.org
Signed-off-by: Sebastian Andrzej Siewior bige...@linutronix.de
---
.../devicetree/bindings/usb/am33xx-usb.txt | 222 ++---
1 file changed, 192 insertions(+), 30 deletions(-)
diff --git a/Documentation/devicetree/bindings/usb/am33xx-usb.txt
b/Documentation/devicetree/bindings/usb/am33xx-usb.txt
index dc9dc8c..20c2ff2 100644
--- a/Documentation/devicetree/bindings/usb/am33xx-usb.txt
+++ b/Documentation/devicetree/bindings/usb/am33xx-usb.txt
@@ -1,35 +1,197 @@
-AM33XX MUSB GLUE
- - compatible : Should be ti,musb-am33xx
- - reg : offset and length of register sets, first usbss, then for musb
instances
- - interrupts : usbss, musb instance interrupts in order
- - ti,hwmods : must be usb_otg_hs
- - multipoint : Should be 1 indicating the musb controller supports
- multipoint. This is a MUSB configuration-specific setting.
- - num-eps : Specifies the number of endpoints. This is also a
- MUSB configuration-specific setting. Should be set to 16
- - ram-bits : Specifies the ram address size. Should be set to 12
- - port0-mode : Should be 3 to represent OTG. 1 signifies HOST and 2
- represents PERIPHERAL.
- - port1-mode : Should be 1 to represent HOST. 3 signifies OTG and 2
- represents PERIPHERAL.
- - power : Should be 250. This signifies the controller can supply up to
- 500mA when operating in host mode.
+ AM33xx MUSB
+~~~
+- compatible: ti,am33xx-usb
+- reg: offset and length of the usbss register sets
+- ti,hwmods : must be usb_otg_hs
+
+The glue layer contains multiple child nodes. It is required the have
+at least a control module node, USB node and a PHY node. The second USB
+node and its PHY node is optional. The DMA node is also optional.
+
+Reset module
+
+- compatible: ti,am335x-usb-ctrl-module
+- reg: offset and length of the USB control registers in the Control
+ Module block. A second offset and length for the USB wake up control
+ in the same memory block.
+- reg-names: phy_ctrl for the USB control registers and wakeup for
+ the USB wake up control register.
+
+USB PHY
+~~~
+compatible: ti,am335x-usb-phy
+reg: offset and length of the USB PHY register space
+ti,ctrl_mod: reference to the reset module node
+reg-names: phy
+The PHY should have a phy alias numbered properly in the alias
+node.
+
+USB
+~~~
+- compatible: ti,musb-am33xx
+- reg: offset and length of USB Controller Registers, and offset and
+ length of USB Core register space.
+- reg-names: control for the USB Controller Registers and mc for
+ USB Core register space
+- interrupts: USB interrupt number
+- interrupt-names: mc
+- dr_mode: Should be one of host, peripheral or otg.
+- mentor,multipoint: Should be 1 indicating the musb controller supports
+ multipoint. This is a MUSB configuration-specific setting.
+- mentor,num-eps: Specifies the number of endpoints. This is also a
+ MUSB configuration-specific setting. Should be set to 16
+- mentor,ram-bits: Specifies the ram address size. Should be set to 12
+- mentor,power: Should be 500. This signifies the controller can supply up to
+ 500mA when operating in host mode.
+- phys: reference to the 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.
+
+The controller should have an usb alias numbered properly in the alias
+node.
+
+DMA
+~~~
+- compatible: ti,am3359-cppi41
+- reg: offset and length of the following register spaces: USBSS, USB
+ CPPI DMA Controller, USB CPPI DMA Scheduler, USB Queue Manager
+- reg-names: glue, controller, scheduler, queuemgr
+- #dma-cells: should be set to 2. The first number represents the
+ endpoint number (0 … 14 for endpoints 1 … 15 on instance 0 and 15 … 29
+ for endpoints 1 … 15 on instance 1). The second number is 0 for RX and
+ 1 for TX transfers.
+- #dma-channels: should be set to 30 representing the 15 endpoints for
+ each USB instance.
Example:
+
+The following example contains all the nodes as used on am335x-evm:
+
+aliases {
+ usb0 = usb0;
+