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 #ifndef _CONF_USB_H_
00041 #define _CONF_USB_H_
00042
00043
00044 #include "modules/usb/usb_commun.h"
00045 #include "modules/usb/usb_commun_ms.h"
00046
00050
00051
00052
00053
00058
00062 #define USB_HOST_FEATURE ENABLED
00063
00067 #define USB_DEVICE_FEATURE ENABLED
00068
00070
00071
00072
00075
00080 #ifndef USE_USB_PADS_REGULATOR
00081 #define USE_USB_PADS_REGULATOR ENABLE // Possible values ENABLE or DISABLE
00082 #endif
00084
00085
00086
00090
00099 #define VID_PID_TABLE {VID_ATMEL, 2, PID_MegaHIDMouse, 0x2014 \
00100 ,0x0123, 3, 0x2000, 0x2100, 0x1258}
00101
00112 #define CLASS_SUBCLASS_PROTOCOL {\
00113 0x00, 0x00, 0x00,\
00114 HUB_CLASS, 0x00, 0x00,\
00115 MS_CLASS, MS_SUB_CLASS2, MS_PROTOCOL,\
00116 MS_CLASS, MS_SUB_CLASS5, MS_PROTOCOL,\
00117 MS_CLASS, MS_SUB_CLASS6, MS_PROTOCOL,\
00118 }
00119
00120
00121
00122
00123
00124 #define USB_SUPPORT_MS_SECTOR_WR_MAX 8 // Unit 512B
00125
00127 #define SIZEOF_DATA_STAGE 250
00128
00130 #define DEVICE_BASE_ADDRESS 0x05
00131
00133 #define MAX_EP_PER_INTERFACE 3
00134
00136 #define MAX_INTERFACE_FOR_DEVICE 3
00137
00139 #define MAX_DEVICE_IN_USB_TREE 4
00140
00141 #define SAVE_INTERRUPT_PIPE_FOR_DMS_INTERFACE ENABLE
00142
00144 #if (MAX_DEVICE_IN_USB_TREE>1)
00145 #define USB_HUB_SUPPORT ENABLE
00146 #define USB_MAX_HUB_NUMBER 4
00147 #define HUB_MAX_NB_PORT 4
00148 #else
00149 #define USB_HUB_SUPPORT DISABLE
00150 #endif
00151
00155 #define HOST_STRICT_VID_PID_TABLE DISABLE
00156
00158 #define HOST_AUTO_CFG_ENDPOINT ENABLE
00159
00161 #define HOST_CONTINUOUS_SOF_INTERRUPT DISABLE
00162
00164 #define HOST_ERROR_RESTART ENABLE
00165
00167 #define USB_HOST_PIPE_INTERRUPT_TRANSFER ENABLE
00168
00170 #define ID_PIN_CHANGE_GENERATE_RESET DISABLE
00171
00173 #define TIMEOUT_DELAY_ENABLE ENABLE
00174
00176 #define TIMEOUT_DELAY 20
00177
00179 #define NAK_TIMEOUT_ENABLE DISABLE
00180
00182 #define NAK_SEND_TIMEOUT 0x0FFF
00183
00185 #define NAK_RECEIVE_TIMEOUT 0x0FFF
00186
00188 #define SOFTWARE_VBUS_CTRL ENABLE
00189
00190 #if (HOST_AUTO_CFG_ENDPOINT==FALSE)
00192 #define User_configure_endpoint()
00193 #endif
00194
00198
00199
00200 #define Usb_id_transition_action()
00201 #define Host_device_disconnection_action()
00202 #define Host_device_connection_action()
00203 #define Host_sof_action() host_sof_action()
00204 #define Host_suspend_action()
00205 #define Host_hwup_action()
00206 #define Host_device_not_supported_action()
00207 #define Host_device_class_not_supported_action()
00208 #define Host_device_supported_action()
00209 #define Host_device_error_action()
00211
00212 extern void set_power_down_mode(void);
00213 extern void host_sof_action(void);
00215
00216
00217
00218
00222
00223 #define USB_DEVICE_SN_USE ENABLE // Must be enable to see all disks under Windows in USB device MS mode
00224 #define USE_DEVICE_SN_UNIQUE DISABLE // ignore if USB_DEVICE_SN_USE = DISABLE
00225
00226 #define EP_MS_IN 1
00227 #define EP_MS_OUT 2
00228
00229 #define Usb_unicode(a) ((U16)(a))
00230
00231 #define USB_REMOTE_WAKEUP_FEATURE DISABLE
00232
00236
00237
00238 #define Usb_sof_action()
00239 #define Usb_wake_up_action()
00240 #define Usb_resume_action()
00241 #define Usb_suspend_action()
00242 #define Usb_reset_action()
00243 #define Usb_vbus_on_action()
00244 #define Usb_vbus_off_action()
00245 #define Usb_set_configuration_action()
00247
00248 extern void sof_action(void);
00250
00254
00255
00256 #define Scsi_start_read_action() Led1_on()
00257 #define Scsi_stop_read_action() Led1_off()
00258 #define Scsi_start_write_action() Led3_on()
00259 #define Scsi_stop_write_action() Led3_off()
00261
00263
00264 #endif // _CONF_USB_H_