xref: /freebsd/sys/contrib/device-tree/Bindings/usb/fsl-usb.txt (revision 95eb4b873b6a8b527c5bd78d7191975dfca38998)
1Freescale SOC USB controllers
2
3The device node for a USB controller that is part of a Freescale
4SOC is as described in the document "Open Firmware Recommended
5Practice : Universal Serial Bus" with the following modifications
6and additions :
7
8Required 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   Wherever applicable, the IP version of the USB controller should
13   also be mentioned (for eg. fsl-usb2-dr-v2.2 for bsc9132).
14 - phy_type : For multi port host USB controllers, should be one of
15   "ulpi", or "serial". For dual role USB controllers, should be
16   one of "ulpi", "utmi", "utmi_wide", or "serial".
17 - reg : Offset and length of the register set for the device
18 - port0 : boolean; if defined, indicates port0 is connected for
19   fsl-usb2-mph compatible controllers.  Either this property or
20   "port1" (or both) must be defined for "fsl-usb2-mph" compatible
21   controllers.
22 - port1 : boolean; if defined, indicates port1 is connected for
23   fsl-usb2-mph compatible controllers.  Either this property or
24   "port0" (or both) must be defined for "fsl-usb2-mph" compatible
25   controllers.
26 - dr_mode : indicates the working mode for "fsl-usb2-dr" compatible
27   controllers.  Can be "host", "peripheral", or "otg".  Default to
28   "host" if not defined for backward compatibility.
29
30Recommended properties :
31 - interrupts : <a b> where a is the interrupt number and b is a
32   field that represents an encoding of the sense and level
33   information for the interrupt.  This should be encoded based on
34   the information in section 2) depending on the type of interrupt
35   controller you have.
36
37Optional 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
43Example 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
56Example 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
68Example 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	};
82