Kumar Gala | d0fc2ea | 2008-07-07 11:28:33 -0500 | [diff] [blame^] | 1 | Freescale SOC USB controllers |
| 2 | |
| 3 | The device node for a USB controller that is part of a Freescale |
| 4 | SOC is as described in the document "Open Firmware Recommended |
| 5 | Practice : Universal Serial Bus" with the following modifications |
| 6 | and additions : |
| 7 | |
| 8 | Required 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 | - phy_type : For multi port host USB controllers, should be one of |
| 12 | "ulpi", or "serial". For dual role USB controllers, should be |
| 13 | one of "ulpi", "utmi", "utmi_wide", or "serial". |
| 14 | - reg : Offset and length of the register set for the device |
| 15 | - port0 : boolean; if defined, indicates port0 is connected for |
| 16 | fsl-usb2-mph compatible controllers. Either this property or |
| 17 | "port1" (or both) must be defined for "fsl-usb2-mph" compatible |
| 18 | controllers. |
| 19 | - port1 : boolean; if defined, indicates port1 is connected for |
| 20 | fsl-usb2-mph compatible controllers. Either this property or |
| 21 | "port0" (or both) must be defined for "fsl-usb2-mph" compatible |
| 22 | controllers. |
| 23 | - dr_mode : indicates the working mode for "fsl-usb2-dr" compatible |
| 24 | controllers. Can be "host", "peripheral", or "otg". Default to |
| 25 | "host" if not defined for backward compatibility. |
| 26 | |
| 27 | Recommended properties : |
| 28 | - interrupts : <a b> where a is the interrupt number and b is a |
| 29 | field that represents an encoding of the sense and level |
| 30 | information for the interrupt. This should be encoded based on |
| 31 | the information in section 2) depending on the type of interrupt |
| 32 | controller you have. |
| 33 | - interrupt-parent : the phandle for the interrupt controller that |
| 34 | services interrupts for this device. |
| 35 | |
| 36 | Example multi port host USB controller device node : |
| 37 | usb@22000 { |
| 38 | compatible = "fsl-usb2-mph"; |
| 39 | reg = <22000 1000>; |
| 40 | #address-cells = <1>; |
| 41 | #size-cells = <0>; |
| 42 | interrupt-parent = <700>; |
| 43 | interrupts = <27 1>; |
| 44 | phy_type = "ulpi"; |
| 45 | port0; |
| 46 | port1; |
| 47 | }; |
| 48 | |
| 49 | Example dual role USB controller device node : |
| 50 | usb@23000 { |
| 51 | compatible = "fsl-usb2-dr"; |
| 52 | reg = <23000 1000>; |
| 53 | #address-cells = <1>; |
| 54 | #size-cells = <0>; |
| 55 | interrupt-parent = <700>; |
| 56 | interrupts = <26 1>; |
| 57 | dr_mode = "otg"; |
| 58 | phy = "ulpi"; |
| 59 | }; |