usb: gadget: Add and use matching SPL USB ethernet gadget Kconfig symbols

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>
This commit is contained in:
Marek Vasut 2023-05-06 16:42:40 +02:00
parent 0007fb2ff7
commit da83ada02a
2 changed files with 25 additions and 2 deletions

View 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

View 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