# 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 Common Properties

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

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

  label:
    description: Human readable label on a port of a box.

  local-mac-address:
    description:
      Specifies the MAC address that was assigned to the network device.
    $ref: /schemas/types.yaml#/definitions/uint8-array
    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
    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
      - psgmii
      - qsgmii
      - qusgmii
      - tbi
      - rev-mii
      - rmii
      - rev-rmii
      - moca

      # 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
      - 25gbase-r

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

  pcs-handle:
    $ref: /schemas/types.yaml#/definitions/phandle-array
    items:
      maxItems: 1
    description:
      Specifies a reference to a node representing a PCS PHY device on a MDIO
      bus to link with an external PHY (phy-handle) if exists.

  pcs-handle-names:
    description:
      The name of each PCS in pcs-handle.

  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.

  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.

  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:
    oneOf:
      - $ref: /schemas/types.yaml#/definitions/uint32-array
        deprecated: true
        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, 2500, 10000]
            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
      - type: object
        additionalProperties: false
        properties:
          speed:
            description:
              Link speed.
            $ref: /schemas/types.yaml#/definitions/uint32
            enum: [10, 100, 1000, 2500, 10000]

          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

  leds:
    description:
      Describes the LEDs associated by Ethernet Controller.
      These LEDs are not integrated in the PHY and PHY doesn't have any
      control on them. Ethernet Controller regs are used to control
      these defined LEDs.

    type: object

    properties:
      '#address-cells':
        const: 1

      '#size-cells':
        const: 0

    patternProperties:
      '^led@[a-f0-9]+$':
        $ref: /schemas/leds/common.yaml#

        properties:
          reg:
            maxItems: 1
            description:
              This define the LED index in the PHY or the MAC. It's really
              driver dependent and required for ports that define multiple
              LED for the same port.

        required:
          - reg

        unevaluatedProperties: false

    additionalProperties: false

dependencies:
  pcs-handle-names: [pcs-handle]

allOf:
  - if:
      properties:
        phy-mode:
          contains:
            enum:
              - rgmii
              - rgmii-rxid
              - rgmii-txid
              - rgmii-id
    then:
      properties:
        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.
        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.

additionalProperties: true

...
