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"
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. | |
#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. | |
#define | USBUS_CDCECM_EP_DATA_SIZE 64 |
CDC ECM bulk data endpoint size. | |
#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. | |