0001 Freescale SOC USB controllers
0002
0003 The device node for a USB controller that is part of a Freescale
0004 SOC is as described in the document "Open Firmware Recommended
0005 Practice : Universal Serial Bus" with the following modifications
0006 and additions :
0007
0008 Required properties :
0009 - compatible : Should be "fsl-usb2-mph" for multi port host USB
0010 controllers, or "fsl-usb2-dr" for dual role USB controllers
0011 or "fsl,mpc5121-usb2-dr" for dual role USB controllers of MPC5121.
0012 Wherever applicable, the IP version of the USB controller should
0013 also be mentioned (for eg. fsl-usb2-dr-v2.2 for bsc9132).
0014 - phy_type : For multi port host USB controllers, should be one of
0015 "ulpi", or "serial". For dual role USB controllers, should be
0016 one of "ulpi", "utmi", "utmi_wide", or "serial".
0017 - reg : Offset and length of the register set for the device
0018 - port0 : boolean; if defined, indicates port0 is connected for
0019 fsl-usb2-mph compatible controllers. Either this property or
0020 "port1" (or both) must be defined for "fsl-usb2-mph" compatible
0021 controllers.
0022 - port1 : boolean; if defined, indicates port1 is connected for
0023 fsl-usb2-mph compatible controllers. Either this property or
0024 "port0" (or both) must be defined for "fsl-usb2-mph" compatible
0025 controllers.
0026 - dr_mode : indicates the working mode for "fsl-usb2-dr" compatible
0027 controllers. Can be "host", "peripheral", or "otg". Default to
0028 "host" if not defined for backward compatibility.
0029
0030 Recommended properties :
0031 - interrupts : <a b> where a is the interrupt number and b is a
0032 field that represents an encoding of the sense and level
0033 information for the interrupt. This should be encoded based on
0034 the information in section 2) depending on the type of interrupt
0035 controller you have.
0036
0037 Optional properties :
0038 - fsl,invert-drvvbus : boolean; for MPC5121 USB0 only. Indicates the
0039 port power polarity of internal PHY signal DRVVBUS is inverted.
0040 - fsl,invert-pwr-fault : boolean; for MPC5121 USB0 only. Indicates
0041 the PWR_FAULT signal polarity is inverted.
0042
0043 Example multi port host USB controller device node :
0044 usb@22000 {
0045 compatible = "fsl-usb2-mph";
0046 reg = <22000 1000>;
0047 #address-cells = <1>;
0048 #size-cells = <0>;
0049 interrupt-parent = <700>;
0050 interrupts = <27 1>;
0051 phy_type = "ulpi";
0052 port0;
0053 port1;
0054 };
0055
0056 Example dual role USB controller device node :
0057 usb@23000 {
0058 compatible = "fsl-usb2-dr";
0059 reg = <23000 1000>;
0060 #address-cells = <1>;
0061 #size-cells = <0>;
0062 interrupt-parent = <700>;
0063 interrupts = <26 1>;
0064 dr_mode = "otg";
0065 phy = "ulpi";
0066 };
0067
0068 Example dual role USB controller device node for MPC5121ADS:
0069
0070 usb@4000 {
0071 compatible = "fsl,mpc5121-usb2-dr";
0072 reg = <0x4000 0x1000>;
0073 #address-cells = <1>;
0074 #size-cells = <0>;
0075 interrupt-parent = < &ipic >;
0076 interrupts = <44 0x8>;
0077 dr_mode = "otg";
0078 phy_type = "utmi_wide";
0079 fsl,invert-drvvbus;
0080 fsl,invert-pwr-fault;
0081 };