xref: /freebsd/sys/contrib/device-tree/Bindings/phy/brcm,sata-phy.yaml (revision fac71e4e09885bb2afa3d984a0c239a52e1a7418)
15def4c47SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
25def4c47SEmmanuel Vadot%YAML 1.2
35def4c47SEmmanuel Vadot---
4*fac71e4eSEmmanuel Vadot$id: http://devicetree.org/schemas/phy/brcm,sata-phy.yaml#
5*fac71e4eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
65def4c47SEmmanuel Vadot
75def4c47SEmmanuel Vadottitle: Broadcom SATA3 PHY
85def4c47SEmmanuel Vadot
95def4c47SEmmanuel Vadotmaintainers:
105def4c47SEmmanuel Vadot  - Florian Fainelli <f.fainelli@gmail.com>
115def4c47SEmmanuel Vadot
125def4c47SEmmanuel Vadotproperties:
135def4c47SEmmanuel Vadot  $nodename:
145def4c47SEmmanuel Vadot    pattern: "^sata[-|_]phy(@.*)?$"
155def4c47SEmmanuel Vadot
165def4c47SEmmanuel Vadot  compatible:
175def4c47SEmmanuel Vadot    oneOf:
185def4c47SEmmanuel Vadot      - items:
195def4c47SEmmanuel Vadot          - enum:
205def4c47SEmmanuel Vadot              - brcm,bcm7216-sata-phy
215def4c47SEmmanuel Vadot              - brcm,bcm7425-sata-phy
225def4c47SEmmanuel Vadot              - brcm,bcm7445-sata-phy
235def4c47SEmmanuel Vadot              - brcm,bcm63138-sata-phy
245def4c47SEmmanuel Vadot          - const: brcm,phy-sata3
255def4c47SEmmanuel Vadot      - items:
265def4c47SEmmanuel Vadot          - const: brcm,iproc-nsp-sata-phy
275def4c47SEmmanuel Vadot      - items:
285def4c47SEmmanuel Vadot          - const: brcm,iproc-ns2-sata-phy
295def4c47SEmmanuel Vadot      - items:
305def4c47SEmmanuel Vadot          - const: brcm,iproc-sr-sata-phy
315def4c47SEmmanuel Vadot
325def4c47SEmmanuel Vadot  reg:
335def4c47SEmmanuel Vadot    minItems: 1
345def4c47SEmmanuel Vadot    maxItems: 2
355def4c47SEmmanuel Vadot
365def4c47SEmmanuel Vadot  reg-names:
375def4c47SEmmanuel Vadot    minItems: 1
385def4c47SEmmanuel Vadot    items:
395def4c47SEmmanuel Vadot      - const: phy
405def4c47SEmmanuel Vadot      - const: phy-ctrl
415def4c47SEmmanuel Vadot
425def4c47SEmmanuel Vadot  "#address-cells":
435def4c47SEmmanuel Vadot    const: 1
445def4c47SEmmanuel Vadot
455def4c47SEmmanuel Vadot  "#size-cells":
465def4c47SEmmanuel Vadot    const: 0
475def4c47SEmmanuel Vadot
485def4c47SEmmanuel VadotpatternProperties:
495def4c47SEmmanuel Vadot  "^sata-phy@[0-9]+$":
505def4c47SEmmanuel Vadot    type: object
515def4c47SEmmanuel Vadot    description: |
525def4c47SEmmanuel Vadot      Each port's PHY should be represented as a sub-node.
535def4c47SEmmanuel Vadot
545def4c47SEmmanuel Vadot    properties:
555def4c47SEmmanuel Vadot      reg:
565def4c47SEmmanuel Vadot        description: The SATA PHY port number
575def4c47SEmmanuel Vadot        maxItems: 1
585def4c47SEmmanuel Vadot
595def4c47SEmmanuel Vadot      "#phy-cells":
605def4c47SEmmanuel Vadot        const: 0
615def4c47SEmmanuel Vadot
625def4c47SEmmanuel Vadot      "brcm,enable-ssc":
635def4c47SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/flag
645def4c47SEmmanuel Vadot        description: |
655def4c47SEmmanuel Vadot          Use spread spectrum clocking (SSC) on this port
665def4c47SEmmanuel Vadot          This property is not applicable for "brcm,iproc-ns2-sata-phy",
675def4c47SEmmanuel Vadot          "brcm,iproc-nsp-sata-phy" and "brcm,iproc-sr-sata-phy".
685def4c47SEmmanuel Vadot
695def4c47SEmmanuel Vadot      "brcm,rxaeq-mode":
705def4c47SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/string
715def4c47SEmmanuel Vadot        description:
725def4c47SEmmanuel Vadot          String that indicates the desired RX equalizer mode.
735def4c47SEmmanuel Vadot        enum:
745def4c47SEmmanuel Vadot          - off
755def4c47SEmmanuel Vadot          - auto
765def4c47SEmmanuel Vadot          - manual
775def4c47SEmmanuel Vadot
785def4c47SEmmanuel Vadot      "brcm,rxaeq-value":
795def4c47SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
805def4c47SEmmanuel Vadot        description: |
815def4c47SEmmanuel Vadot            When 'brcm,rxaeq-mode' is set to "manual", provides the RX
825def4c47SEmmanuel Vadot            equalizer value that should be used.
835def4c47SEmmanuel Vadot        minimum: 0
845def4c47SEmmanuel Vadot        maximum: 63
855def4c47SEmmanuel Vadot
865def4c47SEmmanuel Vadot      "brcm,tx-amplitude-millivolt":
875def4c47SEmmanuel Vadot        description: |
885def4c47SEmmanuel Vadot            Transmit amplitude voltage in millivolt.
895def4c47SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
905def4c47SEmmanuel Vadot        enum: [400, 500, 600, 800]
915def4c47SEmmanuel Vadot
925def4c47SEmmanuel Vadot    required:
935def4c47SEmmanuel Vadot      - reg
945def4c47SEmmanuel Vadot      - "#phy-cells"
955def4c47SEmmanuel Vadot
965def4c47SEmmanuel Vadot    additionalProperties: false
975def4c47SEmmanuel Vadot
985def4c47SEmmanuel Vadotif:
995def4c47SEmmanuel Vadot  properties:
1005def4c47SEmmanuel Vadot    compatible:
1015def4c47SEmmanuel Vadot      const: brcm,iproc-ns2-sata-phy
1025def4c47SEmmanuel Vadotthen:
1035def4c47SEmmanuel Vadot  properties:
1045def4c47SEmmanuel Vadot    reg:
105c9ccf3a3SEmmanuel Vadot      minItems: 2
106c9ccf3a3SEmmanuel Vadot
1075def4c47SEmmanuel Vadot    reg-names:
108c9ccf3a3SEmmanuel Vadot      minItems: 2
1095def4c47SEmmanuel Vadotelse:
1105def4c47SEmmanuel Vadot  properties:
1115def4c47SEmmanuel Vadot    reg:
1125def4c47SEmmanuel Vadot      maxItems: 1
113c9ccf3a3SEmmanuel Vadot
1145def4c47SEmmanuel Vadot    reg-names:
1155def4c47SEmmanuel Vadot      maxItems: 1
1165def4c47SEmmanuel Vadot
1175def4c47SEmmanuel Vadotrequired:
1185def4c47SEmmanuel Vadot  - compatible
1195def4c47SEmmanuel Vadot  - "#address-cells"
1205def4c47SEmmanuel Vadot  - "#size-cells"
1215def4c47SEmmanuel Vadot  - reg
1225def4c47SEmmanuel Vadot  - reg-names
1235def4c47SEmmanuel Vadot
1245def4c47SEmmanuel VadotadditionalProperties: false
1255def4c47SEmmanuel Vadot
1265def4c47SEmmanuel Vadotexamples:
1275def4c47SEmmanuel Vadot  - |
1285def4c47SEmmanuel Vadot    sata_phy@f0458100 {
1295def4c47SEmmanuel Vadot        compatible = "brcm,bcm7445-sata-phy", "brcm,phy-sata3";
1305def4c47SEmmanuel Vadot        reg = <0xf0458100 0x1e00>;
1315def4c47SEmmanuel Vadot        reg-names = "phy";
1325def4c47SEmmanuel Vadot        #address-cells = <1>;
1335def4c47SEmmanuel Vadot        #size-cells = <0>;
1345def4c47SEmmanuel Vadot
1355def4c47SEmmanuel Vadot        sata-phy@0 {
1365def4c47SEmmanuel Vadot                reg = <0>;
1375def4c47SEmmanuel Vadot                #phy-cells = <0>;
1385def4c47SEmmanuel Vadot        };
1395def4c47SEmmanuel Vadot
1405def4c47SEmmanuel Vadot        sata-phy@1 {
1415def4c47SEmmanuel Vadot                reg = <1>;
1425def4c47SEmmanuel Vadot                #phy-cells = <0>;
1435def4c47SEmmanuel Vadot        };
1445def4c47SEmmanuel Vadot    };
145