00001
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043 #ifndef _CONF_USB_H_
00044 #define _CONF_USB_H_
00045
00046
00047 #include "modules/usb/usb_commun.h"
00048 #include "modules/usb/usb_commun_hid.h"
00049 #include "modules/usb/usb_commun_ms.h"
00050
00054
00055
00056
00057
00062
00066 #define USB_HOST_FEATURE ENABLED
00067
00071 #define USB_DEVICE_FEATURE ENABLED
00072
00074
00075
00076
00079
00084 #ifndef USE_USB_PADS_REGULATOR
00085 #define USE_USB_PADS_REGULATOR ENABLE // Possible values ENABLE or DISABLE
00086 #endif
00088
00089
00090
00094
00095 #define PIPE_MOUSE_IN pipe_mouse_in
00096 #define PIPE_HID_IN pipe_hid_in
00097 #define PIPE_HID_OUT pipe_hid_out
00098
00099 extern U8 pipe_mouse_in;
00100
00101 extern U8 dfu_connected;
00102 #define Is_dfu_connected() ( dfu_connected ? TRUE : FALSE )
00103 extern U8 hid_connected;
00104 #define Is_hid_connected() ( (hid_connected && Is_host_not_suspended()) ? TRUE : FALSE )
00105
00106
00115 #define VID_PID_TABLE {VID_ATMEL, 2, PID_MegaHIDMouse, 0x2014 \
00116 ,0x0123, 3, 0x2000, 0x2100, 0x1258}
00117
00128 #define CLASS_SUBCLASS_PROTOCOL {\
00129 0x00, 0x00, 0x00,\
00130 HUB_CLASS, 0x00, 0x00,\
00131 MS_CLASS, MS_SUB_CLASS2, MS_PROTOCOL,\
00132 MS_CLASS, MS_SUB_CLASS5, MS_PROTOCOL,\
00133 MS_CLASS, MS_SUB_CLASS6, MS_PROTOCOL,\
00134 HID_CLASS, NO_SUBCLASS, HID_PROTOCOL_MOUSE,\
00135 HID_CLASS, HID_SUB_CLASS_BOOT, HID_PROTOCOL_MOUSE,\
00136 HID_CLASS, NO_SUBCLASS, NO_PROTOCOL,\
00137 }
00138
00140 #define SIZEOF_DATA_STAGE 250
00141
00143 #define DEVICE_BASE_ADDRESS 0x05
00144
00146 #define MAX_EP_PER_INTERFACE 3
00147
00149 #define MAX_INTERFACE_FOR_DEVICE 3
00150
00152 #define MAX_DEVICE_IN_USB_TREE 4
00153
00154 #define SAVE_INTERRUPT_PIPE_FOR_DMS_INTERFACE ENABLE
00155
00157 #if (MAX_DEVICE_IN_USB_TREE>1)
00158 #define USB_HUB_SUPPORT ENABLE
00159 #define USB_MAX_HUB_NUMBER 4
00160 #define HUB_MAX_NB_PORT 4
00161 #else
00162 #define USB_HUB_SUPPORT DISABLE
00163 #endif
00164
00168 #define HOST_STRICT_VID_PID_TABLE DISABLE
00169
00171 #define HOST_AUTO_CFG_ENDPOINT ENABLE
00172
00174 #define HOST_CONTINUOUS_SOF_INTERRUPT DISABLE
00175
00177 #define HOST_ERROR_RESTART ENABLE
00178
00180 #define USB_HOST_PIPE_INTERRUPT_TRANSFER ENABLE
00181
00183 #define ID_PIN_CHANGE_GENERATE_RESET DISABLE
00184
00186 #define TIMEOUT_DELAY_ENABLE ENABLE
00187
00189 #define TIMEOUT_DELAY 10
00190
00192 #define NAK_TIMEOUT_ENABLE DISABLE
00193
00195 #define NAK_SEND_TIMEOUT 0x0FFF
00196
00198 #define NAK_RECEIVE_TIMEOUT 0x0FFF
00199
00201 #define SOFTWARE_VBUS_CTRL ENABLE
00202
00203 #if (HOST_AUTO_CFG_ENDPOINT==FALSE)
00205 #define User_configure_endpoint()
00206 #endif
00207
00211
00212
00213 #define Usb_id_transition_action()
00214 #define Host_device_disconnection_action()
00215 #define Host_device_connection_action()
00216 #define Host_sof_action() host_sof_action()
00217 #define Host_suspend_action()
00218 #define Host_hwup_action()
00219 #define Host_device_not_supported_action()
00220 #define Host_device_class_not_supported_action()
00221 #define Host_device_supported_action()
00222 #define Host_device_error_action()
00224
00225 extern void set_power_down_mode(void);
00226 extern void host_sof_action(void);
00228
00229
00230
00231
00235
00236 #define USB_DEVICE_SN_USE ENABLE // Must be enable to see all disks under Windows in USB device MS mode
00237 #define USE_DEVICE_SN_UNIQUE DISABLE // ignore if USB_DEVICE_SN_USE = DISABLE
00238
00239 #define EP_MOUSE_IN 1
00240 #define EP_MS_IN 2
00241 #define EP_MS_OUT 3
00242 #define EP_HID_IN 4
00243 #define EP_HID_OUT 5
00244
00245 #define Usb_unicode(a) ((U16)(a))
00246
00247 #define USB_REMOTE_WAKEUP_FEATURE DISABLE
00248
00252
00253
00254 #define Usb_sof_action() sof_action();
00255 #define Usb_wake_up_action()
00256 #define Usb_resume_action()
00257 #define Usb_suspend_action()
00258 #define Usb_reset_action()
00259 #define Usb_vbus_on_action()
00260 #define Usb_vbus_off_action()
00261 #define Usb_set_configuration_action()
00263
00264 extern void sof_action(void);
00266
00270
00271
00272 #define Scsi_start_read_action() Led2_on()
00273 #define Scsi_stop_read_action() Led2_off()
00274 #define Scsi_start_write_action() Led3_on()
00275 #define Scsi_stop_write_action() Led3_off()
00277
00279
00280 #endif // _CONF_USB_H_