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