Commit | Line | Data |
---|---|---|
d0fc2eaa KG |
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 | |
230f7ede | 11 | or "fsl,mpc5121-usb2-dr" for dual role USB controllers of MPC5121 |
d0fc2eaa KG |
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 | ||
230f7ede AG |
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 | ||
d0fc2eaa KG |
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 | }; | |
230f7ede AG |
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 | }; |