84 lines
2.9 KiB
Plaintext
84 lines
2.9 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
|
||
|
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;
|
||
|
};
|