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:
parent
f4910e119a
commit
635a199a47
|
@ -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,
|
||||
};
|
||||
|
||||
|
|
|
@ -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
|
|
@ -0,0 +1,10 @@
|
|||
#ifndef __LPC176X_USB_CDC_EP_H
|
||||
#define __LPC176X_USB_CDC_EP_H
|
||||
|
||||
enum {
|
||||
USB_CDC_EP_ACM = 1,
|
||||
USB_CDC_EP_BULK_OUT = 2,
|
||||
USB_CDC_EP_BULK_IN = 5,
|
||||
};
|
||||
|
||||
#endif // usb_cdc_ep.h
|
|
@ -6,11 +6,12 @@
|
|||
|
||||
#include <string.h> // memcpy
|
||||
#include "LPC17xx.h" // LPC_SC
|
||||
#include "board/usb_cdc.h" // usb_notify_setup
|
||||
#include "byteorder.h" // cpu_to_le32
|
||||
#include "command.h" // output
|
||||
#include "generic/usb_cdc.h" // usb_notify_setup
|
||||
#include "internal.h" // gpio_peripheral
|
||||
#include "sched.h" // DECL_INIT
|
||||
#include "usb_cdc_ep.h" // USB_CDC_EP_BULK_IN
|
||||
|
||||
// Internal endpoint addresses
|
||||
#define EP0OUT 0x00
|
||||
|
|
Loading…
Reference in New Issue