.../devicetree/bindings/net/microchip,lan75xx.yaml | 52 ++++++++++++++++++++++ arch/arm/boot/dts/ti/omap/omap4-var-som-om44.dtsi | 14 ++++++ 2 files changed, 66 insertions(+)
The goal of this series is to add the USB Ethernet controller node in the
VAR-SOM-OM44 devicetree in order to allow the bootloader to patch the
devicetree and pass a MAC address to the smsc75xx driver. This was also a
good opportunity to create the schema file for LAN75XX devices.
Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
---
Thomas Richard (2):
dt-bindings: net: Add schema for LAN75XX compatible USB Ethernet controllers
ARM: dts: ti: var-som-om44: Add USB Ethernet controller node
.../devicetree/bindings/net/microchip,lan75xx.yaml | 52 ++++++++++++++++++++++
arch/arm/boot/dts/ti/omap/omap4-var-som-om44.dtsi | 14 ++++++
2 files changed, 66 insertions(+)
---
base-commit: 6fa0f2cbadc046c57fdd2aa1dad81553cca08963
change-id: 20260330-b4-var-som-om44-lan7500-09dfdc713d39
Best regards,
--
Thomas Richard <thomas.richard@bootlin.com>
On Fri, 03 Apr 2026 21:02:22 +0200 Thomas Richard wrote: > The goal of this series is to add the USB Ethernet controller node in the > VAR-SOM-OM44 devicetree in order to allow the bootloader to patch the > devicetree and pass a MAC address to the smsc75xx driver. This was also a > good opportunity to create the schema file for LAN75XX devices. But there's no driver for it yet, right? IDK what the best practices are here, just unusual to see a schema without a driver, is all.
On 3.4.2026 22:18, Jakub Kicinski wrote: > On Fri, 03 Apr 2026 21:02:22 +0200 Thomas Richard wrote: >> The goal of this series is to add the USB Ethernet controller node in >> the >> VAR-SOM-OM44 devicetree in order to allow the bootloader to patch the >> devicetree and pass a MAC address to the smsc75xx driver. This was >> also a >> good opportunity to create the schema file for LAN75XX devices. > > But there's no driver for it yet, right? > IDK what the best practices are here, just unusual to see a schema > without a driver, is all. The smsc75xx driver has been in the tree since 2010 (d0cad871703b) and already reads local-mac-address/mac-address from devicetree via platform_get_ethdev_address() in smsc75xx_init_mac_address(), so the binding should be covered on the driver side.
On Fri, 03 Apr 2026 22:33:26 +0200 Nicolai Buchwitz wrote: > On 3.4.2026 22:18, Jakub Kicinski wrote: > > On Fri, 03 Apr 2026 21:02:22 +0200 Thomas Richard wrote: > >> The goal of this series is to add the USB Ethernet controller node in > >> the > >> VAR-SOM-OM44 devicetree in order to allow the bootloader to patch the > >> devicetree and pass a MAC address to the smsc75xx driver. This was > >> also a > >> good opportunity to create the schema file for LAN75XX devices. > > > > But there's no driver for it yet, right? > > IDK what the best practices are here, just unusual to see a schema > > without a driver, is all. > > The smsc75xx driver has been in the tree since 2010 (d0cad871703b) and > already reads local-mac-address/mac-address from devicetree via > platform_get_ethdev_address() in smsc75xx_init_mac_address(), so the > binding should be covered on the driver side. Curious. So USB core can tie the right USB device to the DT / OF information automatically? I was thrown by the fact that there are no matches on the compatibles anywhere in the kernel.
On Fri, Apr 03, 2026 at 03:15:00PM -0700, Jakub Kicinski wrote: > On Fri, 03 Apr 2026 22:33:26 +0200 Nicolai Buchwitz wrote: > > On 3.4.2026 22:18, Jakub Kicinski wrote: > > > On Fri, 03 Apr 2026 21:02:22 +0200 Thomas Richard wrote: > > >> The goal of this series is to add the USB Ethernet controller node in > > >> the > > >> VAR-SOM-OM44 devicetree in order to allow the bootloader to patch the > > >> devicetree and pass a MAC address to the smsc75xx driver. This was > > >> also a > > >> good opportunity to create the schema file for LAN75XX devices. > > > > > > But there's no driver for it yet, right? > > > IDK what the best practices are here, just unusual to see a schema > > > without a driver, is all. > > > > The smsc75xx driver has been in the tree since 2010 (d0cad871703b) and > > already reads local-mac-address/mac-address from devicetree via > > platform_get_ethdev_address() in smsc75xx_init_mac_address(), so the > > binding should be covered on the driver side. > > Curious. So USB core can tie the right USB device to the DT / OF > information automatically? I was thrown by the fact that there > are no matches on the compatibles anywhere in the kernel. The PCI core has similar capabilities. For both cases, there is no compatibility matching going on, the hardware is enumerable and has vendor:product information to match the device to the driver. However the PCI and USB core can see that the device tree matches the hardware tree, and so maps the device tree node to the driver. This works well for devices soldered onto the board, but should be avoided when there is a socket and anything could be plugged into it. Andrew
On 4.4.2026 00:15, Jakub Kicinski wrote: > On Fri, 03 Apr 2026 22:33:26 +0200 Nicolai Buchwitz wrote: >> On 3.4.2026 22:18, Jakub Kicinski wrote: >> > On Fri, 03 Apr 2026 21:02:22 +0200 Thomas Richard wrote: >> >> The goal of this series is to add the USB Ethernet controller node in >> >> the >> >> VAR-SOM-OM44 devicetree in order to allow the bootloader to patch the >> >> devicetree and pass a MAC address to the smsc75xx driver. This was >> >> also a >> >> good opportunity to create the schema file for LAN75XX devices. >> > >> > But there's no driver for it yet, right? >> > IDK what the best practices are here, just unusual to see a schema >> > without a driver, is all. >> >> The smsc75xx driver has been in the tree since 2010 (d0cad871703b) and >> already reads local-mac-address/mac-address from devicetree via >> platform_get_ethdev_address() in smsc75xx_init_mac_address(), so the >> binding should be covered on the driver side. > > Curious. So USB core can tie the right USB device to the DT / OF > information automatically? I was thrown by the fact that there > are no matches on the compatibles anywhere in the kernel. Yes, USB core matches DT nodes by port topology (reg property), not by compatible (usb_of_get_device_node() in drivers/usb/core/of.c if you want to have a deeper look). The existing microchip,lan95xx.yaml binding works the same way. For example Raspberry Pi models before the Pi 4 use exactly this pattern to pass the MAC address via firmware -> devicetree to the smsc95xx driver.
© 2016 - 2026 Red Hat, Inc.