Message ID | 20220127104905.899341-3-o.rempel@pengutronix.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | usbnet: add "label" support | expand |
On Thu, Jan 27, 2022 at 11:49:03AM +0100, Oleksij Rempel wrote: > Create initial schema for Microchip/SMSC LAN95xx USB Ethernet controllers and > import all currently supported USB IDs form drivers/net/usb/smsc95xx.c That is a loosing game to play. There is a reason that kernel drivers only require a device id in 1 place, instead of multiple places like other operating systems. Please do not go back and make the same mistakes others have. Not to mention that I think overall this is a bad idea anyway. USB devices are self-describing, don't add them to DT. thanks, greg k-h
On Thu, Jan 27, 2022 at 11:59:11AM +0100, Greg KH wrote: > On Thu, Jan 27, 2022 at 11:49:03AM +0100, Oleksij Rempel wrote: > > Create initial schema for Microchip/SMSC LAN95xx USB Ethernet controllers and > > import all currently supported USB IDs form drivers/net/usb/smsc95xx.c > > That is a loosing game to play. There is a reason that kernel drivers > only require a device id in 1 place, instead of multiple places like > other operating systems. Please do not go back and make the same > mistakes others have. > > Not to mention that I think overall this is a bad idea anyway. USB > devices are self-describing, don't add them to DT. This patch set is the pre-step before making it even more complicated with description of external PHYs and DSA switches. I assume, it is preferable to have schema to be able to automatically validate it. Regards, Oleksij
On Thu, 27 Jan 2022 11:49:03 +0100, Oleksij Rempel wrote: > Create initial schema for Microchip/SMSC LAN95xx USB Ethernet controllers and > import all currently supported USB IDs form drivers/net/usb/smsc95xx.c > > Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de> > --- > .../bindings/net/microchip,lan95xx.yaml | 82 +++++++++++++++++++ > 1 file changed, 82 insertions(+) > create mode 100644 Documentation/devicetree/bindings/net/microchip,lan95xx.yaml > Running 'make dtbs_check' with the schema in this patch gives the following warnings. Consider if they are expected or the schema is incorrect. These may not be new warnings. Note that it is not yet a requirement to have 0 warnings for dtbs_check. This will change in the future. Full log is available here: https://patchwork.ozlabs.org/patch/1584951 smsc@2: $nodename:0: 'smsc@2' does not match '^ethernet(@.*)?$' arch/arm/boot/dts/tegra30-ouya.dt.yaml usbether@1: $nodename:0: 'usbether@1' does not match '^ethernet(@.*)?$' arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dt.yaml arch/arm64/boot/dts/freescale/imx8mm-kontron-n801x-s.dt.yaml arch/arm/boot/dts/bcm2835-rpi-b.dt.yaml arch/arm/boot/dts/bcm2835-rpi-b-plus.dt.yaml arch/arm/boot/dts/bcm2835-rpi-b-rev2.dt.yaml arch/arm/boot/dts/bcm2836-rpi-2-b.dt.yaml arch/arm/boot/dts/bcm2837-rpi-3-b.dt.yaml arch/arm/boot/dts/omap3-beagle-xm-ab.dt.yaml arch/arm/boot/dts/omap3-beagle-xm.dt.yaml arch/arm/boot/dts/omap4-panda-a4.dt.yaml arch/arm/boot/dts/omap4-panda.dt.yaml arch/arm/boot/dts/omap4-panda-es.dt.yaml usbether@3: $nodename:0: 'usbether@3' does not match '^ethernet(@.*)?$' arch/arm/boot/dts/omap5-uevm.dt.yaml
On Thu, Jan 27, 2022 at 11:59:11AM +0100, Greg KH wrote: > On Thu, Jan 27, 2022 at 11:49:03AM +0100, Oleksij Rempel wrote: > > Create initial schema for Microchip/SMSC LAN95xx USB Ethernet controllers and > > import all currently supported USB IDs form drivers/net/usb/smsc95xx.c > > That is a loosing game to play. There is a reason that kernel drivers > only require a device id in 1 place, instead of multiple places like > other operating systems. Please do not go back and make the same > mistakes others have. This instance doesn't look so bad because SMSC devices are chips rather than random OEM rebranded devices all with the same underlying chip. > Not to mention that I think overall this is a bad idea anyway. USB > devices are self-describing, don't add them to DT. Until they are soldered down and the board maker cheaps out on having an eeprom to hold the MAC address... Rob
diff --git a/Documentation/devicetree/bindings/net/microchip,lan95xx.yaml b/Documentation/devicetree/bindings/net/microchip,lan95xx.yaml new file mode 100644 index 000000000000..b185c7068a8a --- /dev/null +++ b/Documentation/devicetree/bindings/net/microchip,lan95xx.yaml @@ -0,0 +1,82 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/net/microchip,lan95xx.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: The device tree bindings for the USB Ethernet controllers + +maintainers: + - Oleksij Rempel <o.rempel@pengutronix.de> + +description: | + Device tree properties for hard wired SMSC95xx compatible USB Ethernet + controller. + +allOf: + - $ref: ethernet-controller.yaml# + +properties: + compatible: + items: + - enum: + - usb424,9500 # SMSC9500 USB Ethernet Device + - usb424,9505 # SMSC9505 USB Ethernet Device + - usb424,9530 # SMSC LAN9530 USB Ethernet Device + - usb424,9730 # SMSC LAN9730 USB Ethernet Device + - usb424,9900 # SMSC9500 USB Ethernet Device (SAL10) + - usb424,9901 # SMSC9505 USB Ethernet Device (SAL10) + - usb424,9902 # SMSC9500A USB Ethernet Device (SAL10) + - usb424,9903 # SMSC9505A USB Ethernet Device (SAL10) + - usb424,9904 # SMSC9512/9514 USB Hub & Ethernet Device (SAL10) + - usb424,9905 # SMSC9500A USB Ethernet Device (HAL) + - usb424,9906 # SMSC9505A USB Ethernet Device (HAL) + - usb424,9907 # SMSC9500 USB Ethernet Device (Alternate ID) + - usb424,9908 # SMSC9500A USB Ethernet Device (Alternate ID) + - usb424,9909 # SMSC9512/9514 USB Hub & Ethernet Devic. ID) + - usb424,9e00 # SMSC9500A USB Ethernet Device + - usb424,9e01 # SMSC9505A USB Ethernet Device + - usb424,9e08 # SMSC LAN89530 USB Ethernet Device + - usb424,ec00 # SMSC9512/9514 USB Hub & Ethernet Device + + reg: true + local-mac-address: true + mac-address: true + +required: + - compatible + - reg + +additionalProperties: false + +examples: + - | + usb@11270000 { + reg = <0x11270000 0x1000>; + #address-cells = <1>; + #size-cells = <0>; + + ethernet@1 { + compatible = "usb424,ec00"; + reg = <1>; + local-mac-address = [00 00 00 00 00 00]; + }; + }; + - | + usb@11270000 { + reg = <0x11270000 0x1000>; + #address-cells = <1>; + #size-cells = <0>; + + usb1@1 { + compatible = "usb424,9514"; + reg = <1>; + #address-cells = <1>; + #size-cells = <0>; + + ethernet@1 { + compatible = "usb424,ec00"; + reg = <1>; + }; + }; + };
Create initial schema for Microchip/SMSC LAN95xx USB Ethernet controllers and import all currently supported USB IDs form drivers/net/usb/smsc95xx.c Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de> --- .../bindings/net/microchip,lan95xx.yaml | 82 +++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 Documentation/devicetree/bindings/net/microchip,lan95xx.yaml