forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
146 lines
3.1 KiB
146 lines
3.1 KiB
# 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 <[email protected]> |
|
|
|
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>; |
|
}; |
|
};
|
|
|