# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: "http://devicetree.org/schemas/phy/brcm,sata-phy.yaml#"
$schema: "http://devicetree.org/meta-schemas/core.yaml#"

title: Broadcom SATA3 PHY

maintainers:
  - Florian Fainelli <f.fainelli@gmail.com>

properties:
  $nodename:
    pattern: "^sata[-|_]phy(@.*)?$"

  compatible:
    oneOf:
      - items:
          - enum:
              - brcm,bcm7216-sata-phy
              - brcm,bcm7425-sata-phy
              - brcm,bcm7445-sata-phy
              - brcm,bcm63138-sata-phy
          - const: brcm,phy-sata3
      - items:
          - const: brcm,iproc-nsp-sata-phy
      - items:
          - const: brcm,iproc-ns2-sata-phy
      - items:
          - const: brcm,iproc-sr-sata-phy

  reg:
    minItems: 1
    maxItems: 2

  reg-names:
    minItems: 1
    items:
      - const: phy
      - const: phy-ctrl

  "#address-cells":
    const: 1

  "#size-cells":
    const: 0

patternProperties:
  "^sata-phy@[0-9]+$":
    type: object
    description: |
      Each port's PHY should be represented as a sub-node.

    properties:
      reg:
        description: The SATA PHY port number
        maxItems: 1

      "#phy-cells":
        const: 0

      "brcm,enable-ssc":
        $ref: /schemas/types.yaml#/definitions/flag
        description: |
          Use spread spectrum clocking (SSC) on this port
          This property is not applicable for "brcm,iproc-ns2-sata-phy",
          "brcm,iproc-nsp-sata-phy" and "brcm,iproc-sr-sata-phy".

      "brcm,rxaeq-mode":
        $ref: /schemas/types.yaml#/definitions/string
        description:
          String that indicates the desired RX equalizer mode.
        enum:
          - off
          - auto
          - manual

      "brcm,rxaeq-value":
        $ref: /schemas/types.yaml#/definitions/uint32
        description: |
            When 'brcm,rxaeq-mode' is set to "manual", provides the RX
            equalizer value that should be used.
        minimum: 0
        maximum: 63

      "brcm,tx-amplitude-millivolt":
        description: |
            Transmit amplitude voltage in millivolt.
        $ref: /schemas/types.yaml#/definitions/uint32
        enum: [400, 500, 600, 800]

    required:
      - reg
      - "#phy-cells"

    additionalProperties: false

if:
  properties:
    compatible:
      const: brcm,iproc-ns2-sata-phy
then:
  properties:
    reg:
      minItems: 2

    reg-names:
      minItems: 2
else:
  properties:
    reg:
      maxItems: 1

    reg-names:
      maxItems: 1

required:
  - compatible
  - "#address-cells"
  - "#size-cells"
  - reg
  - reg-names

additionalProperties: false

examples:
  - |
    sata_phy@f0458100 {
        compatible = "brcm,bcm7445-sata-phy", "brcm,phy-sata3";
        reg = <0xf0458100 0x1e00>;
        reg-names = "phy";
        #address-cells = <1>;
        #size-cells = <0>;

        sata-phy@0 {
                reg = <0>;
                #phy-cells = <0>;
        };

        sata-phy@1 {
                reg = <1>;
                #phy-cells = <0>;
        };
    };
