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