Thread (11 messages) 11 messages, 3 authors, 14d ago

[PATCH net-next 1/3] dt-bindings: net: realtek,rtl82xx: Document RTL8261C/D PHYs

flat view
COOLING14d

From: Simon Polack <hidden>
Date: 2026-09-21 16:19:16
Also in: linux-devicetree, lkml
Subsystem: networking drivers, open firmware and flattened device tree bindings, the rest · Maintainers: Andrew Lunn, "David S. Miller", Eric Dumazet, Jakub Kicinski, Paolo Abeni, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Linus Torvalds

The RTL8261C/D family reports PHY IDs 0x001cc898 (RTL8261C/D),
0x001cc899 (RTL8261CE) and 0x001cc89a (RTL8261D_VM). Add the three
corresponding compatible strings.

These parts drive four LEDs from the VEND2 LED register block, so allow
the leds node for them the way it is already allowed for the RTL8221B.

They also accept the generic tx-polarity and rx-polarity properties to
invert the host-side SerDes lanes, which is needed on boards that route
the USXGMII lanes inverted between the SoC and the PHY. Reference
phy-common-props.yaml so those properties are described, restrict them
to the compatibles that implement them, and add an example using both.

Signed-off-by: Simon Polack <redacted>
Assisted-by: LLM
---
 .../bindings/net/realtek,rtl82xx.yaml         | 52 ++++++++++++++++++-
 1 file changed, 51 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/net/realtek,rtl82xx.yaml b/Documentation/devicetree/bindings/net/realtek,rtl82xx.yaml
index 07b39ef1fc62..b21efcb9b255 100644
--- a/Documentation/devicetree/bindings/net/realtek,rtl82xx.yaml
+++ b/Documentation/devicetree/bindings/net/realtek,rtl82xx.yaml
@@ -27,6 +27,9 @@ properties:
       - ethernet-phy-id001c.c862
       - ethernet-phy-id001c.c878
       - ethernet-phy-id001c.c880
+      - ethernet-phy-id001c.c898
+      - ethernet-phy-id001c.c899
+      - ethernet-phy-id001c.c89a
       - ethernet-phy-id001c.c910
       - ethernet-phy-id001c.c912
       - ethernet-phy-id001c.c913
@@ -74,15 +77,35 @@ unevaluatedProperties: false
 
 allOf:
   - $ref: ethernet-phy.yaml#
+  - $ref: /schemas/phy/phy-common-props.yaml#
   - if:
       not:
         properties:
           compatible:
             contains:
-              const: ethernet-phy-id001c.c916
+              enum:
+                - ethernet-phy-id001c.c898
+                - ethernet-phy-id001c.c899
+                - ethernet-phy-id001c.c89a
+                - ethernet-phy-id001c.c916
     then:
       properties:
         leds: false
+  - if:
+      not:
+        properties:
+          compatible:
+            contains:
+              enum:
+                - ethernet-phy-id001c.c898
+                - ethernet-phy-id001c.c899
+                - ethernet-phy-id001c.c89a
+    then:
+      properties:
+        rx-polarity: false
+        rx-polarity-names: false
+        tx-polarity: false
+        tx-polarity-names: false
 
 examples:
   - |
@@ -96,3 +119,30 @@ examples:
             realtek,aldps-enable;
         };
     };
+
+  - |
+    #include <dt-bindings/leds/common.h>
+    #include <dt-bindings/phy/phy.h>
+
+    mdio {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        ethernet-phy@0 {
+            compatible = "ethernet-phy-id001c.c899";
+            reg = <0>;
+            tx-polarity = <PHY_POL_INVERT>;
+            rx-polarity = <PHY_POL_INVERT>;
+
+            leds {
+                #address-cells = <1>;
+                #size-cells = <0>;
+
+                led@3 {
+                    reg = <3>;
+                    color = <LED_COLOR_ID_GREEN>;
+                    function = LED_FUNCTION_LAN;
+                };
+            };
+        };
+    };
-- 
2.55.0
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help