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