| 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. | |
| Wherever applicable, the IP version of the USB controller should | |
| also be mentioned (for eg. fsl-usb2-dr-v2.2 for bsc9132). | |
| - 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; | |
| }; |