# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/qcom,qca807x.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Qualcomm QCA807x Ethernet PHY

maintainers:
  - Christian Marangi <ansuelsmth@gmail.com>
  - Robert Marko <robert.marko@sartura.hr>

description: |
  Qualcomm QCA8072/5 Ethernet PHY is PHY package of 2 or 5
  IEEE 802.3 clause 22 compliant 10BASE-Te, 100BASE-TX and
  1000BASE-T PHY-s.

  They feature 2 SerDes, one for PSGMII or QSGMII connection with
  MAC, while second one is SGMII for connection to MAC or fiber.

  Both models have a combo port that supports 1000BASE-X and
  100BASE-FX fiber.

  Each PHY inside of QCA807x series has 4 digitally controlled
  output only pins that natively drive LED-s for up to 2 attached
  LEDs. Some vendor also use these 4 output for GPIO usage without
  attaching LEDs.

  Note that output pins can be set to drive LEDs OR GPIO, mixed
  definition are not accepted.

$ref: ethernet-phy-package.yaml#

properties:
  compatible:
    enum:
      - qcom,qca8072-package
      - qcom,qca8075-package

  qcom,package-mode:
    description: |
      PHY package can be configured in 3 mode following this table:

                    First Serdes mode       Second Serdes mode
      Option 1      PSGMII for copper       Disabled
                    ports 0-4
      Option 2      PSGMII for copper       1000BASE-X / 100BASE-FX
                    ports 0-4
      Option 3      QSGMII for copper       SGMII for
                    ports 0-3               copper port 4

      PSGMII mode (option 1 or 2) is configured dynamically based on
      the presence of a connected SFP device.
    $ref: /schemas/types.yaml#/definitions/string
    enum:
      - qsgmii
      - psgmii
    default: psgmii

  qcom,tx-drive-strength-milliwatt:
    description: set the TX Amplifier value in mv.
    $ref: /schemas/types.yaml#/definitions/uint32
    enum: [140, 160, 180, 200, 220,
           240, 260, 280, 300, 320,
           400, 500, 600]
    default: 600

patternProperties:
  ^ethernet-phy@[a-f0-9]+$:
    $ref: ethernet-phy.yaml#

    properties:
      qcom,dac-full-amplitude:
        description:
          Set Analog MDI driver amplitude to FULL.

          With this not defined, amplitude is set to DSP.
          (amplitude is adjusted based on cable length)

          With this enabled and qcom,dac-full-bias-current
          and qcom,dac-disable-bias-current-tweak disabled,
          bias current is half.
        type: boolean

      qcom,dac-full-bias-current:
        description:
          Set Analog MDI driver bias current to FULL.

          With this not defined, bias current is set to DSP.
          (bias current is adjusted based on cable length)

          Actual bias current might be different with
          qcom,dac-disable-bias-current-tweak disabled.
        type: boolean

      qcom,dac-disable-bias-current-tweak:
        description: |
          Set Analog MDI driver bias current to disable tweak
          to bias current.

          With this not defined, bias current tweak are enabled
          by default.

          With this enabled the following tweak are NOT applied:
          - With both FULL amplitude and FULL bias current: bias current
            is set to half.
          - With only DSP amplitude: bias current is set to half and
            is set to 1/4 with cable < 10m.
          - With DSP bias current (included both DSP amplitude and
            DSP bias current): bias current is half the detected current
            with cable < 10m.
        type: boolean

      gpio-controller: true

      '#gpio-cells':
        const: 2

    if:
      required:
        - gpio-controller
    then:
      properties:
        leds: false

    unevaluatedProperties: false

required:
  - compatible

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/leds/common.h>

    mdio {
        #address-cells = <1>;
        #size-cells = <0>;

        ethernet-phy-package@0 {
            #address-cells = <1>;
            #size-cells = <0>;
            compatible = "qcom,qca8075-package";
            reg = <0>;

            qcom,package-mode = "qsgmii";

            ethernet-phy@0 {
                reg = <0>;

                leds {
                    #address-cells = <1>;
                    #size-cells = <0>;

                    led@0 {
                        reg = <0>;
                        color = <LED_COLOR_ID_GREEN>;
                        function = LED_FUNCTION_LAN;
                        default-state = "keep";
                    };
                };
            };

            ethernet-phy@1 {
                reg = <1>;
            };

            ethernet-phy@2 {
                reg = <2>;

                gpio-controller;
                #gpio-cells = <2>;
            };

            ethernet-phy@3 {
                reg = <3>;
            };

            ethernet-phy@4 {
                reg = <4>;
            };
        };
    };
