conf_usb.h

Go to the documentation of this file.
00001 /*This file has been prepared for Doxygen automatic documentation generation.*/
00013 
00014 /* Copyright (c) 2007, Atmel Corporation All rights reserved.
00015  *
00016  * Redistribution and use in source and binary forms, with or without
00017  * modification, are permitted provided that the following conditions are met:
00018  *
00019  * 1. Redistributions of source code must retain the above copyright notice,
00020  * this list of conditions and the following disclaimer.
00021  *
00022  * 2. Redistributions in binary form must reproduce the above copyright notice,
00023  * this list of conditions and the following disclaimer in the documentation
00024  * and/or other materials provided with the distribution.
00025  *
00026  * 3. The name of ATMEL may not be used to endorse or promote products derived
00027  * from this software without specific prior written permission.
00028  *
00029  * THIS SOFTWARE IS PROVIDED BY ATMEL ``AS IS'' AND ANY EXPRESS OR IMPLIED
00030  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
00031  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND
00032  * SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT,
00033  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
00034  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
00035  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
00036  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00037  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
00038  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00039  */
00040 #ifndef _CONF_USB_H_
00041 #define _CONF_USB_H_
00042 
00043 #include "modules/usb/usb_commun.h"
00044 #include "modules/usb/usb_commun_hub.h"
00045 #include "modules/usb/usb_commun_hid.h"
00046 #include "modules/usb/usb_commun_ms.h"
00047 #include "modules/usb/usb_commun_cdc.h"
00048 
00052 
00053 
00054    // _________________ USB MODE CONFIGURATION ____________________________
00055    //
00060 
00064       #define USB_HOST_FEATURE            ENABLED
00065 
00069       #define USB_DEVICE_FEATURE          ENABLED
00070 
00072 
00073    // _________________ USB REGULATOR CONFIGURATION _______________________
00074    //
00077 
00082 #ifndef USE_USB_PADS_REGULATOR
00083    #define USE_USB_PADS_REGULATOR   ENABLE      // Possible values ENABLE or DISABLE
00084 #endif
00086 
00087    // _________________ HOST MODE CONFIGURATION ____________________________
00088    //
00092 
00101    #define VID_PID_TABLE            {VID_ATMEL, 2, PID_MegaHIDMouse, 0x2014 \
00102                                     ,0x0123, 3, 0x2000, 0x2100, 0x1258}
00103 
00114    #define CLASS_SUBCLASS_PROTOCOL     {\
00115                                        0x00, 0x00, 0x00,\
00116                                        0x00,0x55,0xAA}
00117 
00119    #define SIZEOF_DATA_STAGE        250
00120 
00122    #define DEVICE_BASE_ADDRESS      0x05
00123 
00125    #define MAX_EP_PER_INTERFACE     3
00126 
00128    #define MAX_INTERFACE_FOR_DEVICE 3
00129 
00131    #define MAX_DEVICE_IN_USB_TREE   1
00132 
00133 #define SAVE_INTERRUPT_PIPE_FOR_DMS_INTERFACE   ENABLE
00134 
00136 #if (MAX_DEVICE_IN_USB_TREE>1)
00137    #define USB_HUB_SUPPORT          ENABLE
00138    #define USB_MAX_HUB_NUMBER       4
00139    #define HUB_MAX_NB_PORT          4
00140 #else
00141    #define USB_HUB_SUPPORT          DISABLE
00142 #endif
00143 
00147    #define HOST_STRICT_VID_PID_TABLE      DISABLE
00148 
00150    #define HOST_AUTO_CFG_ENDPOINT         ENABLE
00151 
00153    #define HOST_CONTINUOUS_SOF_INTERRUPT  DISABLE
00154 
00156    #define HOST_ERROR_RESTART             ENABLE
00157 
00159    #define USB_HOST_PIPE_INTERRUPT_TRANSFER  ENABLE
00160 
00162    #define ID_PIN_CHANGE_GENERATE_RESET   ENABLE
00163 
00165    #define TIMEOUT_DELAY_ENABLE           ENABLE
00166 
00168    #define TIMEOUT_DELAY               1
00169 
00171    #define NAK_TIMEOUT_ENABLE          ENABLE
00172 
00174    #define NAK_SEND_TIMEOUT            0x0010
00175 
00177    #define NAK_RECEIVE_TIMEOUT         0x0010
00178 
00180    #define SOFTWARE_VBUS_CTRL          ENABLE
00181 
00182    #if (HOST_AUTO_CFG_ENDPOINT==FALSE)
00184       #define        User_configure_endpoint()
00185    #endif
00186 
00190    // write here the action to associate to each USB host event
00191    // be carefull not to waste time in order not disturbing the functions
00192    #define Usb_id_transition_action()
00193    #define Host_device_disconnection_action()
00194    #define Host_device_connection_action()
00195    #define Host_sof_action()
00196    #define Host_suspend_action()
00197    #define Host_hwup_action()
00198    #define Host_device_not_supported_action()
00199    #define Host_device_class_not_supported_action()
00200    #define Host_device_supported_action()
00201    #define Host_device_error_action()
00203 
00204 
00206 
00207 
00208 // _________________ DEVICE MODE CONFIGURATION __________________________
00209 
00213 
00214 #define USB_DEVICE_SN_USE          DISABLE            // DISABLE
00215 #define USE_DEVICE_SN_UNIQUE       DISABLE            // ignore if USB_DEVICE_SN_USE = DISABLE
00216 
00217 #define NB_ENDPOINTS          4  //  number of endpoints in the application including control endpoint
00218 #define EP_TEMP_IN            1
00219 #define EP_TEMP_OUT           2
00220 #define EP_TEMP_INT_IN        3
00221 
00223 #define USB_LOW_SPEED_DEVICE  DISABLE
00224 
00225 #define USB_REMOTE_WAKEUP_FEATURE DISABLE
00226 
00230    // write here the action to associate to each USB event
00231    // be carefull not to waste time in order not disturbing the functions
00232 #define Usb_sof_action()         sof_action();
00233 #define Usb_wake_up_action()
00234 #define Usb_resume_action()
00235 #define Usb_suspend_action()
00236 #define Usb_reset_action()
00237 #define Usb_vbus_on_action()
00238 #define Usb_vbus_off_action()
00239 #define Usb_set_configuration_action()
00241 
00242 extern void sof_action(void);
00244 
00246 
00247 #endif // _CONF_USB_H_

Generated on Mon Nov 3 10:08:23 2008 for ATMEL by  doxygen 1.5.3