Back to home page

OSCL-LXR

 
 

    


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     };