Add CDC Ethernet Control Model class implementation for the new experimental USB device support based on the existing implementation subsys/usb/device/class/netusb/function_ecm.c. The implementation forms virtual ethernet connection between USB host and USB device and requires two corresponding MAC addresses, one for the virtual interface on the device side, and other for the host which is described by a string descriptor. With upcoming changes it should also possible to use a real ethernet controller as media access on the device side. CDC ECM implementation supports multiple instances which are specified using DT. The number of instances is limited by the number of endpoints on the controller, two to three should usually be possible. Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
22 lines
507 B
Plaintext
22 lines
507 B
Plaintext
# Copyright (c) 2023 Nordic Semiconductor ASA
|
|
#
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
config USBD_CDC_ECM_CLASS
|
|
bool "USB CDC ECM implementation [EXPERIMENTAL]"
|
|
default y
|
|
depends on NET_L2_ETHERNET
|
|
depends on DT_HAS_ZEPHYR_CDC_ECM_ETHERNET_ENABLED
|
|
help
|
|
USB CDC Ethernet Control Model (ECM) implementation"
|
|
|
|
if USBD_CDC_ECM_CLASS
|
|
|
|
module = USBD_CDC_ECM
|
|
module-str = usbd cdc_ecm
|
|
default-count = 1
|
|
source "subsys/logging/Kconfig.template.log_config"
|
|
rsource "Kconfig.template.instances_count"
|
|
|
|
endif
|