From nobody Fri Oct 2 06:18:51 2026 Received: from mslow3.mail.gandi.net (mslow3.mail.gandi.net [217.70.178.249]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6DEAC43A81B; Tue, 4 Aug 2026 17:58:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.178.249 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785866311; cv=none; b=RycwPHg0N4EglQ+7HTtLHAHxarr6B5brVJCKmVZ5KoT3iRK8C8XS+E0JpNDE52xYZWluG/zBW89GeTlmpsXeZYhpM+TZaGUKB3m14l1HUnCzADtLSerAU39P/imy/2zpZ8MpHal5zORmBhbmuBhC82R9EnV/j/xGannLGo5o2UI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785866311; c=relaxed/simple; bh=atydJnJbMmN1IHB6MAx18xPFmlJri2Tq4cII64DUqTQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=A5UY4Y5b7cLKc5oczUzjyzA6b8VSAENHRtq6T9zKatRJDd/b7f0+MTTAu5akrFjOku3qvudd2PwNQzSQhqOOAGjo06xE0VBmnDESPzjUcFxQ6cogLc2JK3r2KarqV7FZJgffvY0c3bRfS+VUcFIbe8cQUiYrvh9FfFKR+SOc+4E= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=marmottus.net; spf=pass smtp.mailfrom=marmottus.net; dkim=pass (2048-bit key) header.d=marmottus.net header.i=@marmottus.net header.b=FJ2z7ucw; arc=none smtp.client-ip=217.70.178.249 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=marmottus.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=marmottus.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=marmottus.net header.i=@marmottus.net header.b="FJ2z7ucw" Received: from relay6-d.mail.gandi.net (relay6-d.mail.gandi.net [IPv6:2001:4b98:dc4:8::226]) by mslow3.mail.gandi.net (Postfix) with ESMTP id 9CF0558172C; Tue, 4 Aug 2026 17:41:06 +0000 (UTC) Received: by mail.gandi.net (Postfix) with ESMTPSA id 0A8833F567; Tue, 4 Aug 2026 17:41:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marmottus.net; s=gm1; t=1785865264; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=zA1ZTubBuh3m9i5h+yCivy1ldfhgN3dZbD7sp/exs4M=; b=FJ2z7ucwdZONwe4K3xXitH+LWNkTlLuEKWcNA/mVKyoevf/qfb1hSM3788i+48I7H7XUbc G5td33ThE+tATPqV5RNgAsI4bbNS9RKoqLhNaQlfOlmeuZkFSqJBByhkY6iUJ2bUyCFIRI 0eeHhFyCJNl9sRRxsxBWTlb/cZmrx+nHqblkJ/lno+HbNzeq3ZAtW6zzae1/zaFs0B9x/A xw2SsWxikQ24r/RULNOGMPjzI+1HwFaY0Qo8HeAacr4+nwrrj98JxyAJhWm7z4PrIUMFu3 qRw8FLFDIoJXeEWaWTRd7738tnDUSkUJ4PhJ9/pD7u1MmdaBOEURIDSwkAKF/Q== From: =?utf-8?q?Arthur_Cr=C3=A9pin_Leblond?= Date: Tue, 04 Aug 2026 19:40:56 +0200 Subject: [PATCH v2 1/2] w5100: restore GPIO-based link detection Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260804-wiznet-link-gpio-v2-1-3b1d0c870f35@marmottus.net> References: <20260804-wiznet-link-gpio-v2-0-3b1d0c870f35@marmottus.net> In-Reply-To: <20260804-wiznet-link-gpio-v2-0-3b1d0c870f35@marmottus.net> To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: Arnd Bergmann , netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, =?utf-8?q?Arthur_Cr=C3=A9pin_Leblond?= X-Mailer: b4 0.15.2 X-GND-Sasl: arthur@marmottus.net X-GND-Cause: dmFkZTGnkLjOAcGhfyOqhLqfnii3rksT32ERFyu9TJrUkdKkXDMFxOf48vSprhQntGYF+VdlnwFWTG7ytlX2ArxPg1VBCUk9wDy7FA+tSGphGNppn0oIm7aJJNOXHMqscWorsGsuHIlED57VnnX+GfaeTzwOi7Sz294CaJgoVFpa/0wXx35mggn9EWya2ADE04T3a8Ir9Y/RwIRSxNvzzs5pfM6+O8o4hLlRuJX+eSkBKEt/GwiysKrjLQpbqx2lePe0VOJL6DZOaSqdtz2C7hao+vdoK7d64i1enIzFKQbYNsFt83IDxoychvuVfkPIPxZwdHxF3ChHlbqUkK5AYn3RlhQelUsiMRu7k4da333V0kjTtXMuy9qVZvDtWPz3OsjQEkbJezQ6gAmAA6z2mk7QIkQ/aaKzlPumriqSELu+/1MwMilzPoZ2kU7m+IujtIhMECU9C32lMcioJ6677B8YIou5FMwnIwR/03AE5vHo2XYJlOWhMsPzGMa9ow7+stGvoAfE4+AyAXBBbSBEuZ0yewAWPf+SNxeWU9NZBVnQ5g6VURjSL83IUmtw0+Sj7boXPOTOOBI5sGpcPix4NHDNRKaq1YqSCfvfKb2yhZngW0ujBPZo6hd2lWrsFQGIm5/iYgXqMQDhJxArIuTmmaatfQib+iYy7xWyOKGXA6xHhZGOGA X-GND-State: clean X-GND-Score: -100 Commit dacf281771a9 ("w5100: remove unused gpio link detection") dropped the link_gpio/link_irq handling on the grounds that no devicetree user passed a "link" GPIO at the time. This isn't a plain revert of that removal. The link GPIO is now bound from the device tree link-gpios property using the resource managed GPIO descriptors. The link IRQ is also requested with devm_request_threaded_irq() instead of request_any_context_irq(), so it is released automatically on driver removal or probe failure. Signed-off-by: Arthur Cr=C3=A9pin Leblond Reviewed-by: Arnd Bergmann --- drivers/net/ethernet/wiznet/w5100.c | 71 +++++++++++++++++++++++++++++++++= ++++ 1 file changed, 71 insertions(+) diff --git a/drivers/net/ethernet/wiznet/w5100.c b/drivers/net/ethernet/wiz= net/w5100.c index 53d8dc642fbd..1410a9fcfa92 100644 --- a/drivers/net/ethernet/wiznet/w5100.c +++ b/drivers/net/ethernet/wiznet/w5100.c @@ -22,6 +22,7 @@ #include #include #include +#include =20 #include "w5100.h" =20 @@ -154,6 +155,7 @@ struct w5100_priv { u16 s0_rx_buf_size; =20 int irq; + struct gpio_desc *link_gpio; =20 struct napi_struct napi; struct net_device *ndev; @@ -414,6 +416,16 @@ static void w5100_get_drvinfo(struct net_device *ndev, sizeof(info->bus_info)); } =20 +static u32 w5100_get_link(struct net_device *ndev) +{ + struct w5100_priv *priv =3D netdev_priv(ndev); + + if (priv->link_gpio) + return !!gpiod_get_value_cansleep(priv->link_gpio); + + return 1; +} + static u32 w5100_get_msglevel(struct net_device *ndev) { struct w5100_priv *priv =3D netdev_priv(ndev); @@ -616,6 +628,24 @@ static irqreturn_t w5100_interrupt(int irq, void *ndev= _instance) return IRQ_HANDLED; } =20 +static irqreturn_t w5100_detect_link(int irq, void *ndev_instance) +{ + struct net_device *ndev =3D ndev_instance; + struct w5100_priv *priv =3D netdev_priv(ndev); + + if (netif_running(ndev)) { + if (gpiod_get_value(priv->link_gpio) !=3D 0) { + netif_info(priv, link, ndev, "link is up\n"); + netif_carrier_on(ndev); + } else { + netif_info(priv, link, ndev, "link is down\n"); + netif_carrier_off(ndev); + } + } + + return IRQ_HANDLED; +} + static void w5100_setrx_work(struct work_struct *work) { struct w5100_priv *priv =3D container_of(work, struct w5100_priv, @@ -659,6 +689,14 @@ static int w5100_open(struct net_device *ndev) w5100_hw_start(priv); napi_enable(&priv->napi); netif_start_queue(ndev); + + if (priv->link_gpio) { + if (gpiod_get_value_cansleep(priv->link_gpio) !=3D 0) + netif_carrier_on(ndev); + else + netif_carrier_off(ndev); + } + return 0; } =20 @@ -678,6 +716,7 @@ static const struct ethtool_ops w5100_ethtool_ops =3D { .get_drvinfo =3D w5100_get_drvinfo, .get_msglevel =3D w5100_get_msglevel, .set_msglevel =3D w5100_set_msglevel, + .get_link =3D w5100_get_link, .get_regs_len =3D w5100_get_regs_len, .get_regs =3D w5100_get_regs, }; @@ -751,6 +790,13 @@ int w5100_probe(struct device *dev, const struct w5100= _ops *ops, priv->ndev =3D ndev; priv->ops =3D ops; priv->irq =3D irq; + priv->link_gpio =3D devm_gpiod_get_optional(dev, "link", GPIOD_IN); + if (IS_ERR(priv->link_gpio)) { + err =3D dev_err_probe(dev, PTR_ERR(priv->link_gpio), + "failed to get link GPIO\n"); + priv->link_gpio =3D NULL; + goto err_register; + } =20 ndev->netdev_ops =3D &w5100_netdev_ops; ndev->ethtool_ops =3D &w5100_ethtool_ops; @@ -803,8 +849,29 @@ int w5100_probe(struct device *dev, const struct w5100= _ops *ops, if (err) goto err_hw; =20 + if (priv->link_gpio) { + int link_irq =3D gpiod_to_irq(priv->link_gpio); + + if (link_irq < 0) { + err =3D dev_err_probe(dev, link_irq, + "No corresponding irq for link gpio\n"); + goto err_gpio; + } + + err =3D devm_request_threaded_irq(dev, link_irq, NULL, + w5100_detect_link, + IRQF_TRIGGER_RISING | + IRQF_TRIGGER_FALLING | + IRQF_ONESHOT, + "w5100-link", priv->ndev); + if (err < 0) + goto err_gpio; + } + return 0; =20 +err_gpio: + free_irq(priv->irq, ndev); err_hw: destroy_workqueue(priv->xfer_wq); err_wq: @@ -857,6 +924,10 @@ static int w5100_resume(struct device *dev) w5100_hw_start(priv); =20 netif_device_attach(ndev); + + if (!priv->link_gpio || + gpiod_get_value_cansleep(priv->link_gpio) !=3D 0) + netif_carrier_on(ndev); } return 0; } --=20 2.55.0 From nobody Fri Oct 2 06:18:51 2026 Received: from relay6-d.mail.gandi.net (relay6-d.mail.gandi.net [217.70.183.198]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8D6DC45FFD1; Tue, 4 Aug 2026 17:41:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.198 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785865271; cv=none; b=a9ehCfqwUwNfOVS9RAcni/QN+nEV/449U2/vEj5o6sAcVLc0Azoyn5SAi/YzawxA3V1lLW2GQxF4YPR4CNHXl5yF+wAlM0zwtq0R6rlstGkD+7v5vv9FEd2tD8tLZKkJpjQ1yVwrArum/lDcHFgOM/G8yGpfmrN6YhKzwYs4t48= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785865271; c=relaxed/simple; bh=D4iu8z/1wTFxUPh5aLA6tIukfDjp76lrHcNSPoHUR8M=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=la/qA1w38Ni6LnPyAlipRMXnHf0opt7a6+GqpJLeCIlbJMMg8g8xNKqSpRI+15ZBasbx0VggdWhG4/pqO0CJ/+MXcxZZRbwV2NL+W9Z57IxF0/2SXxvRGciGX52yZP/KtgOJUU5pbf8b1cvA+J7t/jO3whTjQwdFUSyhk70UWPA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=marmottus.net; spf=pass smtp.mailfrom=marmottus.net; dkim=pass (2048-bit key) header.d=marmottus.net header.i=@marmottus.net header.b=eGlkPYrZ; arc=none smtp.client-ip=217.70.183.198 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=marmottus.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=marmottus.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=marmottus.net header.i=@marmottus.net header.b="eGlkPYrZ" Received: by mail.gandi.net (Postfix) with ESMTPSA id DBBC23F56F; Tue, 4 Aug 2026 17:41:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marmottus.net; s=gm1; t=1785865266; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=dYaBEcmudDSQMptlRYgCj8DzymKeVyUmLu+y8k95L0I=; b=eGlkPYrZ6giq0VaZdwy7ACUoPiXGQ1tRTO5/8v00159QrFjNywK9HlcVqIfU/wu5u4nUkW 9qQ1c8dlzqRwD14WYygdjwIvF0r01ZMR1Y9LDOdn+rADIONl1mTLFJMwy9vCQLeuniYUmv 0Byt7ZAhlR/3oEreT7lSq1x+so1lGQbJ1P0QZJtCoxF0BfHK7SoaQe9zWJ/xzyGPt3/97S re7b+aZwVWspA9rsqiikE3JguZOsGeoofgRb6XInztXCIMPqwX/nkPF/h2yxNBC5FDUDkB PbagSY8nPpEVtnYp4Lq9bL4pc7l+TItaNNeZNQhAHDv6WB+6881A/HlnyVgawQ== From: =?utf-8?q?Arthur_Cr=C3=A9pin_Leblond?= Date: Tue, 04 Aug 2026 19:40:57 +0200 Subject: [PATCH v2 2/2] dt-bindings: net: convert wiznet,w5x00 to YAML Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260804-wiznet-link-gpio-v2-2-3b1d0c870f35@marmottus.net> References: <20260804-wiznet-link-gpio-v2-0-3b1d0c870f35@marmottus.net> In-Reply-To: <20260804-wiznet-link-gpio-v2-0-3b1d0c870f35@marmottus.net> To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: Arnd Bergmann , netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, =?utf-8?q?Arthur_Cr=C3=A9pin_Leblond?= X-Mailer: b4 0.15.2 X-GND-Sasl: arthur@marmottus.net X-GND-Cause: dmFkZTGgfXg9pj62RwQVEzA9qR84zG2ZMqPLVqXstNGgjnunfsg6LJn88s/9ga9W6thqUQd5T/k4mna/ZewwyLV5Mw+xiT9P7RMygkHHNESr9H1v3+VqyP5I47nVbU3XP6CJ0mV24wbCks+M9D+YJ6EPTEylc8j86HS5QglCvJwcTa7DAKUMlPb9ADORMmp23OidBY622+pFLCM9TOSui+kMT7NYbqC9DaAyDAyREjPK/jCTwC82ucDL0KrLYGgP4FItmFTJRhpSIJ9zaW8ujzcRBMyO9OxnLkrxewnZ5GVzFeV74dnQtyRVc+rXNcXQGkewy1UlmHZoN1YC/GF2e1hvrJm6nwz/GGphYBosurRUDAstnzXU2mQWMGnO9YNFIsPpyQ1W2EevFA/a6HG9Z2TnGFwSM1evJo2IS7iFFgwmf1qT3Gsxdv+nG5AaDqNda6nH4k1n5rG7/BH3SGaP4qx8NzAEfRKnfu8moa6rVgypTZXv6PEHCeWiydm4MN7DKl9ulYvxvU3X2L4zCQc88HLMCB/JymdTEq12cWcFlTYwKYTlSwtleS9ZnYh7PMmmpaotQNP8MqRd20s+W5hAsfIoMkbYyG1DKYmcGJ3bgd4wAgziByR3uqDjwRUKLFd0CfEM/93uEJv6bpBpkKx2P/PSwR1UcrXzWDzqIDUERXn4iXGD+Q X-GND-State: clean X-GND-Score: -100 Convert the Wiznet w5x00 SPI Ethernet controller binding from text to DT schema format. Signed-off-by: Arthur Cr=C3=A9pin Leblond --- .../devicetree/bindings/net/wiznet,w5x00.txt | 50 ---------- .../devicetree/bindings/net/wiznet,w5x00.yaml | 103 +++++++++++++++++= ++++ 2 files changed, 103 insertions(+), 50 deletions(-) diff --git a/Documentation/devicetree/bindings/net/wiznet,w5x00.txt b/Docum= entation/devicetree/bindings/net/wiznet,w5x00.txt deleted file mode 100644 index e9665798c4be..000000000000 --- a/Documentation/devicetree/bindings/net/wiznet,w5x00.txt +++ /dev/null @@ -1,50 +0,0 @@ -* Wiznet w5x00 - -This is a standalone 10/100 MBit Ethernet controller with SPI interface. - -For each device connected to a SPI bus, define a child node within -the SPI master node. - -Required properties: -- compatible: Should be one of the following strings: - "wiznet,w5100" - "wiznet,w5200" - "wiznet,w5500" -- reg: Specify the SPI chip select the chip is wired to. -- interrupts: Specify the interrupt index within the interrupt controller = (referred - to above in interrupt-parent) and interrupt type. w5x00 nati= vely - generates falling edge interrupts, however, additional board= logic - might invert the signal. -- pinctrl-names: List of assigned state names, see pinctrl binding documen= tation. -- pinctrl-0: List of phandles to configure the GPIO pin used as interrupt = line, - see also generic and your platform specific pinctrl binding - documentation. - -Optional properties: -- spi-max-frequency: Maximum frequency of the SPI bus when accessing the w= 5500. - According to the w5500 datasheet, the chip allows a maximum of 80 MHz, h= owever, - board designs may need to limit this value. -- local-mac-address: See ethernet.txt in the same directory. - - -Example (for Raspberry Pi with pin control stuff for GPIO irq): - -&spi { - ethernet@0: w5500@0 { - compatible =3D "wiznet,w5500"; - reg =3D <0>; - pinctrl-names =3D "default"; - pinctrl-0 =3D <ð1_pins>; - interrupt-parent =3D <&gpio>; - interrupts =3D <25 IRQ_TYPE_EDGE_FALLING>; - spi-max-frequency =3D <30000000>; - }; -}; - -&gpio { - eth1_pins: eth1_pins { - brcm,pins =3D <25>; - brcm,function =3D <0>; /* in */ - brcm,pull =3D <0>; /* none */ - }; -}; diff --git a/Documentation/devicetree/bindings/net/wiznet,w5x00.yaml b/Docu= mentation/devicetree/bindings/net/wiznet,w5x00.yaml new file mode 100644 index 000000000000..8f45a5d773fe --- /dev/null +++ b/Documentation/devicetree/bindings/net/wiznet,w5x00.yaml @@ -0,0 +1,103 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/net/wiznet,w5x00.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Wiznet w5x00 SPI Ethernet Controller + +description: | + This is a standalone 10/100 MBit Ethernet controller with SPI interface. + + For each device connected to a SPI bus, define a child node within the S= PI master node. + +allOf: + - $ref: /schemas/net/ethernet-controller.yaml# + - $ref: /schemas/spi/spi-peripheral-props.yaml# + +properties: + compatible: + enum: + - wiznet,w5100 + - wiznet,w5200 + - wiznet,w5500 + + reg: + description: Specify the SPI chip select the chip is wired to. + maxItems: 1 + minItems: 1 + + interrupts: + description: + Specify the interrupt index within the interrupt controller (referre= d to + above in interrupt-parent) and interrupt type. w5x00 natively genera= tes + falling edge interrupts, however, additional board logic might inver= t the + signal. + maxItems: 1 + minItems: 1 + + pinctrl-names: + description: + List of assigned state names, see pinctrl binding documentation. + enum: + - default + minItems: 1 + + pinctrl-0: + description: + List of phandles to configure the GPIO pin used as interrupt line, s= ee + also generic and your platform specific pinctrl binding documentatio= n. + minItems: 1 + + local-mac-address: true + + spi-max-frequency: + description: + Maximum frequency of the SPI bus when accessing the w5500. According= to + the w5500 datasheet, the chip allows a maximum of 80 MHz, however, b= oard + designs may need to limit this value. + maximum: 80000000 + + link-gpios: + description: A GPIO line used for the link detection interrupt. + maxItems: 1 + +required: + - compatible + - reg + - interrupts + - pinctrl-names + - pinctrl-0 + +unevaluatedProperties: false + +examples: + - | + /* Example (for Raspberry Pi with pin control stuff for GPIO irq) */ + + #include + #include + + spi { + #address-cells =3D <1>; + #size-cells =3D <0>; + + ethernet@0: w5500@0 { + compatible =3D "wiznet,w5500"; + reg =3D <0>; + pinctrl-names =3D "default"; + pinctrl-0 =3D <ð1_pins>; + interrupt-parent =3D <&gpio>; + interrupts =3D <25 IRQ_TYPE_EDGE_FALLING>; + spi-max-frequency =3D <30000000>; + link-gpios =3D <&gpio 4 GPIO_ACTIVE_HIGH>; + local-mac-address =3D [ a0 b0 c0 d0 e0 f0 ]; + }; + }; + + &gpio { + eth1_pins: eth1_pins { + brcm,pins =3D <25 4>; + brcm,function =3D <0 0>; /* in */ + brcm,pull =3D <0 0>; /* none */ + }; --=20 2.55.0