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