60 lines
2.1 KiB
Plaintext
60 lines
2.1 KiB
Plaintext
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";
|
|
};
|