[PATCH 0/2] Add USB Ethernet controller (LAN7500) node in VAR-SOM-OM44 devicetree

Thomas Richard posted 2 patches 2 months, 1 week ago
There is a newer version of this series
.../devicetree/bindings/net/microchip,lan75xx.yaml | 52 ++++++++++++++++++++++
arch/arm/boot/dts/ti/omap/omap4-var-som-om44.dtsi  | 14 ++++++
2 files changed, 66 insertions(+)
[PATCH 0/2] Add USB Ethernet controller (LAN7500) node in VAR-SOM-OM44 devicetree
Posted by Thomas Richard 2 months, 1 week ago
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>
Re: [PATCH 0/2] Add USB Ethernet controller (LAN7500) node in VAR-SOM-OM44 devicetree
Posted by Jakub Kicinski 2 months, 1 week ago
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.
Re: [PATCH 0/2] Add USB Ethernet controller (LAN7500) node in VAR-SOM-OM44 devicetree
Posted by Nicolai Buchwitz 2 months, 1 week ago
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.
Re: [PATCH 0/2] Add USB Ethernet controller (LAN7500) node in VAR-SOM-OM44 devicetree
Posted by Jakub Kicinski 2 months, 1 week ago
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.
Re: [PATCH 0/2] Add USB Ethernet controller (LAN7500) node in VAR-SOM-OM44 devicetree
Posted by Andrew Lunn 2 months, 1 week ago
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
Re: [PATCH 0/2] Add USB Ethernet controller (LAN7500) node in VAR-SOM-OM44 devicetree
Posted by Nicolai Buchwitz 2 months, 1 week ago
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.