# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/ethernet-controller.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Ethernet Controller Generic Binding

maintainers:
  - David S. Miller <davem@davemloft.net>

properties:
  $nodename:
    pattern: "^ethernet(@.*)?$"

  local-mac-address:
    description:
      Specifies the MAC address that was assigned to the network device.
    $ref: /schemas/types.yaml#/definitions/uint8-array
    items:
      - minItems: 6
        maxItems: 6

  mac-address:
    description:
      Specifies the MAC address that was last used by the boot
      program; should be used in cases where the MAC address assigned
      to the device by the boot program is different from the
      local-mac-address property.
    $ref: /schemas/types.yaml#/definitions/uint8-array
    items:
      - minItems: 6
        maxItems: 6

  max-frame-size:
    $ref: /schemas/types.yaml#/definitions/uint32
    description:
      Maximum transfer unit (IEEE defined MTU), rather than the
      maximum frame size (there\'s contradiction in the Devicetree
      Specification).

  max-speed:
    $ref: /schemas/types.yaml#/definitions/uint32
    description:
      Specifies maximum speed in Mbit/s supported by the device.

  nvmem-cells:
    maxItems: 1
    description:
      Reference to an nvmem node for the MAC address

  nvmem-cell-names:
    const: mac-address

  phy-connection-type:
    description:
      Specifies interface type between the Ethernet device and a physical
      layer (PHY) device.
    enum:
      # There is not a standard bus between the MAC and the PHY,
      # something proprietary is being used to embed the PHY in the
      # MAC.
      - internal
      - mii
      - gmii
      - sgmii
      - qsgmii
      - tbi
      - rev-mii
      - rmii

      # RX and TX delays are added by the MAC when required
      - rgmii

      # RGMII with internal RX and TX delays provided by the PHY,
      # the MAC should not add the RX or TX delays in this case
      - rgmii-id

      # RGMII with internal RX delay provided by the PHY, the MAC
      # should not add an RX delay in this case
      - rgmii-rxid

      # RGMII with internal TX delay provided by the PHY, the MAC
      # should not add an TX delay in this case
      - rgmii-txid
      - rtbi
      - smii
      - xgmii
      - trgmii
      - 1000base-x
      - 2500base-x
      - 5gbase-r
      - rxaui
      - xaui

      # 10GBASE-KR, XFI, SFI
      - 10gbase-kr
      - usxgmii
      - 10gbase-r

  phy-mode:
    $ref: "#/properties/phy-connection-type"

  phy-handle:
    $ref: /schemas/types.yaml#/definitions/phandle
    description:
      Specifies a reference to a node representing a PHY device.

  phy:
    $ref: "#/properties/phy-handle"
    deprecated: true

  phy-device:
    $ref: "#/properties/phy-handle"
    deprecated: true

  rx-fifo-depth:
    $ref: /schemas/types.yaml#/definitions/uint32
    description:
      The size of the controller\'s receive fifo in bytes. This is used
      for components that can have configurable receive fifo sizes,
      and is useful for determining certain configuration settings
      such as flow control thresholds.

  rx-internal-delay-ps:
    description: |
      RGMII Receive Clock Delay defined in pico seconds.
      This is used for controllers that have configurable RX internal delays.
      If this property is present then the MAC applies the RX delay.

  sfp:
    $ref: /schemas/types.yaml#/definitions/phandle
    description:
      Specifies a reference to a node representing a SFP cage.

  tx-fifo-depth:
    $ref: /schemas/types.yaml#/definitions/uint32
    description:
      The size of the controller\'s transmit fifo in bytes. This
      is used for components that can have configurable fifo sizes.

  tx-internal-delay-ps:
    description: |
      RGMII Transmit Clock Delay defined in pico seconds.
      This is used for controllers that have configurable TX internal delays.
      If this property is present then the MAC applies the TX delay.

  managed:
    description:
      Specifies the PHY management type. If auto is set and fixed-link
      is not specified, it uses MDIO for management.
    $ref: /schemas/types.yaml#/definitions/string
    default: auto
    enum:
      - auto
      - in-band-status

  fixed-link:
    allOf:
      - if:
          type: array
        then:
          deprecated: true
          minItems: 1
          maxItems: 1
          items:
            items:
              - minimum: 0
                maximum: 31
                description:
                  Emulated PHY ID, choose any but unique to the all
                  specified fixed-links

              - enum: [0, 1]
                description:
                  Duplex configuration. 0 for half duplex or 1 for
                  full duplex

              - enum: [10, 100, 1000]
                description:
                  Link speed in Mbits/sec.

              - enum: [0, 1]
                description:
                  Pause configuration. 0 for no pause, 1 for pause

              - enum: [0, 1]
                description:
                  Asymmetric pause configuration. 0 for no asymmetric
                  pause, 1 for asymmetric pause


      - if:
          type: object
        then:
          properties:
            speed:
              description:
                Link speed.
              $ref: /schemas/types.yaml#/definitions/uint32
              enum: [10, 100, 1000]

            full-duplex:
              $ref: /schemas/types.yaml#/definitions/flag
              description:
                Indicates that full-duplex is used. When absent, half
                duplex is assumed.

            pause:
              $ref: /schemas/types.yaml#definitions/flag
              description:
                Indicates that pause should be enabled.

            asym-pause:
              $ref: /schemas/types.yaml#/definitions/flag
              description:
                Indicates that asym_pause should be enabled.

            link-gpios:
              maxItems: 1
              description:
                GPIO to determine if the link is up

          required:
            - speed

additionalProperties: true

...
