[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20241220-net-mac-nvmem-offset-v1-0-e9d1da2c1681@linaro.org>
Date: Fri, 20 Dec 2024 20:17:05 +0100
From: Linus Walleij <linus.walleij@...aro.org>
To: Andrew Lunn <andrew+netdev@...n.ch>,
"David S. Miller" <davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>,
Rob Herring <robh@...nel.org>, Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>, Andrew Lunn <andrew@...n.ch>,
Heiner Kallweit <hkallweit1@...il.com>,
Russell King <linux@...linux.org.uk>, Simon Horman <horms@...nel.org>
Cc: netdev@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, Linus Walleij <linus.walleij@...aro.org>
Subject: [PATCH 0/2] net: of: Support minor nvmem MAC offset
In practice (as found in the OpenWrt project) many devices
with multiple ethernet interfaces just store a base MAC
address in NVMEM and increase the lowermost byte with one for
each interface, so as to occupy less NVMEM.
Here is an example patch from the Linksys WRT300N router that
was used before we had device tree:
f = ioremap(IXP4XX_EXP_BUS_BASE(0), 0x60000);
if (f) {
for (i = 0; i < 6; i++) {
wrt300nv2_plat_eth[0].hwaddr[i] = readb(f + 0x5FFA0 + i);
if (i == 5)
offset = 1;
wrt300nv2_plat_eth[1].hwaddr[i] =
(wrt300nv2_plat_eth[0].hwaddr[i] + offset);
}
}
iounmap(f);
In order to support this scheme directly from device tree
we need some way to encode the same into device tree, this
patchset provides that.
Signed-off-by: Linus Walleij <linus.walleij@...aro.org>
---
Linus Walleij (2):
dt-bindings: net: ethernet-controller: Add mac offset option
net: of: Support adding offset to nvmem MAC addresses
.../devicetree/bindings/net/ethernet-controller.yaml | 12 ++++++++++++
net/core/of_net.c | 10 ++++++++--
2 files changed, 20 insertions(+), 2 deletions(-)
---
base-commit: 40384c840ea1944d7c5a392e8975ed088ecf0b37
change-id: 20241219-net-mac-nvmem-offset-22b6218a4b0f
Best regards,
--
Linus Walleij <linus.walleij@...aro.org>
Powered by blists - more mailing lists