# 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 - Robert Marko 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 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 = ; 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>; }; }; };