phy-bindings.txt 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. This document explains only the device tree data binding. For general
  2. information about PHY subsystem refer to Documentation/phy.txt
  3. PHY device node
  4. ===============
  5. Required Properties:
  6. #phy-cells: Number of cells in a PHY specifier; The meaning of all those
  7. cells is defined by the binding for the phy node. The PHY
  8. provider can use the values in cells to find the appropriate
  9. PHY.
  10. For example:
  11. phys: phy {
  12. compatible = "xxx";
  13. reg = <...>;
  14. .
  15. .
  16. #phy-cells = <1>;
  17. .
  18. .
  19. };
  20. That node describes an IP block (PHY provider) that implements 2 different PHYs.
  21. In order to differentiate between these 2 PHYs, an additonal specifier should be
  22. given while trying to get a reference to it.
  23. PHY user node
  24. =============
  25. Required Properties:
  26. phys : the phandle for the PHY device (used by the PHY subsystem)
  27. phy-names : the names of the PHY corresponding to the PHYs present in the
  28. *phys* phandle
  29. Example 1:
  30. usb1: usb_otg_ss@xxx {
  31. compatible = "xxx";
  32. reg = <xxx>;
  33. .
  34. .
  35. phys = <&usb2_phy>, <&usb3_phy>;
  36. phy-names = "usb2phy", "usb3phy";
  37. .
  38. .
  39. };
  40. This node represents a controller that uses two PHYs, one for usb2 and one for
  41. usb3.
  42. Example 2:
  43. usb2: usb_otg_ss@xxx {
  44. compatible = "xxx";
  45. reg = <xxx>;
  46. .
  47. .
  48. phys = <&phys 1>;
  49. phy-names = "usbphy";
  50. .
  51. .
  52. };
  53. This node represents a controller that uses one of the PHYs of the PHY provider
  54. device defined previously. Note that the phy handle has an additional specifier
  55. "1" to differentiate between the two PHYs.