summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2015-02-28 15:07:16 -0800
committerKeith Packard <keithp@keithp.com>2015-02-28 16:10:09 -0800
commitec2d758844202108b446e6b12ec1da8812ceb265 (patch)
tree3fbf29e1bf87dde496c646e1b41c357411a87bd0
parent4af4e36cda96d053458eeb040e35886890917385 (diff)
altos: Allow software to offer other USB interface classes than CDC
This lets some boards offer non-CDC class USB interfaces so that the modem driver doesn't pick them up. Signed-off-by: Keith Packard <keithp@keithp.com>
-rw-r--r--src/kernel/ao_product.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/kernel/ao_product.c b/src/kernel/ao_product.c
index b9327bac..baee8dd6 100644
--- a/src/kernel/ao_product.c
+++ b/src/kernel/ao_product.c
@@ -33,6 +33,10 @@ const char ao_product[] = AO_iProduct_STRING;
#define AO_USB_MAX_POWER 100
#endif
+#ifndef AO_USB_INTERFACE_CLASS
+#define AO_USB_INTERFACE_CLASS 0x02
+#endif
+
#include "ao_usb.h"
/* USB descriptors in one giant block of bytes */
AO_ROMCONFIG_SYMBOL(0x00aa) uint8_t ao_usb_descriptors [] =
@@ -69,7 +73,7 @@ AO_ROMCONFIG_SYMBOL(0x00aa) uint8_t ao_usb_descriptors [] =
0x00, /* bInterfaceNumber */
0x00, /* bAlternateSetting */
0x01, /* bNumEndPoints */
- 0x02, /* bInterfaceClass */
+ AO_USB_INTERFACE_CLASS, /* bInterfaceClass */
0x02, /* bInterfaceSubClass */
0x01, /* bInterfaceProtocol, linux requires value of 1 for the cdc_acm module */
0x00, /* iInterface */