This is an automatically generated commit which aids following Kernel patch history, as git will see the move and copy as a rename thus defeating the purpose. For the original discussion see: https://lists.openwrt.org/pipermail/openwrt-devel/2023-October/041673.html Signed-off-by: Julius Bairaktaris <julius@bairaktaris.de> Link: https://github.com/openwrt/openwrt/pull/24031 Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
90 lines
3 KiB
Diff
90 lines
3 KiB
Diff
From 82eaf94d69fce20f8859a2b8dae8e7064d9343da Mon Sep 17 00:00:00 2001
|
|
From: George Moussalem <george.moussalem@outlook.com>
|
|
Date: Fri, 13 Jun 2025 05:55:07 +0400
|
|
Subject: [PATCH] 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>
|
|
---
|
|
.../devicetree/bindings/net/qca,ar803x.yaml | 43 +++++++++++++++++++
|
|
1 file changed, 43 insertions(+)
|
|
|
|
--- a/Documentation/devicetree/bindings/net/qca,ar803x.yaml
|
|
+++ b/Documentation/devicetree/bindings/net/qca,ar803x.yaml
|
|
@@ -16,8 +16,37 @@ description: |
|
|
|
|
allOf:
|
|
- $ref: ethernet-phy.yaml#
|
|
+ - if:
|
|
+ properties:
|
|
+ compatible:
|
|
+ contains:
|
|
+ enum:
|
|
+ - ethernet-phy-id004d.d0c0
|
|
+
|
|
+ then:
|
|
+ properties:
|
|
+ reg:
|
|
+ const: 7 # This PHY is always at MDIO address 7 in the IPQ5018 SoC
|
|
+
|
|
+ resets:
|
|
+ items:
|
|
+ - description:
|
|
+ GE PHY MISC reset which triggers a reset across MDC, DSP, RX, and TX lines.
|
|
+
|
|
+ qcom,dac-preset-short-cable:
|
|
+ description:
|
|
+ Set if this phy is connected to another phy to adjust the values for
|
|
+ MDAC and EDAC to adjust amplitude, bias current settings, and error
|
|
+ detection and correction algorithm to accommodate for short cable length.
|
|
+ If not set, DAC values are not modified and it is assumed the MDI output pins
|
|
+ of this PHY are directly connected to an RJ45 connector.
|
|
+ type: boolean
|
|
|
|
properties:
|
|
+ compatible:
|
|
+ enum:
|
|
+ - ethernet-phy-id004d.d0c0
|
|
+
|
|
qca,clk-out-frequency:
|
|
description: Clock output frequency in Hertz.
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
@@ -132,3 +161,17 @@ examples:
|
|
};
|
|
};
|
|
};
|
|
+ - |
|
|
+ #include <dt-bindings/reset/qcom,gcc-ipq5018.h>
|
|
+
|
|
+ mdio {
|
|
+ #address-cells = <1>;
|
|
+ #size-cells = <0>;
|
|
+
|
|
+ ge_phy: ethernet-phy@7 {
|
|
+ compatible = "ethernet-phy-id004d.d0c0";
|
|
+ reg = <7>;
|
|
+
|
|
+ resets = <&gcc GCC_GEPHY_MISC_ARES>;
|
|
+ };
|
|
+ };
|