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_ms.h"
00049
00053
00054
00055
00056
00061
00065 #define USB_HOST_FEATURE ENABLED
00066
00070 #define USB_DEVICE_FEATURE ENABLED
00071
00073
00074
00075
00078
00083 #ifndef USE_USB_PADS_REGULATOR
00084 #define USE_USB_PADS_REGULATOR ENABLE // Possible values ENABLE or DISABLE
00085 #endif
00087
00088
00089
00093
00102 #define VID_PID_TABLE {VID_ATMEL, 2, PID_MegaHIDMouse, 0x2014 \
00103 ,0x0123, 3, 0x2000, 0x2100, 0x1258}
00104
00115 #define CLASS_SUBCLASS_PROTOCOL {\
00116 0x00, 0x00, 0x00,\
00117 HUB_CLASS, 0x00, 0x00,\
00118 MS_CLASS, MS_SUB_CLASS2, MS_PROTOCOL,\
00119 MS_CLASS, MS_SUB_CLASS5, MS_PROTOCOL,\
00120 MS_CLASS, MS_SUB_CLASS6, MS_PROTOCOL,\
00121 }
00122
00123
00124
00125
00126
00127 #define USB_SUPPORT_MS_SECTOR_WR_MAX 4 // Unit 512B
00128
00130 #define SIZEOF_DATA_STAGE 250
00131
00133 #define DEVICE_BASE_ADDRESS 0x05
00134
00136 #define MAX_EP_PER_INTERFACE 3
00137
00139 #define MAX_INTERFACE_FOR_DEVICE 3
00140
00142 #define MAX_DEVICE_IN_USB_TREE 4
00143
00144 #define SAVE_INTERRUPT_PIPE_FOR_DMS_INTERFACE ENABLE
00145
00147 #if (MAX_DEVICE_IN_USB_TREE>1)
00148 #define USB_HUB_SUPPORT ENABLE
00149 #define USB_MAX_HUB_NUMBER 4
00150 #define HUB_MAX_NB_PORT 4
00151 #else
00152 #define USB_HUB_SUPPORT DISABLE
00153 #endif
00154
00158 #define HOST_STRICT_VID_PID_TABLE DISABLE
00159
00161 #define HOST_AUTO_CFG_ENDPOINT ENABLE
00162
00164 #define HOST_CONTINUOUS_SOF_INTERRUPT DISABLE
00165
00167 #define HOST_ERROR_RESTART ENABLE
00168
00170 #define USB_HOST_PIPE_INTERRUPT_TRANSFER ENABLE
00171
00173 #define ID_PIN_CHANGE_GENERATE_RESET DISABLE
00174
00176 #define TIMEOUT_DELAY_ENABLE ENABLE
00177
00179 #define TIMEOUT_DELAY 20
00180
00182 #define NAK_TIMEOUT_ENABLE DISABLE
00183
00185 #define NAK_SEND_TIMEOUT 0x0FFF
00186
00188 #define NAK_RECEIVE_TIMEOUT 0x0FFF
00189
00191 #define SOFTWARE_VBUS_CTRL ENABLE
00192
00193 #if (HOST_AUTO_CFG_ENDPOINT==FALSE)
00195 #define User_configure_endpoint()
00196 #endif
00197
00201
00202
00203 #define Usb_id_transition_action()
00204 #define Host_device_disconnection_action()
00205 #define Host_device_connection_action()
00206 #define Host_sof_action() host_sof_action()
00207 #define Host_suspend_action()
00208 #define Host_hwup_action()
00209 #define Host_device_not_supported_action()
00210 #define Host_device_class_not_supported_action()
00211 #define Host_device_supported_action()
00212 #define Host_device_error_action()
00214
00215 extern void set_power_down_mode(void);
00216 extern void host_sof_action(void);
00218
00219
00220
00221
00225
00226 #define USB_DEVICE_SN_USE ENABLE // Must be enable to see all disks under Windows in USB device MS mode
00227 #define USE_DEVICE_SN_UNIQUE DISABLE // ignore if USB_DEVICE_SN_USE = DISABLE
00228
00229 #define EP_MS_IN 1
00230 #define EP_MS_OUT 2
00231
00232 #define Usb_unicode(a) ((U16)(a))
00233
00234 #define USB_REMOTE_WAKEUP_FEATURE DISABLE
00235
00239
00240
00241 #define Usb_sof_action()
00242 #define Usb_wake_up_action()
00243 #define Usb_resume_action()
00244 #define Usb_suspend_action()
00245 #define Usb_reset_action()
00246 #define Usb_vbus_on_action()
00247 #define Usb_vbus_off_action()
00248 #define Usb_set_configuration_action()
00250
00251 extern void sof_action(void);
00253
00257
00258
00259 #define Scsi_start_read_action() Led2_on()
00260 #define Scsi_stop_read_action() Led2_off()
00261 #define Scsi_start_write_action() Led3_on()
00262 #define Scsi_stop_write_action() Led3_off()
00264
00266
00267 #endif // _CONF_USB_H_