1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/net/qcom,qca807x.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Qualcomm QCA807x Ethernet PHY 8 9maintainers: 10 - Christian Marangi <ansuelsmth@gmail.com> 11 - Robert Marko <robert.marko@sartura.hr> 12 13description: | 14 Qualcomm QCA8072/5 Ethernet PHY is PHY package of 2 or 5 15 IEEE 802.3 clause 22 compliant 10BASE-Te, 100BASE-TX and 16 1000BASE-T PHY-s. 17 18 They feature 2 SerDes, one for PSGMII or QSGMII connection with 19 MAC, while second one is SGMII for connection to MAC or fiber. 20 21 Both models have a combo port that supports 1000BASE-X and 22 100BASE-FX fiber. 23 24 Each PHY inside of QCA807x series has 4 digitally controlled 25 output only pins that natively drive LED-s for up to 2 attached 26 LEDs. Some vendor also use these 4 output for GPIO usage without 27 attaching LEDs. 28 29 Note that output pins can be set to drive LEDs OR GPIO, mixed 30 definition are not accepted. 31 32$ref: ethernet-phy-package.yaml# 33 34properties: 35 compatible: 36 enum: 37 - qcom,qca8072-package 38 - qcom,qca8075-package 39 40 qcom,package-mode: 41 description: | 42 PHY package can be configured in 3 mode following this table: 43 44 First Serdes mode Second Serdes mode 45 Option 1 PSGMII for copper Disabled 46 ports 0-4 47 Option 2 PSGMII for copper 1000BASE-X / 100BASE-FX 48 ports 0-4 49 Option 3 QSGMII for copper SGMII for 50 ports 0-3 copper port 4 51 52 PSGMII mode (option 1 or 2) is configured dynamically based on 53 the presence of a connected SFP device. 54 $ref: /schemas/types.yaml#/definitions/string 55 enum: 56 - qsgmii 57 - psgmii 58 default: psgmii 59 60 qcom,tx-drive-strength-milliwatt: 61 description: set the TX Amplifier value in mv. 62 $ref: /schemas/types.yaml#/definitions/uint32 63 enum: [140, 160, 180, 200, 220, 64 240, 260, 280, 300, 320, 65 400, 500, 600] 66 default: 600 67 68patternProperties: 69 ^ethernet-phy@[a-f0-9]+$: 70 $ref: ethernet-phy.yaml# 71 72 properties: 73 qcom,dac-full-amplitude: 74 description: 75 Set Analog MDI driver amplitude to FULL. 76 77 With this not defined, amplitude is set to DSP. 78 (amplitude is adjusted based on cable length) 79 80 With this enabled and qcom,dac-full-bias-current 81 and qcom,dac-disable-bias-current-tweak disabled, 82 bias current is half. 83 type: boolean 84 85 qcom,dac-full-bias-current: 86 description: 87 Set Analog MDI driver bias current to FULL. 88 89 With this not defined, bias current is set to DSP. 90 (bias current is adjusted based on cable length) 91 92 Actual bias current might be different with 93 qcom,dac-disable-bias-current-tweak disabled. 94 type: boolean 95 96 qcom,dac-disable-bias-current-tweak: 97 description: | 98 Set Analog MDI driver bias current to disable tweak 99 to bias current. 100 101 With this not defined, bias current tweak are enabled 102 by default. 103 104 With this enabled the following tweak are NOT applied: 105 - With both FULL amplitude and FULL bias current: bias current 106 is set to half. 107 - With only DSP amplitude: bias current is set to half and 108 is set to 1/4 with cable < 10m. 109 - With DSP bias current (included both DSP amplitude and 110 DSP bias current): bias current is half the detected current 111 with cable < 10m. 112 type: boolean 113 114 gpio-controller: true 115 116 '#gpio-cells': 117 const: 2 118 119 if: 120 required: 121 - gpio-controller 122 then: 123 properties: 124 leds: false 125 126 unevaluatedProperties: false 127 128required: 129 - compatible 130 131unevaluatedProperties: false 132 133examples: 134 - | 135 #include <dt-bindings/leds/common.h> 136 137 mdio { 138 #address-cells = <1>; 139 #size-cells = <0>; 140 141 ethernet-phy-package@0 { 142 #address-cells = <1>; 143 #size-cells = <0>; 144 compatible = "qcom,qca8075-package"; 145 reg = <0>; 146 147 qcom,package-mode = "qsgmii"; 148 149 ethernet-phy@0 { 150 reg = <0>; 151 152 leds { 153 #address-cells = <1>; 154 #size-cells = <0>; 155 156 led@0 { 157 reg = <0>; 158 color = <LED_COLOR_ID_GREEN>; 159 function = LED_FUNCTION_LAN; 160 default-state = "keep"; 161 }; 162 }; 163 }; 164 165 ethernet-phy@1 { 166 reg = <1>; 167 }; 168 169 ethernet-phy@2 { 170 reg = <2>; 171 172 gpio-controller; 173 #gpio-cells = <2>; 174 }; 175 176 ethernet-phy@3 { 177 reg = <3>; 178 }; 179 180 ethernet-phy@4 { 181 reg = <4>; 182 }; 183 }; 184 }; 185