USB: allow to configure the maximum packet size of EP0
authorarighi <arighi@38d2e660-2303-0410-9eaa-f027e97ec537>
Fri, 11 Feb 2011 15:02:21 +0000 (15:02 +0000)
committerarighi <arighi@38d2e660-2303-0410-9eaa-f027e97ec537>
Fri, 11 Feb 2011 15:02:21 +0000 (15:02 +0000)
All USB devices support endpoint 0 (EP0) when powered up. This endpoint
is the target of the default pipe. After the attachment of a device has
been detected, the USB software uses endpoint 0 to initialise the
device, perform generic (i.e., non device-specific) configuration, and
obtain information about the other endpoints provided by the device.

The descriptor of EP0 is hard-coded into the low-level device driver of
each target platform, and cannot be re-defined by the user to implement
a custom USB device. So, expose the maximum packet size of this special
endpoint as a configurable parameter into the wizard.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4699 38d2e660-2303-0410-9eaa-f027e97ec537

bertos/cfg/cfg_usb.h
bertos/cpu/cortex-m3/drv/usb_stm32.h
boards/stm32-p103/examples/usbkeyboard/cfg/cfg_usb.h
boards/stm32-p103/examples/usbmouse/cfg/cfg_usb.h
boards/stm32-p103/examples/usbserial/cfg/cfg_usb.h

index d1c724c9f843365f8bdb210342b417b4a52de8d1..dbfd6fe1f13afc0a70e83e9dfd97f6521971d1a5 100644 (file)
  */
 #define CONFIG_USB_EP_MAX  0
 
+/**
+ * Maximum packet size of the control endpoint 0 [bytes].
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 8
+ */
+#define CONFIG_EP0_MAX_SIZE 8
+
 #endif /* CFG_USB_H */
index a4cbb6b59d5a35ef68d807ed3e2db2452315d59f..7801e2c8a3940a76858a00c975450a19dad511fb 100644 (file)
@@ -50,7 +50,7 @@
 #define USB_DP_PIN     (1 << 12)
 #define USB_DISC_PIN   (1 << 11)
 
-#define USB_EP0_MAX_SIZE       8
+#define USB_EP0_MAX_SIZE       CONFIG_EP0_MAX_SIZE
 #define USB_XFER_MAX_SIZE      64
 
 #define EP_MAX_SLOTS   USB_EP_MAX
index d1c724c9f843365f8bdb210342b417b4a52de8d1..dbfd6fe1f13afc0a70e83e9dfd97f6521971d1a5 100644 (file)
  */
 #define CONFIG_USB_EP_MAX  0
 
+/**
+ * Maximum packet size of the control endpoint 0 [bytes].
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 8
+ */
+#define CONFIG_EP0_MAX_SIZE 8
+
 #endif /* CFG_USB_H */
index d1c724c9f843365f8bdb210342b417b4a52de8d1..dbfd6fe1f13afc0a70e83e9dfd97f6521971d1a5 100644 (file)
  */
 #define CONFIG_USB_EP_MAX  0
 
+/**
+ * Maximum packet size of the control endpoint 0 [bytes].
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 8
+ */
+#define CONFIG_EP0_MAX_SIZE 8
+
 #endif /* CFG_USB_H */
index d1c724c9f843365f8bdb210342b417b4a52de8d1..dbfd6fe1f13afc0a70e83e9dfd97f6521971d1a5 100644 (file)
  */
 #define CONFIG_USB_EP_MAX  0
 
+/**
+ * Maximum packet size of the control endpoint 0 [bytes].
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 8
+ */
+#define CONFIG_EP0_MAX_SIZE 8
+
 #endif /* CFG_USB_H */