|  | Freescale SOC USB controllers | 
|  |  | 
|  | The device node for a USB controller that is part of a Freescale | 
|  | SOC is as described in the document "Open Firmware Recommended | 
|  | Practice : Universal Serial Bus" with the following modifications | 
|  | and additions : | 
|  |  | 
|  | Required properties : | 
|  | - compatible : Should be "fsl-usb2-mph" for multi port host USB | 
|  | controllers, or "fsl-usb2-dr" for dual role USB controllers | 
|  | or "fsl,mpc5121-usb2-dr" for dual role USB controllers of MPC5121 | 
|  | - phy_type : For multi port host USB controllers, should be one of | 
|  | "ulpi", or "serial". For dual role USB controllers, should be | 
|  | one of "ulpi", "utmi", "utmi_wide", or "serial". | 
|  | - reg : Offset and length of the register set for the device | 
|  | - port0 : boolean; if defined, indicates port0 is connected for | 
|  | fsl-usb2-mph compatible controllers.  Either this property or | 
|  | "port1" (or both) must be defined for "fsl-usb2-mph" compatible | 
|  | controllers. | 
|  | - port1 : boolean; if defined, indicates port1 is connected for | 
|  | fsl-usb2-mph compatible controllers.  Either this property or | 
|  | "port0" (or both) must be defined for "fsl-usb2-mph" compatible | 
|  | controllers. | 
|  | - dr_mode : indicates the working mode for "fsl-usb2-dr" compatible | 
|  | controllers.  Can be "host", "peripheral", or "otg".  Default to | 
|  | "host" if not defined for backward compatibility. | 
|  |  | 
|  | Recommended properties : | 
|  | - interrupts : <a b> where a is the interrupt number and b is a | 
|  | field that represents an encoding of the sense and level | 
|  | information for the interrupt.  This should be encoded based on | 
|  | the information in section 2) depending on the type of interrupt | 
|  | controller you have. | 
|  | - interrupt-parent : the phandle for the interrupt controller that | 
|  | services interrupts for this device. | 
|  |  | 
|  | Optional properties : | 
|  | - fsl,invert-drvvbus : boolean; for MPC5121 USB0 only. Indicates the | 
|  | port power polarity of internal PHY signal DRVVBUS is inverted. | 
|  | - fsl,invert-pwr-fault : boolean; for MPC5121 USB0 only. Indicates | 
|  | the PWR_FAULT signal polarity is inverted. | 
|  |  | 
|  | Example multi port host USB controller device node : | 
|  | usb@22000 { | 
|  | compatible = "fsl-usb2-mph"; | 
|  | reg = <22000 1000>; | 
|  | #address-cells = <1>; | 
|  | #size-cells = <0>; | 
|  | interrupt-parent = <700>; | 
|  | interrupts = <27 1>; | 
|  | phy_type = "ulpi"; | 
|  | port0; | 
|  | port1; | 
|  | }; | 
|  |  | 
|  | Example dual role USB controller device node : | 
|  | usb@23000 { | 
|  | compatible = "fsl-usb2-dr"; | 
|  | reg = <23000 1000>; | 
|  | #address-cells = <1>; | 
|  | #size-cells = <0>; | 
|  | interrupt-parent = <700>; | 
|  | interrupts = <26 1>; | 
|  | dr_mode = "otg"; | 
|  | phy = "ulpi"; | 
|  | }; | 
|  |  | 
|  | Example dual role USB controller device node for MPC5121ADS: | 
|  |  | 
|  | usb@4000 { | 
|  | compatible = "fsl,mpc5121-usb2-dr"; | 
|  | reg = <0x4000 0x1000>; | 
|  | #address-cells = <1>; | 
|  | #size-cells = <0>; | 
|  | interrupt-parent = < &ipic >; | 
|  | interrupts = <44 0x8>; | 
|  | dr_mode = "otg"; | 
|  | phy_type = "utmi_wide"; | 
|  | fsl,invert-drvvbus; | 
|  | fsl,invert-pwr-fault; | 
|  | }; |