142 lines
5.0 KiB
YAML
142 lines
5.0 KiB
YAML
|
# SPDX-License-Identifier: (GPL-2.0+ OR BSD-2-Clause)
|
||
|
# Copyright (C) 2019 Texas Instruments Incorporated
|
||
|
%YAML 1.2
|
||
|
---
|
||
|
$id: "http://devicetree.org/schemas/net/ti,dp83867.yaml#"
|
||
|
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
|
||
|
|
||
|
title: TI DP83867 ethernet PHY
|
||
|
|
||
|
allOf:
|
||
|
- $ref: "ethernet-controller.yaml#"
|
||
|
|
||
|
maintainers:
|
||
|
- Andrew Davis <afd@ti.com>
|
||
|
|
||
|
description: |
|
||
|
The DP83867 device is a robust, low power, fully featured Physical Layer
|
||
|
transceiver with integrated PMD sublayers to support 10BASE-Te, 100BASE-TX
|
||
|
and 1000BASE-T Ethernet protocols.
|
||
|
|
||
|
The DP83867 is designed for easy implementation of 10/100/1000 Mbps Ethernet
|
||
|
LANs. It interfaces directly to twisted pair media via an external
|
||
|
transformer. This device interfaces directly to the MAC layer through the
|
||
|
IEEE 802.3 Standard Media Independent Interface (MII), the IEEE 802.3 Gigabit
|
||
|
Media Independent Interface (GMII) or Reduced GMII (RGMII).
|
||
|
|
||
|
Specifications about the Ethernet PHY can be found at:
|
||
|
https://www.ti.com/lit/gpn/dp83867ir
|
||
|
|
||
|
properties:
|
||
|
reg:
|
||
|
maxItems: 1
|
||
|
|
||
|
nvmem-cells:
|
||
|
maxItems: 1
|
||
|
description:
|
||
|
Nvmem data cell containing the value to write to the
|
||
|
IO_IMPEDANCE_CTRL field of the IO_MUX_CFG register.
|
||
|
|
||
|
nvmem-cell-names:
|
||
|
items:
|
||
|
- const: io_impedance_ctrl
|
||
|
|
||
|
ti,min-output-impedance:
|
||
|
type: boolean
|
||
|
description: |
|
||
|
MAC Interface Impedance control to set the programmable output impedance
|
||
|
to a minimum value (35 ohms).
|
||
|
|
||
|
ti,max-output-impedance:
|
||
|
type: boolean
|
||
|
description: |
|
||
|
MAC Interface Impedance control to set the programmable output impedance
|
||
|
to a maximum value (70 ohms).
|
||
|
Note: Specifying an io_impedance_ctrl nvmem cell or one of the
|
||
|
ti,min-output-impedance, ti,max-output-impedance properties
|
||
|
are mutually exclusive. If more than one is present, an nvmem
|
||
|
cell takes precedence over ti,max-output-impedance, which in
|
||
|
turn takes precedence over ti,min-output-impedance.
|
||
|
|
||
|
tx-fifo-depth:
|
||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||
|
description: |
|
||
|
Transmitt FIFO depth see dt-bindings/net/ti-dp83867.h for values
|
||
|
|
||
|
rx-fifo-depth:
|
||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||
|
description: |
|
||
|
Receive FIFO depth see dt-bindings/net/ti-dp83867.h for values
|
||
|
|
||
|
ti,clk-output-sel:
|
||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||
|
description: |
|
||
|
Muxing option for CLK_OUT pin. See dt-bindings/net/ti-dp83867.h
|
||
|
for applicable values. The CLK_OUT pin can also be disabled by this
|
||
|
property. When omitted, the PHY's default will be left as is.
|
||
|
|
||
|
ti,rx-internal-delay:
|
||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||
|
description: |
|
||
|
RGMII Receive Clock Delay - see dt-bindings/net/ti-dp83867.h
|
||
|
for applicable values. Required only if interface type is
|
||
|
PHY_INTERFACE_MODE_RGMII_ID or PHY_INTERFACE_MODE_RGMII_RXID.
|
||
|
|
||
|
ti,tx-internal-delay:
|
||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||
|
description: |
|
||
|
RGMII Transmit Clock Delay - see dt-bindings/net/ti-dp83867.h
|
||
|
for applicable values. Required only if interface type is
|
||
|
PHY_INTERFACE_MODE_RGMII_ID or PHY_INTERFACE_MODE_RGMII_TXID.
|
||
|
|
||
|
Note: If the interface type is PHY_INTERFACE_MODE_RGMII the TX/RX clock
|
||
|
delays will be left at their default values, as set by the PHY's pin
|
||
|
strapping. The default strapping will use a delay of 2.00 ns. Thus
|
||
|
PHY_INTERFACE_MODE_RGMII, by default, does not behave as RGMII with no
|
||
|
internal delay, but as PHY_INTERFACE_MODE_RGMII_ID. The device tree
|
||
|
should use "rgmii-id" if internal delays are desired as this may be
|
||
|
changed in future to cause "rgmii" mode to disable delays.
|
||
|
|
||
|
ti,dp83867-rxctrl-strap-quirk:
|
||
|
type: boolean
|
||
|
description: |
|
||
|
This denotes the fact that the board has RX_DV/RX_CTRL pin strapped in
|
||
|
mode 1 or 2. To ensure PHY operation, there are specific actions that
|
||
|
software needs to take when this pin is strapped in these modes.
|
||
|
See data manual for details.
|
||
|
|
||
|
ti,sgmii-ref-clock-output-enable:
|
||
|
type: boolean
|
||
|
description: |
|
||
|
This denotes which SGMII configuration is used (4 or 6-wire modes).
|
||
|
Some MACs work with differential SGMII clock. See data manual for details.
|
||
|
|
||
|
ti,fifo-depth:
|
||
|
deprecated: true
|
||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||
|
description: |
|
||
|
Transmitt FIFO depth- see dt-bindings/net/ti-dp83867.h for applicable
|
||
|
values.
|
||
|
|
||
|
required:
|
||
|
- reg
|
||
|
|
||
|
unevaluatedProperties: false
|
||
|
|
||
|
examples:
|
||
|
- |
|
||
|
#include <dt-bindings/net/ti-dp83867.h>
|
||
|
mdio0 {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
ethphy0: ethernet-phy@0 {
|
||
|
reg = <0>;
|
||
|
tx-fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
|
||
|
rx-fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
|
||
|
ti,max-output-impedance;
|
||
|
ti,clk-output-sel = <DP83867_CLK_O_SEL_CHN_A_RCLK>;
|
||
|
ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
|
||
|
ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_75_NS>;
|
||
|
};
|
||
|
};
|