Kernel-2.6.32-573.12.1.el6_usb

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 :

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