]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
usb: gadget: Add and use matching SPL USB ethernet gadget Kconfig symbols
authorMarek Vasut <marex@denx.de>
Sat, 6 May 2023 14:42:40 +0000 (16:42 +0200)
committerMarek Vasut <marex@denx.de>
Tue, 16 May 2023 23:51:39 +0000 (01:51 +0200)
Define SPL_USB_ETH_RNDIS symbol to make it possible to select USB
gadget ethernet support in SPL and U-Boot separately in Kconfig .
Make use of the new symbols in gadget Makefile and move the rndis.o
just below the now merged USB_ETHER symbol in Makefile.

Signed-off-by: Marek Vasut <marex@denx.de>
Reviewed-by: Tom Rini <trini@konsulko.com>
drivers/usb/gadget/Kconfig
drivers/usb/gadget/Makefile

index 6f85089a9bf5c59285a1e70ba7f250351fa453bf..1cfe602284242e698e0d9d8785d7a4c3aff76066 100644 (file)
@@ -285,6 +285,30 @@ config SPL_USB_ETHER
          since the network stack uses a number of environment variables.
          See also SPL_NET and SPL_ETH.
 
+if SPL_USB_ETHER
+
+choice
+       prompt "USB Ethernet Gadget Model in SPL"
+       default SPL_USB_ETH_RNDIS
+       help
+         There is several models (protocols) to implement Ethernet over USB
+         devices. The main ones are Microsoft's RNDIS and USB's CDC-Ethernet
+         (also called CDC-ECM). RNDIS is obviously compatible with Windows,
+         while CDC-ECM is not. Most other operating systems support both, so
+         if inter-operability is a concern, RNDIS is to be preferred.
+
+config SPL_USB_ETH_RNDIS
+       bool "RNDIS Protocol"
+       help
+         The RNDIS (Remote Network Driver Interface Specification) is a
+         Microsoft proprietary protocol to create an Ethernet device over USB.
+         Windows obviously supports it, as well as all the major operating
+         systems, so it's the best option for compatibility.
+
+endchoice
+
+endif # SPL_USB_ETHER
+
 config SPL_DFU
        bool "Support DFU (Device Firmware Upgrade) in SPL"
        select SPL_HASH
index a9edeb9f39636c53e475d49f727cf7616cc2dc60..6abcce0d9c7cb8cace3f70831d0206e448bceedf 100644 (file)
@@ -5,6 +5,7 @@
 
 obj-$(CONFIG_$(SPL_TPL_)USB_GADGET) += epautoconf.o config.o usbstring.o
 obj-$(CONFIG_$(SPL_TPL_)USB_ETHER) += epautoconf.o config.o usbstring.o ether.o
+obj-$(CONFIG_$(SPL_TPL_)USB_ETH_RNDIS) += rndis.o
 
 ifdef CONFIG_SPL_BUILD
 obj-$(CONFIG_SPL_USB_GADGET) += g_dnl.o
@@ -34,8 +35,6 @@ endif
 
 obj-$(CONFIG_CI_UDC) += ci_udc.o
 
-obj-$(CONFIG_USB_ETH_RNDIS) += rndis.o
-
 # Devices not related to the new gadget layer depend on CONFIG_USB_DEVICE
 # This is really only N900 and USBTTY now.
 obj-$(CONFIG_USB_DEVICE) += core.o ep0.o