| 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; |
| }; |