| # 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>; | |
| }; | |
| }; | |
| }; |