usb.txt 2.1 KB

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