diff --git a/configs/gwventana_emmc_defconfig b/configs/gwventana_emmc_defconfig index 35d9e1ac27dc9a40fd55343842fa2cb7f3c9110a..03d732d8f11e3cebc6db09d2148bf3868c3faf9c 100644 --- a/configs/gwventana_emmc_defconfig +++ b/configs/gwventana_emmc_defconfig @@ -69,6 +69,7 @@ CONFIG_G_DNL_MANUFACTURER="Gateworks" CONFIG_G_DNL_VENDOR_NUM=0x0525 CONFIG_G_DNL_PRODUCT_NUM=0xa4a5 CONFIG_USB_ETHER=y +CONFIG_USB_ETH_CDC=y CONFIG_USB_HOST_ETHER=y CONFIG_USB_ETHER_ASIX=y CONFIG_USB_ETHER_SMSC95XX=y diff --git a/configs/gwventana_gw5904_defconfig b/configs/gwventana_gw5904_defconfig index ca7eb5ac573e26ec3916dee0739fe9e544c96d10..51aa13dbaca38263facc63f49ff087d9cdbd6d76 100644 --- a/configs/gwventana_gw5904_defconfig +++ b/configs/gwventana_gw5904_defconfig @@ -73,6 +73,7 @@ CONFIG_G_DNL_MANUFACTURER="Gateworks" CONFIG_G_DNL_VENDOR_NUM=0x0525 CONFIG_G_DNL_PRODUCT_NUM=0xa4a5 CONFIG_USB_ETHER=y +CONFIG_USB_ETH_CDC=y CONFIG_USB_HOST_ETHER=y CONFIG_USB_ETHER_ASIX=y CONFIG_USB_ETHER_SMSC95XX=y diff --git a/configs/gwventana_nand_defconfig b/configs/gwventana_nand_defconfig index cb9655574888b758735b450f9f0f06948d6c7a18..4b2e1a752935bc3b4e2b427525fd70a648f57d81 100644 --- a/configs/gwventana_nand_defconfig +++ b/configs/gwventana_nand_defconfig @@ -72,6 +72,7 @@ CONFIG_G_DNL_MANUFACTURER="Gateworks" CONFIG_G_DNL_VENDOR_NUM=0x0525 CONFIG_G_DNL_PRODUCT_NUM=0xa4a5 CONFIG_USB_ETHER=y +CONFIG_USB_ETH_CDC=y CONFIG_USB_HOST_ETHER=y CONFIG_USB_ETHER_ASIX=y CONFIG_USB_ETHER_SMSC95XX=y diff --git a/configs/mx6qsabrelite_defconfig b/configs/mx6qsabrelite_defconfig index bab0d0c79f0d5476d9ef856c48eef18cae35fd85..f716c8fd7f779018b96677e78dcff6386e4aff7d 100644 --- a/configs/mx6qsabrelite_defconfig +++ b/configs/mx6qsabrelite_defconfig @@ -55,5 +55,6 @@ CONFIG_G_DNL_MANUFACTURER="Boundary" CONFIG_G_DNL_VENDOR_NUM=0x0525 CONFIG_G_DNL_PRODUCT_NUM=0xa4a5 CONFIG_USB_ETHER=y +CONFIG_USB_ETH_CDC=y # CONFIG_VIDEO_SW_CURSOR is not set CONFIG_OF_LIBFDT=y diff --git a/configs/nitrogen6dl2g_defconfig b/configs/nitrogen6dl2g_defconfig index 0d19b85a30f3b8a3b681d4eff135b174ed12a3f0..fd4a465581299a5562202c53195c614b4b82b01c 100644 --- a/configs/nitrogen6dl2g_defconfig +++ b/configs/nitrogen6dl2g_defconfig @@ -52,5 +52,6 @@ CONFIG_G_DNL_MANUFACTURER="Boundary" CONFIG_G_DNL_VENDOR_NUM=0x0525 CONFIG_G_DNL_PRODUCT_NUM=0xa4a5 CONFIG_USB_ETHER=y +CONFIG_USB_ETH_CDC=y # CONFIG_VIDEO_SW_CURSOR is not set CONFIG_OF_LIBFDT=y diff --git a/configs/nitrogen6dl_defconfig b/configs/nitrogen6dl_defconfig index a20580eb77bbcaf529ae6cd7cf4e7095c4fea063..30046e3f3a077dcb45d05c19d849a48bcd085aca 100644 --- a/configs/nitrogen6dl_defconfig +++ b/configs/nitrogen6dl_defconfig @@ -52,5 +52,6 @@ CONFIG_G_DNL_MANUFACTURER="Boundary" CONFIG_G_DNL_VENDOR_NUM=0x0525 CONFIG_G_DNL_PRODUCT_NUM=0xa4a5 CONFIG_USB_ETHER=y +CONFIG_USB_ETH_CDC=y # CONFIG_VIDEO_SW_CURSOR is not set CONFIG_OF_LIBFDT=y diff --git a/configs/nitrogen6q2g_defconfig b/configs/nitrogen6q2g_defconfig index 940c74a5ece267f8bc675089ce7b90f35a911790..f9160c208fe777a02820af5c9a3ece78c40fee84 100644 --- a/configs/nitrogen6q2g_defconfig +++ b/configs/nitrogen6q2g_defconfig @@ -53,5 +53,6 @@ CONFIG_G_DNL_MANUFACTURER="Boundary" CONFIG_G_DNL_VENDOR_NUM=0x0525 CONFIG_G_DNL_PRODUCT_NUM=0xa4a5 CONFIG_USB_ETHER=y +CONFIG_USB_ETH_CDC=y # CONFIG_VIDEO_SW_CURSOR is not set CONFIG_OF_LIBFDT=y diff --git a/configs/nitrogen6q_defconfig b/configs/nitrogen6q_defconfig index 83772cb2efcf7c032542b5885ae70bd6e061dbc4..8bca0e04439e3ce36f223d8193d46197182cda64 100644 --- a/configs/nitrogen6q_defconfig +++ b/configs/nitrogen6q_defconfig @@ -53,5 +53,6 @@ CONFIG_G_DNL_MANUFACTURER="Boundary" CONFIG_G_DNL_VENDOR_NUM=0x0525 CONFIG_G_DNL_PRODUCT_NUM=0xa4a5 CONFIG_USB_ETHER=y +CONFIG_USB_ETH_CDC=y # CONFIG_VIDEO_SW_CURSOR is not set CONFIG_OF_LIBFDT=y diff --git a/configs/nitrogen6s1g_defconfig b/configs/nitrogen6s1g_defconfig index 862b41a3f8c940b2ea38d7c4f327ccb155ab15db..668fbaa37010db514c9cb90ba9ad7ec4da3a77a8 100644 --- a/configs/nitrogen6s1g_defconfig +++ b/configs/nitrogen6s1g_defconfig @@ -52,5 +52,6 @@ CONFIG_G_DNL_MANUFACTURER="Boundary" CONFIG_G_DNL_VENDOR_NUM=0x0525 CONFIG_G_DNL_PRODUCT_NUM=0xa4a5 CONFIG_USB_ETHER=y +CONFIG_USB_ETH_CDC=y # CONFIG_VIDEO_SW_CURSOR is not set CONFIG_OF_LIBFDT=y diff --git a/configs/nitrogen6s_defconfig b/configs/nitrogen6s_defconfig index e5376313b9bd1fe27a997201c71c1434f2b6ff0a..99106c9a1f5a5f7cb889ef7180236ba7d5e957ca 100644 --- a/configs/nitrogen6s_defconfig +++ b/configs/nitrogen6s_defconfig @@ -52,5 +52,6 @@ CONFIG_G_DNL_MANUFACTURER="Boundary" CONFIG_G_DNL_VENDOR_NUM=0x0525 CONFIG_G_DNL_PRODUCT_NUM=0xa4a5 CONFIG_USB_ETHER=y +CONFIG_USB_ETH_CDC=y # CONFIG_VIDEO_SW_CURSOR is not set CONFIG_OF_LIBFDT=y diff --git a/configs/novena_defconfig b/configs/novena_defconfig index 786ab2854f70ce71c35106603e0eb460e7addb8b..a7056ff13771891a1bc9b93b0c9495738a389954 100644 --- a/configs/novena_defconfig +++ b/configs/novena_defconfig @@ -49,6 +49,7 @@ CONFIG_SYS_USB_EVENT_POLL_VIA_CONTROL_EP=y CONFIG_USB_GADGET=y CONFIG_CI_UDC=y CONFIG_USB_ETHER=y +CONFIG_USB_ETH_CDC=y CONFIG_USB_HOST_ETHER=y CONFIG_USB_ETHER_ASIX=y CONFIG_USB_ETHER_SMSC95XX=y diff --git a/configs/sansa_fuze_plus_defconfig b/configs/sansa_fuze_plus_defconfig index c6d50ccb8e15d411cd8671252bf3d10371173d8f..b5443dda98a9de65791158e9f3549fb18e2265f3 100644 --- a/configs/sansa_fuze_plus_defconfig +++ b/configs/sansa_fuze_plus_defconfig @@ -33,4 +33,5 @@ CONFIG_USB_EHCI_HCD=y CONFIG_USB_GADGET=y CONFIG_CI_UDC=y CONFIG_USB_ETHER=y +CONFIG_USB_ETH_CDC=y CONFIG_OF_LIBFDT=y diff --git a/configs/warp7_defconfig b/configs/warp7_defconfig index 8a3717facdbd060843e7b10e8e3b6caf3afd6dd4..32cf7a4da4b48fadd90720493cf07f1f1ea22a34 100644 --- a/configs/warp7_defconfig +++ b/configs/warp7_defconfig @@ -39,5 +39,6 @@ CONFIG_G_DNL_MANUFACTURER="FSL" CONFIG_G_DNL_VENDOR_NUM=0x0525 CONFIG_G_DNL_PRODUCT_NUM=0xa4a5 CONFIG_USB_ETHER=y +CONFIG_USB_ETH_CDC=y CONFIG_USBNET_HOST_ADDR="de:ad:be:af:00:00" CONFIG_OF_LIBFDT=y diff --git a/configs/warp7_secure_defconfig b/configs/warp7_secure_defconfig index 83a06079fdc5b589716716e5b5eb0eecc7cfe888..99764dbd0bb11b526341cb8958bc1ef744329934 100644 --- a/configs/warp7_secure_defconfig +++ b/configs/warp7_secure_defconfig @@ -37,5 +37,6 @@ CONFIG_G_DNL_MANUFACTURER="FSL" CONFIG_G_DNL_VENDOR_NUM=0x0525 CONFIG_G_DNL_PRODUCT_NUM=0xa4a5 CONFIG_USB_ETHER=y +CONFIG_USB_ETH_CDC=y CONFIG_USBNET_HOST_ADDR="de:ad:be:af:00:00" CONFIG_OF_LIBFDT=y diff --git a/configs/xfi3_defconfig b/configs/xfi3_defconfig index 6cc78452829c1c46a1d831b67d0501cb6ea0da0c..91768a4a7106803259ed3c81f5a356d42d68fe8b 100644 --- a/configs/xfi3_defconfig +++ b/configs/xfi3_defconfig @@ -32,4 +32,5 @@ CONFIG_USB_EHCI_HCD=y CONFIG_USB_GADGET=y CONFIG_CI_UDC=y CONFIG_USB_ETHER=y +CONFIG_USB_ETH_CDC=y CONFIG_OF_LIBFDT=y diff --git a/drivers/usb/gadget/Kconfig b/drivers/usb/gadget/Kconfig index 6558d2458b143b553038e318517d5243e7e4c003..7a1ee74a555526069d82a2d7773f02eac7f349b7 100644 --- a/drivers/usb/gadget/Kconfig +++ b/drivers/usb/gadget/Kconfig @@ -133,6 +133,34 @@ config USB_ETHER if USB_ETHER +choice + prompt "USB Ethernet Gadget Model" + default 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 USB_ETH_CDC + bool "CDC-ECM Protocol" + help + CDC (Communications Device Class) is the standard for Ethernet over + USB devices. While there's several alternatives, the most widely used + protocol is ECM (Ethernet Control Model). However, compatibility with + Windows is not that great. + +config 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 + config USBNET_DEVADDR string "USB Gadget Ethernet device mac address" default "de:ad:be:ef:00:01" diff --git a/include/configs/am335x_evm.h b/include/configs/am335x_evm.h index 9238c4bb769c9a71e52c33585441759bd282c218..96294679bf9b615dfc0b85a50274cc86fb3c8933 100644 --- a/include/configs/am335x_evm.h +++ b/include/configs/am335x_evm.h @@ -263,10 +263,6 @@ #define CONFIG_AM335X_USB1 #define CONFIG_AM335X_USB1_MODE MUSB_HOST -#ifdef CONFIG_USB_MUSB_GADGET -#define CONFIG_USB_ETH_RNDIS -#endif /* CONFIG_USB_MUSB_GADGET */ - /* * Disable MMC DM for SPL build and can be re-enabled after adding * DM support in SPL diff --git a/include/configs/am3517_evm.h b/include/configs/am3517_evm.h index 6dc58d3bc33f7d967ec5235103599cdd2ec09c66..43fcfb25937ffd1c802b5d321df363b290fb2b42 100644 --- a/include/configs/am3517_evm.h +++ b/include/configs/am3517_evm.h @@ -55,10 +55,6 @@ #endif /* CONFIG_USB_MUSB_HOST */ -#ifdef CONFIG_USB_MUSB_GADGET -#define CONFIG_USB_ETH_RNDIS -#endif /* CONFIG_USB_MUSB_GADGET */ - #endif /* CONFIG_USB_MUSB_AM35X */ /* I2C */ diff --git a/include/configs/baltos.h b/include/configs/baltos.h index 380a78918f2932b2ef7cd8b3c5283b68ae9eb290..44af4d3deec8b95b5640be84f3c66de95d1eb076 100644 --- a/include/configs/baltos.h +++ b/include/configs/baltos.h @@ -283,10 +283,6 @@ #define CONFIG_AM335X_USB1 #define CONFIG_AM335X_USB1_MODE MUSB_OTG -#ifdef CONFIG_USB_MUSB_GADGET -#define CONFIG_USB_ETH_RNDIS -#endif /* CONFIG_USB_MUSB_GADGET */ - #if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_USBETH_SUPPORT) /* disable host part of MUSB in SPL */ /* disable EFI partitions and partition UUID support */ diff --git a/include/configs/gw_ventana.h b/include/configs/gw_ventana.h index 5ec23a731f3a1d272334af059b8386f3dce5c7ad..a93172ace1f7e90c3895d1db9cfdf24d9300fbd0 100644 --- a/include/configs/gw_ventana.h +++ b/include/configs/gw_ventana.h @@ -146,7 +146,6 @@ #define CONFIG_MXC_USB_PORTSC (PORT_PTS_UTMI | PORT_PTS_PTW) #define CONFIG_MXC_USB_FLAGS 0 #define CONFIG_USBD_HS -#define CONFIG_USB_ETH_CDC #define CONFIG_NETCONSOLE /* USB Mass Storage Gadget */ diff --git a/include/configs/ma5d4evk.h b/include/configs/ma5d4evk.h index 8193e7eadf54fea391af081d14a0f1e67c620cab..ad3abf911626b7353ae37d04bd54ce77eb4a04b2 100644 --- a/include/configs/ma5d4evk.h +++ b/include/configs/ma5d4evk.h @@ -100,7 +100,6 @@ #ifdef CONFIG_CMD_USB /* USB device */ -#define CONFIG_USB_ETH_RNDIS #define CONFIG_USBNET_MANUFACTURER "AriesEmbedded" #define CONFIG_USB_FUNCTION_MASS_STORAGE #define CONFIG_SYS_DFU_DATA_BUF_SIZE (1 * 1024 * 1024) diff --git a/include/configs/nitrogen6x.h b/include/configs/nitrogen6x.h index eb38eae26fd0e293d4517ba94603c4a36bba1e76..b847906310058ebf999f3834b5ff4fe43b327b90 100644 --- a/include/configs/nitrogen6x.h +++ b/include/configs/nitrogen6x.h @@ -19,7 +19,6 @@ #define CONFIG_MISC_INIT_R #define CONFIG_USBD_HS -#define CONFIG_USB_ETH_CDC #define CONFIG_NETCONSOLE #define CONFIG_MXC_UART diff --git a/include/configs/novena.h b/include/configs/novena.h index 5f70655d62265379a2ca5dc49554d682d2faccfa..ac00975a8c3f6da951edfbaacfc42b1ed372b39f 100644 --- a/include/configs/novena.h +++ b/include/configs/novena.h @@ -129,7 +129,6 @@ #define CONFIG_MXC_USB_FLAGS 0 /* Gadget part */ #define CONFIG_USBD_HS -#define CONFIG_USB_ETH_CDC #define CONFIG_NETCONSOLE #endif diff --git a/include/configs/pcm051.h b/include/configs/pcm051.h index 309bbd6bd36fd06a77bc0f0ce06b204188b12896..79f3f48df87e4f8250a15b35d99becd56f162bf1 100644 --- a/include/configs/pcm051.h +++ b/include/configs/pcm051.h @@ -133,10 +133,6 @@ #define CONFIG_AM335X_USB1 #define CONFIG_AM335X_USB1_MODE MUSB_HOST -#ifdef CONFIG_USB_MUSB_GADGET -#define CONFIG_USB_ETH_RNDIS -#endif /* CONFIG_USB_MUSB_GADGET */ - #define CONFIG_PHY_SMSC #endif /* ! __CONFIG_PCM051_H */ diff --git a/include/configs/sama5d2_ptc.h b/include/configs/sama5d2_ptc.h index 46dcdea800f34c50c8dfbd012c9cb84f545bf94e..ff129016c4d3806025975a467ff68c98e7887416 100644 --- a/include/configs/sama5d2_ptc.h +++ b/include/configs/sama5d2_ptc.h @@ -62,7 +62,6 @@ #endif /* USB device */ -#define CONFIG_USB_ETH_RNDIS #define CONFIG_USBNET_MANUFACTURER "Atmel SAMA5D2_PTC" /* Ethernet Hardware */ diff --git a/include/configs/sansa_fuze_plus.h b/include/configs/sansa_fuze_plus.h index 9e33ca42270c3a3bb144e67895e39b80ff272458..99200140fe5ed4d1b99bcba6c5892e60d7e9d95b 100644 --- a/include/configs/sansa_fuze_plus.h +++ b/include/configs/sansa_fuze_plus.h @@ -39,7 +39,6 @@ #define CONFIG_EHCI_MXS_PORT0 #define CONFIG_USB_MAX_CONTROLLER_COUNT 1 -#define CONFIG_USB_ETH_CDC #define CONFIG_NETCONSOLE #endif diff --git a/include/configs/siemens-am33x-common.h b/include/configs/siemens-am33x-common.h index 0600984f95aa1d6f89b31f449927bcdfa628351e..1997c2dd5ae4d84e1bb03afc1d4dee03ed5ac9ea 100644 --- a/include/configs/siemens-am33x-common.h +++ b/include/configs/siemens-am33x-common.h @@ -178,10 +178,6 @@ #define CONFIG_AM335X_USB1 #define CONFIG_AM335X_USB1_MODE MUSB_HOST -#ifdef CONFIG_USB_MUSB_GADGET -#define CONFIG_USB_ETH_RNDIS -#endif /* CONFIG_USB_MUSB_GADGET */ - /* USB DRACO ID as default */ #define CONFIG_USBD_HS diff --git a/include/configs/vinco.h b/include/configs/vinco.h index 7f9a4c3ae45e21f8624d08028cedbd114bc36ab3..de6fa9b7c584e1af6ca53f4a591f053146853c5d 100644 --- a/include/configs/vinco.h +++ b/include/configs/vinco.h @@ -67,7 +67,6 @@ #endif /* USB device */ -#define CONFIG_USB_ETH_RNDIS #define CONFIG_USBNET_MANUFACTURER "L+G VInCo" /* Ethernet Hardware */ diff --git a/include/configs/warp7.h b/include/configs/warp7.h index 05ae3542a9ad8da29a0009aab7b54d855141f2c0..11f1bc3eab75c9f3f95416da5c5dae387e8593eb 100644 --- a/include/configs/warp7.h +++ b/include/configs/warp7.h @@ -136,8 +136,6 @@ #define CONFIG_SYS_DFU_DATA_BUF_SIZE SZ_16M #define DFU_DEFAULT_POLL_TIMEOUT 300 -#define CONFIG_USB_ETH_CDC -#define CONFIG_USB_ETH_RNDIS #define CONFIG_USBNET_DEV_ADDR "de:ad:be:af:00:01" #endif diff --git a/include/configs/xfi3.h b/include/configs/xfi3.h index 7bbfd75c0cb83e0720cd86906be9fc07a78bd3b3..1e70a762e0d9e6991044f338914633dfd35f7913 100644 --- a/include/configs/xfi3.h +++ b/include/configs/xfi3.h @@ -39,7 +39,6 @@ #define CONFIG_EHCI_MXS_PORT0 #define CONFIG_USB_MAX_CONTROLLER_COUNT 1 -#define CONFIG_USB_ETH_CDC #define CONFIG_NETCONSOLE #endif diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt index d08394c2ab05515c05cb6b40a04c9101a58718ef..80927d614b66d54fafdf75966bcb123f7b5ba37c 100644 --- a/scripts/config_whitelist.txt +++ b/scripts/config_whitelist.txt @@ -5003,9 +5003,7 @@ CONFIG_USB_EHCI_TEGRA CONFIG_USB_EHCI_TXFIFO_THRESH CONFIG_USB_EHCI_VCT CONFIG_USB_EHCI_VF -CONFIG_USB_ETH_CDC CONFIG_USB_ETH_QMULT -CONFIG_USB_ETH_RNDIS CONFIG_USB_ETH_SUBSET CONFIG_USB_EXT2_BOOT CONFIG_USB_FAT_BOOT