Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wirel...
[linux-2.6.git] / Documentation / devicetree / bindings / usb / fsl-usb.txt
1 Freescale SOC USB controllers
2
3 The device node for a USB controller that is part of a Freescale
4 SOC is as described in the document "Open Firmware Recommended
5 Practice : Universal Serial Bus" with the following modifications
6 and additions :
7
8 Required properties :
9  - compatible : Should be "fsl-usb2-mph" for multi port host USB
10    controllers, or "fsl-usb2-dr" for dual role USB controllers
11    or "fsl,mpc5121-usb2-dr" for dual role USB controllers of MPC5121
12  - phy_type : For multi port host USB controllers, should be one of
13    "ulpi", or "serial". For dual role USB controllers, should be
14    one of "ulpi", "utmi", "utmi_wide", or "serial".
15  - reg : Offset and length of the register set for the device
16  - port0 : boolean; if defined, indicates port0 is connected for
17    fsl-usb2-mph compatible controllers.  Either this property or
18    "port1" (or both) must be defined for "fsl-usb2-mph" compatible
19    controllers.
20  - port1 : boolean; if defined, indicates port1 is connected for
21    fsl-usb2-mph compatible controllers.  Either this property or
22    "port0" (or both) must be defined for "fsl-usb2-mph" compatible
23    controllers.
24  - dr_mode : indicates the working mode for "fsl-usb2-dr" compatible
25    controllers.  Can be "host", "peripheral", or "otg".  Default to
26    "host" if not defined for backward compatibility.
27
28 Recommended properties :
29  - interrupts : <a b> where a is the interrupt number and b is a
30    field that represents an encoding of the sense and level
31    information for the interrupt.  This should be encoded based on
32    the information in section 2) depending on the type of interrupt
33    controller you have.
34  - interrupt-parent : the phandle for the interrupt controller that
35    services interrupts for this device.
36
37 Optional properties :
38  - fsl,invert-drvvbus : boolean; for MPC5121 USB0 only. Indicates the
39    port power polarity of internal PHY signal DRVVBUS is inverted.
40  - fsl,invert-pwr-fault : boolean; for MPC5121 USB0 only. Indicates
41    the PWR_FAULT signal polarity is inverted.
42
43 Example multi port host USB controller device node :
44         usb@22000 {
45                 compatible = "fsl-usb2-mph";
46                 reg = <22000 1000>;
47                 #address-cells = <1>;
48                 #size-cells = <0>;
49                 interrupt-parent = <700>;
50                 interrupts = <27 1>;
51                 phy_type = "ulpi";
52                 port0;
53                 port1;
54         };
55
56 Example dual role USB controller device node :
57         usb@23000 {
58                 compatible = "fsl-usb2-dr";
59                 reg = <23000 1000>;
60                 #address-cells = <1>;
61                 #size-cells = <0>;
62                 interrupt-parent = <700>;
63                 interrupts = <26 1>;
64                 dr_mode = "otg";
65                 phy = "ulpi";
66         };
67
68 Example dual role USB controller device node for MPC5121ADS:
69
70         usb@4000 {
71                 compatible = "fsl,mpc5121-usb2-dr";
72                 reg = <0x4000 0x1000>;
73                 #address-cells = <1>;
74                 #size-cells = <0>;
75                 interrupt-parent = < &ipic >;
76                 interrupts = <44 0x8>;
77                 dr_mode = "otg";
78                 phy_type = "utmi_wide";
79                 fsl,invert-drvvbus;
80                 fsl,invert-pwr-fault;
81         };