0001 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: "http://devicetree.org/schemas/phy/brcm,sata-phy.yaml#"
0005 $schema: "http://devicetree.org/meta-schemas/core.yaml#"
0006
0007 title: Broadcom SATA3 PHY
0008
0009 maintainers:
0010 - Florian Fainelli <f.fainelli@gmail.com>
0011
0012 properties:
0013 $nodename:
0014 pattern: "^sata[-|_]phy(@.*)?$"
0015
0016 compatible:
0017 oneOf:
0018 - items:
0019 - enum:
0020 - brcm,bcm7216-sata-phy
0021 - brcm,bcm7425-sata-phy
0022 - brcm,bcm7445-sata-phy
0023 - brcm,bcm63138-sata-phy
0024 - const: brcm,phy-sata3
0025 - items:
0026 - const: brcm,iproc-nsp-sata-phy
0027 - items:
0028 - const: brcm,iproc-ns2-sata-phy
0029 - items:
0030 - const: brcm,iproc-sr-sata-phy
0031
0032 reg:
0033 minItems: 1
0034 maxItems: 2
0035
0036 reg-names:
0037 minItems: 1
0038 items:
0039 - const: phy
0040 - const: phy-ctrl
0041
0042 "#address-cells":
0043 const: 1
0044
0045 "#size-cells":
0046 const: 0
0047
0048 patternProperties:
0049 "^sata-phy@[0-9]+$":
0050 type: object
0051 description: |
0052 Each port's PHY should be represented as a sub-node.
0053
0054 properties:
0055 reg:
0056 description: The SATA PHY port number
0057 maxItems: 1
0058
0059 "#phy-cells":
0060 const: 0
0061
0062 "brcm,enable-ssc":
0063 $ref: /schemas/types.yaml#/definitions/flag
0064 description: |
0065 Use spread spectrum clocking (SSC) on this port
0066 This property is not applicable for "brcm,iproc-ns2-sata-phy",
0067 "brcm,iproc-nsp-sata-phy" and "brcm,iproc-sr-sata-phy".
0068
0069 "brcm,rxaeq-mode":
0070 $ref: /schemas/types.yaml#/definitions/string
0071 description:
0072 String that indicates the desired RX equalizer mode.
0073 enum:
0074 - off
0075 - auto
0076 - manual
0077
0078 "brcm,rxaeq-value":
0079 $ref: /schemas/types.yaml#/definitions/uint32
0080 description: |
0081 When 'brcm,rxaeq-mode' is set to "manual", provides the RX
0082 equalizer value that should be used.
0083 minimum: 0
0084 maximum: 63
0085
0086 "brcm,tx-amplitude-millivolt":
0087 description: |
0088 Transmit amplitude voltage in millivolt.
0089 $ref: /schemas/types.yaml#/definitions/uint32
0090 enum: [400, 500, 600, 800]
0091
0092 required:
0093 - reg
0094 - "#phy-cells"
0095
0096 additionalProperties: false
0097
0098 if:
0099 properties:
0100 compatible:
0101 const: brcm,iproc-ns2-sata-phy
0102 then:
0103 properties:
0104 reg:
0105 minItems: 2
0106
0107 reg-names:
0108 minItems: 2
0109 else:
0110 properties:
0111 reg:
0112 maxItems: 1
0113
0114 reg-names:
0115 maxItems: 1
0116
0117 required:
0118 - compatible
0119 - "#address-cells"
0120 - "#size-cells"
0121 - reg
0122 - reg-names
0123
0124 additionalProperties: false
0125
0126 examples:
0127 - |
0128 sata_phy@f0458100 {
0129 compatible = "brcm,bcm7445-sata-phy", "brcm,phy-sata3";
0130 reg = <0xf0458100 0x1e00>;
0131 reg-names = "phy";
0132 #address-cells = <1>;
0133 #size-cells = <0>;
0134
0135 sata-phy@0 {
0136 reg = <0>;
0137 #phy-cells = <0>;
0138 };
0139
0140 sata-phy@1 {
0141 reg = <1>;
0142 #phy-cells = <0>;
0143 };
0144 };