[PATCH 0/2] Populate of_node for i.MX netdevs

Primoz Fiser primoz.fiser at norik.com
Thu Jul 17 02:00:35 PDT 2025


Recently when working on predictable network names for i.MX SoCs, it
was discovered that of_node sysfs properties are missing for FEC and
EQOS interfaces.

Without this, udev is unable to expose the OF_* properties (OF_NAME,
OF_FULLNAME, OF_COMPATIBLE, OF_ALIAS, etc.) and thus we cannot identify
interface based on those properties.

Fix this by populating netdev of_node in respective drivers.

Result:

$ ls -l /sys/class/net/end1/of_node
/sys/class/net/end1/of_node -> 
'../../../../../../../firmware/devicetree/base/soc at 0/bus at 42800000/ethernet at 428a0000'/
$ ls -l /sys/class/net/end0/of_node                                                                              
/sys/class/net/end0/of_node -> 
'../../../../../../../firmware/devicetree/base/soc at 0/bus at 42800000/ethernet at 42890000'/

$ udevadm info /sys/class/net/end0
P: /devices/platform/soc at 0/42800000.bus/42890000.ethernet/net/end0
M: end0
R: 0
U: net
I: 2
E: DEVPATH=/devices/platform/soc at 0/42800000.bus/42890000.ethernet/net/end0
E: SUBSYSTEM=net
E: OF_NAME=ethernet
E: OF_FULLNAME=/soc at 0/bus at 42800000/ethernet at 42890000
E: OF_COMPATIBLE_0=fsl,imx93-fec
E: OF_COMPATIBLE_1=fsl,imx8mq-fec
E: OF_COMPATIBLE_2=fsl,imx6sx-fec
E: OF_COMPATIBLE_N=3
E: OF_ALIAS_0=ethernet0
E: INTERFACE=end0
E: IFINDEX=2
E: USEC_INITIALIZED=5227083
E: ID_NET_DRIVER=fec
E: ID_NET_NAMING_SCHEME=latest
E: ID_NET_NAME_MAC=enx502df44dbd5e
E: ID_NET_NAME_ONBOARD=end0
E: ID_PATH=platform-42890000.ethernet
E: ID_PATH_TAG=platform-42890000_ethernet
E: SYSTEMD_ALIAS=/sys/subsystem/net/devices/end0
E: TAGS=:systemd:
E: CURRENT_TAGS=:systemd:

$ udevadm info /sys/class/net/end1
P: /devices/platform/soc at 0/42800000.bus/428a0000.ethernet/net/end1
M: end1
R: 1
U: net
I: 3
E: DEVPATH=/devices/platform/soc at 0/42800000.bus/428a0000.ethernet/net/end1
E: SUBSYSTEM=net
E: OF_NAME=ethernet
E: OF_FULLNAME=/soc at 0/bus at 42800000/ethernet at 428a0000
E: OF_COMPATIBLE_0=nxp,imx93-dwmac-eqos
E: OF_COMPATIBLE_1=snps,dwmac-5.10a
E: OF_COMPATIBLE_N=2
E: OF_ALIAS_0=ethernet1
E: INTERFACE=end1
E: IFINDEX=3
E: USEC_INITIALIZED=5370305
E: ID_NET_NAMING_SCHEME=latest
E: ID_NET_NAME_MAC=enx502df44dbd5f
E: ID_NET_NAME_ONBOARD=end1
E: ID_PATH=platform-428a0000.ethernet
E: ID_PATH_TAG=platform-428a0000_ethernet
E: SYSTEMD_ALIAS=/sys/subsystem/net/devices/end1
E: TAGS=:systemd:
E: CURRENT_TAGS=:systemd:


Primoz Fiser (2):
  net: fec: fec_probe(): Populate netdev of_node
  net: stmmac: Populate netdev of_node

 drivers/net/ethernet/freescale/fec_main.c         | 1 +
 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 1 +
 2 files changed, 2 insertions(+)

-- 
2.34.1




More information about the linux-arm-kernel mailing list