[PATCH net-next v9 2/3] dt-bindings: net: wiznet,w5100: add link status interrupt

From: Arthur Crepin Leblond

Date: Fri Sep 18 2026 - 11:56:41 EST


Add an optional link status interrupt which can be connected to the
LINKLED pin on the device to detect link status changes. This second
interrupt is only supported on wiznet,w5500.

Signed-off-by: Arthur Crepin Leblond <arthur@xxxxxxxxxxxxx>
---
v9:
- Simplify the interrupts description:
- Describe the 2 interrupts in the top-level properties
- Limit the maximum number to 1 on non-w5500 with a condition
- Somehow only adding minItems in the top-level and then describing
2 items in the if block led to dt checks errors.

v8:
- Remove Krzysztof Kozlowski reviewed-by tag after Sashiko review
changes
- Make the interrupts property conditional

v7:
- No changes

v6:
- Fix DT error: use minItems
- Remove conditional properties

v5:
- Make the DT interrupts property dynamic from the compatible one
- Fix DT bindings errors

v4:
- Update interrupts in DT bindings

v3:
- Fix DT binding errors

v2:
- Convert device tree binding to YAML
---
.../devicetree/bindings/net/wiznet,w5100.yaml | 34 +++++++++++++++++-----
1 file changed, 27 insertions(+), 7 deletions(-)

diff --git a/Documentation/devicetree/bindings/net/wiznet,w5100.yaml b/Documentation/devicetree/bindings/net/wiznet,w5100.yaml
index 25098308eb6e..ac2ee725af5d 100644
--- a/Documentation/devicetree/bindings/net/wiznet,w5100.yaml
+++ b/Documentation/devicetree/bindings/net/wiznet,w5100.yaml
@@ -12,10 +12,6 @@ maintainers:
description: |
This is a standalone 10/100 MBit Ethernet controller with SPI interface.

-allOf:
- - $ref: /schemas/net/ethernet-controller.yaml#
- - $ref: /schemas/spi/spi-peripheral-props.yaml#
-
properties:
compatible:
enum:
@@ -24,8 +20,16 @@ properties:
- wiznet,w5500

interrupts:
- maxItems: 1
- description: Main interrupt (INT pin on the device).
+ minItems: 1
+ description:
+ The main interrupt (INT pin) is mandatory on all devices. The w5500
+ additionally supports an optional second interrupt for link status changes
+ (LINKLED pin). If it is not specified, link state changes will not be
+ reported.
+ items:
+ - description: Main interrupt (INT pin on the device).
+ - description:
+ Optional interrupt for link status changes (LINKLED pin on w5500).

reg:
maxItems: 1
@@ -42,6 +46,21 @@ required:
- reg
- interrupts

+allOf:
+ - $ref: /schemas/net/ethernet-controller.yaml#
+ - $ref: /schemas/spi/spi-peripheral-props.yaml#
+ - if:
+ not:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - wiznet,w5500
+ then:
+ properties:
+ interrupts:
+ maxItems: 1
+
unevaluatedProperties: false

examples:
@@ -60,7 +79,8 @@ examples:
pinctrl-names = "default";
pinctrl-0 = <&eth1_pins>;
interrupt-parent = <&gpio>;
- interrupts = <25 IRQ_TYPE_LEVEL_LOW>;
+ interrupts = <25 IRQ_TYPE_LEVEL_LOW>,
+ <24 IRQ_TYPE_EDGE_BOTH>;
spi-max-frequency = <30000000>;
local-mac-address = [ a0 b0 c0 d0 e0 f0 ];
};

--
2.55.0