Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings: net: qca,ar803x: Add IPQ5018 Internal GE PHY support

Document the IPQ5018 Internal Gigabit Ethernet PHY found in the IPQ5018
SoC. Its output pins provide an MDI interface to either an external
switch in a PHY to PHY link scenario or is directly attached to an RJ45
connector.

The PHY supports 10/100/1000 mbps link modes, CDT, auto-negotiation and
802.3az EEE.

For operation, the LDO controller found in the IPQ5018 SoC for which
there is provision in the mdio-4019 driver.

Two common archictures across IPQ5018 boards are:
1. IPQ5018 PHY --> MDI --> RJ45 connector
2. IPQ5018 PHY --> MDI --> External PHY
In a phy to phy architecture, the DAC needs to be configured to
accommodate for the short cable length. As such, add an optional boolean
property so the driver sets preset DAC register values accordingly.

Signed-off-by: George Moussalem <george.moussalem@outlook.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://patch.msgid.link/20250613-ipq5018-ge-phy-v5-1-9af06e34ea6b@outlook.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>

authored by

George Moussalem and committed by
Jakub Kicinski
82eaf94d 27390db9

+43
+43
Documentation/devicetree/bindings/net/qca,ar803x.yaml
··· 16 16 17 17 allOf: 18 18 - $ref: ethernet-phy.yaml# 19 + - if: 20 + properties: 21 + compatible: 22 + contains: 23 + enum: 24 + - ethernet-phy-id004d.d0c0 25 + 26 + then: 27 + properties: 28 + reg: 29 + const: 7 # This PHY is always at MDIO address 7 in the IPQ5018 SoC 30 + 31 + resets: 32 + items: 33 + - description: 34 + GE PHY MISC reset which triggers a reset across MDC, DSP, RX, and TX lines. 35 + 36 + qcom,dac-preset-short-cable: 37 + description: 38 + Set if this phy is connected to another phy to adjust the values for 39 + MDAC and EDAC to adjust amplitude, bias current settings, and error 40 + detection and correction algorithm to accommodate for short cable length. 41 + If not set, DAC values are not modified and it is assumed the MDI output pins 42 + of this PHY are directly connected to an RJ45 connector. 43 + type: boolean 19 44 20 45 properties: 46 + compatible: 47 + enum: 48 + - ethernet-phy-id004d.d0c0 49 + 21 50 qca,clk-out-frequency: 22 51 description: Clock output frequency in Hertz. 23 52 $ref: /schemas/types.yaml#/definitions/uint32 ··· 159 130 160 131 vddh: vddh-regulator { 161 132 }; 133 + }; 134 + }; 135 + - | 136 + #include <dt-bindings/reset/qcom,gcc-ipq5018.h> 137 + 138 + mdio { 139 + #address-cells = <1>; 140 + #size-cells = <0>; 141 + 142 + ge_phy: ethernet-phy@7 { 143 + compatible = "ethernet-phy-id004d.d0c0"; 144 + reg = <7>; 145 + 146 + resets = <&gcc GCC_GEPHY_MISC_ARES>; 162 147 }; 163 148 };