usb_cdc: Allow USB endpoint ids to be board specific
It's common for boards to have restrictions on the type of each endpoint. So, make it possible for the board to select the endpoint ids for each endpoint. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
@@ -6,12 +6,13 @@
|
||||
|
||||
#include <string.h> // memmove
|
||||
#include "board/pgm.h" // PROGMEM
|
||||
#include "board/usb_cdc.h" // usb_notify_setup
|
||||
#include "board/usb_cdc_ep.h" // USB_CDC_EP_BULK_IN
|
||||
#include "byteorder.h" // cpu_to_le16
|
||||
#include "command.h" // output
|
||||
#include "generic/usbstd.h" // struct usb_device_descriptor
|
||||
#include "generic/usbstd_cdc.h" // struct usb_cdc_header_descriptor
|
||||
#include "sched.h" // sched_wake_task
|
||||
#include "usb_cdc.h" // usb_notify_setup
|
||||
|
||||
// XXX - move to Kconfig
|
||||
#define CONFIG_USB_VENDOR_ID 0x2341
|
||||
|
||||
@@ -3,17 +3,11 @@
|
||||
|
||||
#include <stdint.h> // uint_fast8_t
|
||||
|
||||
// endpoint sizes
|
||||
enum {
|
||||
USB_CDC_EP0_SIZE = 16,
|
||||
|
||||
// XXX - endpoint ids may need to changed per-board
|
||||
USB_CDC_EP_ACM = 1,
|
||||
USB_CDC_EP_ACM_SIZE = 8,
|
||||
|
||||
USB_CDC_EP_BULK_OUT = 2,
|
||||
USB_CDC_EP_BULK_OUT_SIZE = 64,
|
||||
|
||||
USB_CDC_EP_BULK_IN = 5,
|
||||
USB_CDC_EP_BULK_IN_SIZE = 64,
|
||||
};
|
||||
|
||||
|
||||
11
src/generic/usb_cdc_ep.h
Normal file
11
src/generic/usb_cdc_ep.h
Normal file
@@ -0,0 +1,11 @@
|
||||
#ifndef __GENERIC_USB_CDC_EP_H
|
||||
#define __GENERIC_USB_CDC_EP_H
|
||||
|
||||
// Default USB endpoint ids
|
||||
enum {
|
||||
USB_CDC_EP_ACM = 1,
|
||||
USB_CDC_EP_BULK_OUT = 2,
|
||||
USB_CDC_EP_BULK_IN = 3,
|
||||
};
|
||||
|
||||
#endif // usb_cdc_ep.h
|
||||
Reference in New Issue
Block a user