Interface and definitions for USB CDC ECM type interfaces. More...
Interface and definitions for USB CDC ECM type interfaces.
Definition in file ecm.h.
#include <stdint.h>#include <stdlib.h>#include "net/ethernet.h"#include "net/ethernet/hdr.h"#include "usb/descriptor.h"#include "usb/usbus.h"#include "usb/usbus/control.h"#include "macros/math.h"#include "net/netdev.h"#include "mutex.h"
Include dependency graph for ecm.h:Go to the source code of this file.
Data Structures | |
| struct | usbus_cdcecm_device |
| USBUS CDC ECM device interface context. More... | |
Macros | |
| #define | CONFIG_USBUS_CDC_ECM_CONFIG_SPEED 1000000 |
| Link throughput as reported by the peripheral. More... | |
| #define | CONFIG_USBUS_CDC_ECM_CONFIG_SPEED_DOWNSTREAM CONFIG_USBUS_CDC_ECM_CONFIG_SPEED |
| Link download speed as reported by the peripheral. | |
| #define | CONFIG_USBUS_CDC_ECM_CONFIG_SPEED_UPSTREAM CONFIG_USBUS_CDC_ECM_CONFIG_SPEED |
| Link upload speed as reported by the peripheral. | |
| #define | USBUS_CDCECM_EP_CTRL_SIZE 16 |
| CDC ECM interrupt endpoint size. More... | |
| #define | USBUS_CDCECM_EP_DATA_SIZE 64 |
| CDC ECM bulk data endpoint size. More... | |
| #define | USBUS_ETHERNET_FRAME_BUF MATH_ALIGN(ETHERNET_FRAME_LEN, USBUS_CDCECM_EP_DATA_SIZE) |
| Full ethernet frame rounded up to a whole number of transfers. | |
| #define | USBUS_CDC_ECM_EP_IN_REQUIRED_NUMOF 2 |
| Number of IN EPs required for the CDC ECM interface. | |
| #define | USBUS_CDC_ECM_EP_OUT_REQUIRED_NUMOF 1 |
| Number of Out EPs required for the CDC ECM interface. | |
Typedefs | |
| typedef struct usbus_cdcecm_device | usbus_cdcecm_device_t |
| USBUS CDC ECM device interface context. | |
Enumerations | |
| enum | usbus_cdcecm_notif_t { USBUS_CDCECM_NOTIF_NONE , USBUS_CDCECM_NOTIF_LINK_UP , USBUS_CDCECM_NOTIF_SPEED } |
| notification state, used to track which information must be send to the host More... | |
Functions | |
| void | usbus_cdcecm_init (usbus_t *usbus, usbus_cdcecm_device_t *handler) |
| CDC ECM initialization function. More... | |