qca,ar803x.yaml 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. # SPDX-License-Identifier: GPL-2.0+
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/net/qca,ar803x.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: Qualcomm Atheros AR803x PHY
  7. maintainers:
  8. - Andrew Lunn <andrew@lunn.ch>
  9. - Florian Fainelli <f.fainelli@gmail.com>
  10. - Heiner Kallweit <hkallweit1@gmail.com>
  11. description: |
  12. Bindings for Qualcomm Atheros AR803x PHYs
  13. allOf:
  14. - $ref: ethernet-phy.yaml#
  15. - if:
  16. properties:
  17. compatible:
  18. contains:
  19. enum:
  20. - ethernet-phy-id004d.d0c0
  21. then:
  22. properties:
  23. reg:
  24. const: 7 # This PHY is always at MDIO address 7 in the IPQ5018 SoC
  25. resets:
  26. items:
  27. - description:
  28. GE PHY MISC reset which triggers a reset across MDC, DSP, RX, and TX lines.
  29. qcom,dac-preset-short-cable:
  30. description:
  31. Set if this phy is connected to another phy to adjust the values for
  32. MDAC and EDAC to adjust amplitude, bias current settings, and error
  33. detection and correction algorithm to accommodate for short cable length.
  34. If not set, DAC values are not modified and it is assumed the MDI output pins
  35. of this PHY are directly connected to an RJ45 connector.
  36. type: boolean
  37. properties:
  38. compatible:
  39. enum:
  40. - ethernet-phy-id004d.d0c0
  41. qca,clk-out-frequency:
  42. description: Clock output frequency in Hertz.
  43. $ref: /schemas/types.yaml#/definitions/uint32
  44. enum: [25000000, 50000000, 62500000, 125000000]
  45. qca,clk-out-strength:
  46. description: Clock output driver strength.
  47. $ref: /schemas/types.yaml#/definitions/uint32
  48. enum: [0, 1, 2]
  49. qca,disable-smarteee:
  50. description: Disable Atheros SmartEEE feature.
  51. type: boolean
  52. qca,keep-pll-enabled:
  53. description: |
  54. If set, keep the PLL enabled even if there is no link. Useful if you
  55. want to use the clock output without an ethernet link.
  56. Only supported on the AR8031.
  57. type: boolean
  58. qca,disable-hibernation-mode:
  59. description: |
  60. Disable Atheros AR803X PHYs hibernation mode. If present, indicates
  61. that the hardware of PHY will not enter power saving mode when the
  62. cable is disconnected. And the RX_CLK always keeps outputting a
  63. valid clock.
  64. type: boolean
  65. qca,smarteee-tw-us-100m:
  66. description: EEE Tw parameter for 100M links.
  67. $ref: /schemas/types.yaml#/definitions/uint32
  68. minimum: 1
  69. maximum: 255
  70. qca,smarteee-tw-us-1g:
  71. description: EEE Tw parameter for gigabit links.
  72. $ref: /schemas/types.yaml#/definitions/uint32
  73. minimum: 1
  74. maximum: 255
  75. vddio-supply:
  76. description: |
  77. RGMII I/O voltage regulator (see regulator/regulator.yaml).
  78. The PHY supports RGMII I/O voltages of 1.5V, 1.8V and 2.5V. You can
  79. either connect this to the vddio-regulator (1.5V / 1.8V) or the
  80. vddh-regulator (2.5V).
  81. Only supported on the AR8031.
  82. vddio-regulator:
  83. type: object
  84. description:
  85. Initial data for the VDDIO regulator. Set this to 1.5V or 1.8V.
  86. $ref: /schemas/regulator/regulator.yaml
  87. unevaluatedProperties: false
  88. vddh-regulator:
  89. type: object
  90. description:
  91. Dummy subnode to model the external connection of the PHY VDDH
  92. regulator to VDDIO.
  93. $ref: /schemas/regulator/regulator.yaml
  94. unevaluatedProperties: false
  95. unevaluatedProperties: false
  96. examples:
  97. - |
  98. #include <dt-bindings/net/qca-ar803x.h>
  99. ethernet {
  100. #address-cells = <1>;
  101. #size-cells = <0>;
  102. phy-mode = "rgmii-id";
  103. ethernet-phy@0 {
  104. reg = <0>;
  105. qca,clk-out-frequency = <125000000>;
  106. qca,clk-out-strength = <AR803X_STRENGTH_FULL>;
  107. vddio-supply = <&vddio>;
  108. vddio: vddio-regulator {
  109. regulator-min-microvolt = <1800000>;
  110. regulator-max-microvolt = <1800000>;
  111. };
  112. };
  113. };
  114. - |
  115. #include <dt-bindings/net/qca-ar803x.h>
  116. ethernet {
  117. #address-cells = <1>;
  118. #size-cells = <0>;
  119. phy-mode = "rgmii-id";
  120. ethernet-phy@0 {
  121. reg = <0>;
  122. qca,clk-out-frequency = <50000000>;
  123. qca,keep-pll-enabled;
  124. vddio-supply = <&vddh>;
  125. vddh: vddh-regulator {
  126. };
  127. };
  128. };
  129. - |
  130. #include <dt-bindings/reset/qcom,gcc-ipq5018.h>
  131. mdio {
  132. #address-cells = <1>;
  133. #size-cells = <0>;
  134. ge_phy: ethernet-phy@7 {
  135. compatible = "ethernet-phy-id004d.d0c0";
  136. reg = <7>;
  137. resets = <&gcc GCC_GEPHY_MISC_ARES>;
  138. };
  139. };