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 
00044 #include "modules/usb/usb_commun.h"
00045 #include "modules/usb/usb_commun_cdc.h"
00046 
00050 
00051 
00052    // _________________ USB MODE CONFIGURATION ____________________________
00053    //
00058 
00062       #define USB_HOST_FEATURE            ENABLED
00063 
00067       #define USB_DEVICE_FEATURE          DISABLED
00068 
00070 
00071    // _________________ USB REGULATOR CONFIGURATION _______________________
00072    //
00075 
00080 #ifndef USE_USB_PADS_REGULATOR
00081    #define USE_USB_PADS_REGULATOR   ENABLE      // Possible values ENABLE or DISABLE
00082 #endif
00084 
00085    // _________________ HOST MODE CONFIGURATION ____________________________
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    // write here the action to associate to each USB host event
00210    // be carefull not to waste time in order not disturbing the functions
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 // _________________ DEVICE MODE CONFIGURATION __________________________
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    // write here the action to associate to each USB event
00246    // be carefull not to waste time in order not disturbing the functions
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_

Generated on Fri Oct 31 16:05:52 2008 for ATMEL by  doxygen 1.5.3