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_cdc.h"
00046
00050
00051
00052
00053
00058
00062 #define USB_HOST_FEATURE ENABLED
00063
00067 #define USB_DEVICE_FEATURE DISABLED
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
00091 #define CDC_GLOB_CLASS 0x02
00092 #define CDC_COMM_CLASS 0x02
00093 #define CDC_DATA_CLASS 0x0A
00094 #define CDC_GLOB_SUBCLASS 0x00
00095 #define CDC_COMM_SUBCLASS 0x02
00096 #define CDC_DATA_SUBCLASS 0x00
00097 #define CDC_GLOB_PROTOCOL 0x00
00098 #define CDC_COMM_PROTOCOL 0x01
00099 #define CDC_DATA_PROTOCOL 0x00
00100
00101
00102 #define PIPE_CDC_COMM pipe_cdc_comm_int
00103 #define PIPE_CDC_DATA_IN pipe_cdc_data_bulkin
00104 #define PIPE_CDC_DATA_OUT pipe_cdc_data_bulkout
00105
00106 extern U8 pipe_cdc_comm_int;
00107 extern U8 pipe_cdc_data_bulkin;
00108 extern U8 pipe_cdc_data_bulkout;
00109
00110
00111
00120 #define VID_PID_TABLE {VID_ATMEL, 1, PID_MegaCDC}
00121
00132 #define CLASS_SUBCLASS_PROTOCOL {\
00133 CDC_COMM_CLASS, CDC_COMM_SUBCLASS, CDC_COMM_PROTOCOL, \
00134 CDC_DATA_CLASS, CDC_DATA_SUBCLASS, CDC_DATA_PROTOCOL \
00135 }
00136
00138 #define SIZEOF_DATA_STAGE 250
00139
00141 #define DEVICE_BASE_ADDRESS 0x05
00142
00144 #define MAX_EP_PER_INTERFACE 3
00145
00147 #define MAX_INTERFACE_FOR_DEVICE 3
00148
00150 #define MAX_DEVICE_IN_USB_TREE 1
00151
00152 #define SAVE_INTERRUPT_PIPE_FOR_DMS_INTERFACE ENABLE
00153
00155 #if (MAX_DEVICE_IN_USB_TREE>1)
00156 #define USB_HUB_SUPPORT ENABLE
00157 #define USB_MAX_HUB_NUMBER 4
00158 #define HUB_MAX_NB_PORT 4
00159 #else
00160 #define USB_HUB_SUPPORT DISABLE
00161 #endif
00162
00166 #define HOST_STRICT_VID_PID_TABLE DISABLE
00167
00169 #define HOST_AUTO_CFG_ENDPOINT ENABLE
00170
00172 #define HOST_CONTINUOUS_SOF_INTERRUPT DISABLE
00173
00175 #define HOST_ERROR_RESTART ENABLE
00176
00178 #define USB_HOST_PIPE_INTERRUPT_TRANSFER ENABLE
00179
00181 #define ID_PIN_CHANGE_GENERATE_RESET ENABLE
00182
00184 #define TIMEOUT_DELAY_ENABLE ENABLE
00185
00187 #define TIMEOUT_DELAY 10
00188
00190 #define NAK_TIMEOUT_ENABLE DISABLE
00191
00193 #define NAK_SEND_TIMEOUT 0x0FFF
00194
00196 #define NAK_RECEIVE_TIMEOUT 0x0FFF
00197
00199 #define SOFTWARE_VBUS_CTRL ENABLE
00200
00201 #if (HOST_AUTO_CFG_ENDPOINT==FALSE)
00203 #define User_configure_endpoint()
00204 #endif
00205
00209
00210
00211 #define Usb_id_transition_action()
00212 #define Host_device_disconnection_action()
00213 #define Host_device_connection_action()
00214 #define Host_sof_action() sof_action()
00215 #define Host_suspend_action()
00216 #define Host_hwup_action()
00217 #define Host_device_not_supported_action()
00218 #define Host_device_class_not_supported_action()
00219 #define Host_device_supported_action()
00220 #define Host_device_error_action()
00221
00222 extern void sof_action(void);
00224
00226
00227
00228
00229
00233
00234 #define USB_DEVICE_SN_USE DISABLE // DISABLE
00235 #define USE_DEVICE_SN_UNIQUE DISABLE // ignore if USB_DEVICE_SN_USE = DISABLE
00236
00237 #define NB_ENDPOINTS 0 // number of endpoints in the application
00238
00239
00240 #define Usb_unicode(a) ((U16)(a))
00241
00245
00246
00247 #define Usb_sof_action()
00248 #define Usb_wake_up_action()
00249 #define Usb_resume_action()
00250 #define Usb_suspend_action()
00251 #define Usb_reset_action()
00252 #define Usb_vbus_on_action()
00253 #define Usb_vbus_off_action()
00254 #define Usb_set_configuration_action()
00256
00258
00259
00261
00262 #endif // _CONF_USB_H_