phy-mvebu-comphy.txt 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. MVEBU comphy drivers
  2. --------------------
  3. COMPHY controllers can be found on the following Marvell MVEBU SoCs:
  4. * Armada 7k/8k (on the CP110)
  5. * Armada 3700
  6. It provides a number of shared PHYs used by various interfaces (network, SATA,
  7. USB, PCIe...).
  8. Required properties:
  9. - compatible: should be one of:
  10. * "marvell,comphy-cp110" for Armada 7k/8k
  11. * "marvell,comphy-a3700" for Armada 3700
  12. - reg: should contain the COMPHY register(s) location(s) and length(s).
  13. * 1 entry for Armada 7k/8k
  14. * 4 entries for Armada 3700 along with the corresponding reg-names
  15. properties, memory areas are:
  16. * Generic COMPHY registers
  17. * Lane 1 (PCIe/GbE)
  18. * Lane 0 (USB3/GbE)
  19. * Lane 2 (SATA/USB3)
  20. - marvell,system-controller: should contain a phandle to the system
  21. controller node (only for Armada 7k/8k)
  22. - #address-cells: should be 1.
  23. - #size-cells: should be 0.
  24. Optional properlties:
  25. - clocks: pointers to the reference clocks for this device (CP110 only),
  26. consequently: MG clock, MG Core clock, AXI clock.
  27. - clock-names: names of used clocks for CP110 only, must be :
  28. "mg_clk", "mg_core_clk" and "axi_clk".
  29. A sub-node is required for each comphy lane provided by the comphy.
  30. Required properties (child nodes):
  31. - reg: COMPHY lane number.
  32. - #phy-cells : from the generic PHY bindings, must be 1. Defines the
  33. input port to use for a given comphy lane.
  34. Examples:
  35. CP11X_LABEL(comphy): phy@120000 {
  36. compatible = "marvell,comphy-cp110";
  37. reg = <0x120000 0x6000>;
  38. marvell,system-controller = <&CP11X_LABEL(syscon0)>;
  39. clocks = <&CP11X_LABEL(clk) 1 5>, <&CP11X_LABEL(clk) 1 6>,
  40. <&CP11X_LABEL(clk) 1 18>;
  41. clock-names = "mg_clk", "mg_core_clk", "axi_clk";
  42. #address-cells = <1>;
  43. #size-cells = <0>;
  44. CP11X_LABEL(comphy0): phy@0 {
  45. reg = <0>;
  46. #phy-cells = <1>;
  47. };
  48. CP11X_LABEL(comphy1): phy@1 {
  49. reg = <1>;
  50. #phy-cells = <1>;
  51. };
  52. };
  53. comphy: phy@18300 {
  54. compatible = "marvell,comphy-a3700";
  55. reg = <0x18300 0x300>,
  56. <0x1F000 0x400>,
  57. <0x5C000 0x400>,
  58. <0xe0178 0x8>;
  59. reg-names = "comphy",
  60. "lane1_pcie_gbe",
  61. "lane0_usb3_gbe",
  62. "lane2_sata_usb3";
  63. #address-cells = <1>;
  64. #size-cells = <0>;
  65. comphy0: phy@0 {
  66. reg = <0>;
  67. #phy-cells = <1>;
  68. };
  69. comphy1: phy@1 {
  70. reg = <1>;
  71. #phy-cells = <1>;
  72. };
  73. comphy2: phy@2 {
  74. reg = <2>;
  75. #phy-cells = <1>;
  76. };
  77. };