147 lines
3.1 KiB
YAML
147 lines
3.1 KiB
YAML
|
# 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:
|
||
|
maxItems: 2
|
||
|
reg-names:
|
||
|
items:
|
||
|
- const: "phy"
|
||
|
- const: "phy-ctrl"
|
||
|
else:
|
||
|
properties:
|
||
|
reg:
|
||
|
maxItems: 1
|
||
|
reg-names:
|
||
|
maxItems: 1
|
||
|
items:
|
||
|
- const: "phy"
|
||
|
|
||
|
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>;
|
||
|
};
|
||
|
};
|