-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
dt-bindings: net: Document Qcom QCA807x PHY package
Document Qcom QCA807x PHY package. Qualcomm QCA807X Ethernet PHY is PHY package of 2 or 5 IEEE 802.3 clause 22 compliant 10BASE-Te, 100BASE-TX and 1000BASE-T PHY-s. Document the required property to make the PHY package correctly configure and work. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> Reviewed-by: Conor Dooley <conor.dooley@microchip.com> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
- Loading branch information
Christian Marangi
authored and
David S. Miller
committed
Feb 10, 2024
1 parent
737eb75
commit dd87eaa
Showing
1 changed file
with
184 additions
and
0 deletions.
There are no files selected for viewing
184 changes: 184 additions & 0 deletions
184
Documentation/devicetree/bindings/net/qcom,qca807x.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,184 @@ | ||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | ||
%YAML 1.2 | ||
--- | ||
$id: http://devicetree.org/schemas/net/qcom,qca807x.yaml# | ||
$schema: http://devicetree.org/meta-schemas/core.yaml# | ||
|
||
title: Qualcomm QCA807x Ethernet PHY | ||
|
||
maintainers: | ||
- Christian Marangi <ansuelsmth@gmail.com> | ||
- Robert Marko <robert.marko@sartura.hr> | ||
|
||
description: | | ||
Qualcomm QCA8072/5 Ethernet PHY is PHY package of 2 or 5 | ||
IEEE 802.3 clause 22 compliant 10BASE-Te, 100BASE-TX and | ||
1000BASE-T PHY-s. | ||
They feature 2 SerDes, one for PSGMII or QSGMII connection with | ||
MAC, while second one is SGMII for connection to MAC or fiber. | ||
Both models have a combo port that supports 1000BASE-X and | ||
100BASE-FX fiber. | ||
Each PHY inside of QCA807x series has 4 digitally controlled | ||
output only pins that natively drive LED-s for up to 2 attached | ||
LEDs. Some vendor also use these 4 output for GPIO usage without | ||
attaching LEDs. | ||
Note that output pins can be set to drive LEDs OR GPIO, mixed | ||
definition are not accepted. | ||
$ref: ethernet-phy-package.yaml# | ||
|
||
properties: | ||
compatible: | ||
enum: | ||
- qcom,qca8072-package | ||
- qcom,qca8075-package | ||
|
||
qcom,package-mode: | ||
description: | | ||
PHY package can be configured in 3 mode following this table: | ||
First Serdes mode Second Serdes mode | ||
Option 1 PSGMII for copper Disabled | ||
ports 0-4 | ||
Option 2 PSGMII for copper 1000BASE-X / 100BASE-FX | ||
ports 0-4 | ||
Option 3 QSGMII for copper SGMII for | ||
ports 0-3 copper port 4 | ||
PSGMII mode (option 1 or 2) is configured dynamically based on | ||
the presence of a connected SFP device. | ||
$ref: /schemas/types.yaml#/definitions/string | ||
enum: | ||
- qsgmii | ||
- psgmii | ||
default: psgmii | ||
|
||
qcom,tx-drive-strength-milliwatt: | ||
description: set the TX Amplifier value in mv. | ||
$ref: /schemas/types.yaml#/definitions/uint32 | ||
enum: [140, 160, 180, 200, 220, | ||
240, 260, 280, 300, 320, | ||
400, 500, 600] | ||
default: 600 | ||
|
||
patternProperties: | ||
^ethernet-phy@[a-f0-9]+$: | ||
$ref: ethernet-phy.yaml# | ||
|
||
properties: | ||
qcom,dac-full-amplitude: | ||
description: | ||
Set Analog MDI driver amplitude to FULL. | ||
|
||
With this not defined, amplitude is set to DSP. | ||
(amplitude is adjusted based on cable length) | ||
|
||
With this enabled and qcom,dac-full-bias-current | ||
and qcom,dac-disable-bias-current-tweak disabled, | ||
bias current is half. | ||
type: boolean | ||
|
||
qcom,dac-full-bias-current: | ||
description: | ||
Set Analog MDI driver bias current to FULL. | ||
|
||
With this not defined, bias current is set to DSP. | ||
(bias current is adjusted based on cable length) | ||
|
||
Actual bias current might be different with | ||
qcom,dac-disable-bias-current-tweak disabled. | ||
type: boolean | ||
|
||
qcom,dac-disable-bias-current-tweak: | ||
description: | | ||
Set Analog MDI driver bias current to disable tweak | ||
to bias current. | ||
With this not defined, bias current tweak are enabled | ||
by default. | ||
With this enabled the following tweak are NOT applied: | ||
- With both FULL amplitude and FULL bias current: bias current | ||
is set to half. | ||
- With only DSP amplitude: bias current is set to half and | ||
is set to 1/4 with cable < 10m. | ||
- With DSP bias current (included both DSP amplitude and | ||
DSP bias current): bias current is half the detected current | ||
with cable < 10m. | ||
type: boolean | ||
|
||
gpio-controller: true | ||
|
||
'#gpio-cells': | ||
const: 2 | ||
|
||
if: | ||
required: | ||
- gpio-controller | ||
then: | ||
properties: | ||
leds: false | ||
|
||
unevaluatedProperties: false | ||
|
||
required: | ||
- compatible | ||
|
||
unevaluatedProperties: false | ||
|
||
examples: | ||
- | | ||
#include <dt-bindings/leds/common.h> | ||
mdio { | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
ethernet-phy-package@0 { | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
compatible = "qcom,qca8075-package"; | ||
reg = <0>; | ||
qcom,package-mode = "qsgmii"; | ||
ethernet-phy@0 { | ||
reg = <0>; | ||
leds { | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
led@0 { | ||
reg = <0>; | ||
color = <LED_COLOR_ID_GREEN>; | ||
function = LED_FUNCTION_LAN; | ||
default-state = "keep"; | ||
}; | ||
}; | ||
}; | ||
ethernet-phy@1 { | ||
reg = <1>; | ||
}; | ||
ethernet-phy@2 { | ||
reg = <2>; | ||
gpio-controller; | ||
#gpio-cells = <2>; | ||
}; | ||
ethernet-phy@3 { | ||
reg = <3>; | ||
}; | ||
ethernet-phy@4 { | ||
reg = <4>; | ||
}; | ||
}; | ||
}; |