185 lines
4.9 KiB
YAML
185 lines
4.9 KiB
YAML
|
# 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>;
|
||
|
};
|
||
|
};
|
||
|
};
|