ti,dp83867.yaml 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. # SPDX-License-Identifier: (GPL-2.0+ OR BSD-2-Clause)
  2. # Copyright (C) 2019 Texas Instruments Incorporated
  3. %YAML 1.2
  4. ---
  5. $id: http://devicetree.org/schemas/net/ti,dp83867.yaml#
  6. $schema: http://devicetree.org/meta-schemas/core.yaml#
  7. title: TI DP83867 ethernet PHY
  8. allOf:
  9. - $ref: ethernet-controller.yaml#
  10. maintainers:
  11. - Andrew Davis <afd@ti.com>
  12. description: |
  13. The DP83867 device is a robust, low power, fully featured Physical Layer
  14. transceiver with integrated PMD sublayers to support 10BASE-Te, 100BASE-TX
  15. and 1000BASE-T Ethernet protocols.
  16. The DP83867 is designed for easy implementation of 10/100/1000 Mbps Ethernet
  17. LANs. It interfaces directly to twisted pair media via an external
  18. transformer. This device interfaces directly to the MAC layer through the
  19. IEEE 802.3 Standard Media Independent Interface (MII), the IEEE 802.3 Gigabit
  20. Media Independent Interface (GMII) or Reduced GMII (RGMII).
  21. Specifications about the Ethernet PHY can be found at:
  22. https://www.ti.com/lit/gpn/dp83867ir
  23. properties:
  24. reg:
  25. maxItems: 1
  26. nvmem-cells:
  27. maxItems: 1
  28. description:
  29. Nvmem data cell containing the value to write to the
  30. IO_IMPEDANCE_CTRL field of the IO_MUX_CFG register.
  31. nvmem-cell-names:
  32. items:
  33. - const: io_impedance_ctrl
  34. ti,min-output-impedance:
  35. type: boolean
  36. description: |
  37. MAC Interface Impedance control to set the programmable output impedance
  38. to a minimum value (35 ohms).
  39. ti,max-output-impedance:
  40. type: boolean
  41. description: |
  42. MAC Interface Impedance control to set the programmable output impedance
  43. to a maximum value (70 ohms).
  44. Note: Specifying an io_impedance_ctrl nvmem cell or one of the
  45. ti,min-output-impedance, ti,max-output-impedance properties
  46. are mutually exclusive. If more than one is present, an nvmem
  47. cell takes precedence over ti,max-output-impedance, which in
  48. turn takes precedence over ti,min-output-impedance.
  49. tx-fifo-depth:
  50. $ref: /schemas/types.yaml#/definitions/uint32
  51. description: |
  52. Transmitt FIFO depth see dt-bindings/net/ti-dp83867.h for values
  53. rx-fifo-depth:
  54. $ref: /schemas/types.yaml#/definitions/uint32
  55. description: |
  56. Receive FIFO depth see dt-bindings/net/ti-dp83867.h for values
  57. ti,clk-output-sel:
  58. $ref: /schemas/types.yaml#/definitions/uint32
  59. description: |
  60. Muxing option for CLK_OUT pin. See dt-bindings/net/ti-dp83867.h
  61. for applicable values. The CLK_OUT pin can also be disabled by this
  62. property. When omitted, the PHY's default will be left as is.
  63. ti,rx-internal-delay:
  64. $ref: /schemas/types.yaml#/definitions/uint32
  65. description: |
  66. RGMII Receive Clock Delay - see dt-bindings/net/ti-dp83867.h
  67. for applicable values. Required only if interface type is
  68. PHY_INTERFACE_MODE_RGMII_ID or PHY_INTERFACE_MODE_RGMII_RXID.
  69. ti,tx-internal-delay:
  70. $ref: /schemas/types.yaml#/definitions/uint32
  71. description: |
  72. RGMII Transmit Clock Delay - see dt-bindings/net/ti-dp83867.h
  73. for applicable values. Required only if interface type is
  74. PHY_INTERFACE_MODE_RGMII_ID or PHY_INTERFACE_MODE_RGMII_TXID.
  75. Note: If the interface type is PHY_INTERFACE_MODE_RGMII the TX/RX clock
  76. delays will be left at their default values, as set by the PHY's pin
  77. strapping. The default strapping will use a delay of 2.00 ns. Thus
  78. PHY_INTERFACE_MODE_RGMII, by default, does not behave as RGMII with no
  79. internal delay, but as PHY_INTERFACE_MODE_RGMII_ID. The device tree
  80. should use "rgmii-id" if internal delays are desired as this may be
  81. changed in future to cause "rgmii" mode to disable delays.
  82. ti,dp83867-rxctrl-strap-quirk:
  83. type: boolean
  84. description: |
  85. This denotes the fact that the board has RX_DV/RX_CTRL pin strapped in
  86. mode 1 or 2. To ensure PHY operation, there are specific actions that
  87. software needs to take when this pin is strapped in these modes.
  88. See data manual for details.
  89. ti,sgmii-ref-clock-output-enable:
  90. type: boolean
  91. description: |
  92. This denotes which SGMII configuration is used (4 or 6-wire modes).
  93. Some MACs work with differential SGMII clock. See data manual for details.
  94. ti,fifo-depth:
  95. deprecated: true
  96. $ref: /schemas/types.yaml#/definitions/uint32
  97. description: |
  98. Transmitt FIFO depth- see dt-bindings/net/ti-dp83867.h for applicable
  99. values.
  100. required:
  101. - reg
  102. unevaluatedProperties: false
  103. examples:
  104. - |
  105. #include <dt-bindings/net/ti-dp83867.h>
  106. mdio0 {
  107. #address-cells = <1>;
  108. #size-cells = <0>;
  109. ethphy0: ethernet-phy@0 {
  110. reg = <0>;
  111. tx-fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
  112. rx-fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
  113. ti,max-output-impedance;
  114. ti,clk-output-sel = <DP83867_CLK_O_SEL_CHN_A_RCLK>;
  115. ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
  116. ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_75_NS>;
  117. };
  118. };