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