LPCOpen Platform
v1.03
LPCOpen Platform for NXP LPC Microcontrollers
Main Page
Modules
Data Structures
Files
Related Pages
File List
Globals
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
USBMode.h
Go to the documentation of this file.
1
/*
2
* @brief USB mode and feature support definitions
3
*
4
* @note
5
* Copyright(C) NXP Semiconductors, 2012
6
* Copyright(C) Dean Camera, 2011, 2012
7
* All rights reserved.
8
*
9
* @par
10
* Software that is described herein is for illustrative purposes only
11
* which provides customers with programming information regarding the
12
* LPC products. This software is supplied "AS IS" without any warranties of
13
* any kind, and NXP Semiconductors and its licensor disclaim any and
14
* all warranties, express or implied, including all implied warranties of
15
* merchantability, fitness for a particular purpose and non-infringement of
16
* intellectual property rights. NXP Semiconductors assumes no responsibility
17
* or liability for the use of the software, conveys no license or rights under any
18
* patent, copyright, mask work right, or any other intellectual property rights in
19
* or to any products. NXP Semiconductors reserves the right to make changes
20
* in the software without notification. NXP Semiconductors also makes no
21
* representation or warranty that such application will be suitable for the
22
* specified use without further testing or modification.
23
*
24
* @par
25
* Permission to use, copy, modify, and distribute this software and its
26
* documentation is hereby granted, under NXP Semiconductors' and its
27
* licensor's relevant copyrights in the software, without fee, provided that it
28
* is used in conjunction with NXP Semiconductors microcontrollers. This
29
* copyright, permission, and disclaimer notice must appear in all copies of
30
* this code.
31
*/
32
49
#ifndef __USBMODE_H__
50
#define __USBMODE_H__
51
52
/* Enable C linkage for C++ Compilers: */
53
#if defined(__cplusplus)
54
extern
"C"
{
55
#endif
56
57
/* Preprocessor Checks: */
58
#if !defined(__INCLUDE_FROM_USB_DRIVER)
59
#error Do not include this file directly. Include /software/LPCUSBLib/Drivers/USB/USB.h instead.
60
#endif
61
62
#include "../../../LPCUSBlibConfig.h"
63
64
/* Public Interface - May be used in end-application: */
65
#if defined(__DOXYGEN__)
66
70
#define USB_CAN_BE_DEVICE
71
75
#define USB_CAN_BE_HOST
76
80
#define USB_CAN_BE_BOTH
81
#else
82
/* Macros: */
83
#if (defined(__LPC175X_6X__))||(defined(__LPC177X_8X__))||(defined(__LPC407X_8X__))
84
#define USB_CAN_BE_HOST
85
#define __LPC_OHCI__
86
#define USB_CAN_BE_DEVICE
87
88
#define MAX_USB_CORE 1
89
90
#elif (defined (__LPC18XX__)||defined(__LPC43XX__))
91
#define USB_CAN_BE_HOST
92
#define __LPC_EHCI__
93
#define USB_CAN_BE_DEVICE
94
95
#if (USE_USB_ROM_STACK)
96
#define USB_DEVICE_ROM_DRIVER
97
#endif
98
99
#define MAX_USB_CORE 2
100
101
#elif (defined(__LPC11U1X__) || defined(__LPC11U2X_3X__) || defined(__LPC1347__))
102
#define USB_CAN_BE_DEVICE
103
104
#if ((USE_USB_ROM_STACK) && (defined(__LPC11U2X_3X__) || defined(__LPC1347__)))
105
#define USB_DEVICE_ROM_DRIVER
106
#endif
107
108
#define MAX_USB_CORE 1
109
110
#endif
111
112
#if (defined(USB_CAN_BE_DEVICE) && defined(USB_CAN_BE_HOST))
113
#define USB_CAN_BE_BOTH
114
#endif
115
116
#if defined(USB_HOST_ONLY)
117
#if !defined(USB_CAN_BE_HOST)
118
#error USB_HOST_ONLY is not available for the currently selected microcontroller model.
119
#else
120
#undef USB_CAN_BE_DEVICE
121
#undef USB_CAN_BE_BOTH
122
#endif
123
#endif
124
125
#if defined(USB_DEVICE_ONLY)
126
#if !defined(USB_CAN_BE_DEVICE)
127
#error USB_DEVICE_ONLY is not available for the currently selected microcontroller model.
128
#else
129
#undef USB_CAN_BE_HOST
130
#undef USB_CAN_BE_BOTH
131
#endif
132
#endif
133
134
#if (defined(USB_HOST_ONLY) && defined(USB_DEVICE_ONLY))
135
#error USB_HOST_ONLY and USB_DEVICE_ONLY are mutually exclusive.
136
#endif
137
138
#if (!defined(USB_CAN_BE_DEVICE) && !defined(USB_CAN_BE_HOST))
139
#error The currently selected device or architecture is not supported under the USB component of the library.
140
#endif
141
#endif
142
143
/* Disable C linkage for C++ Compilers: */
144
#if defined(__cplusplus)
145
}
146
#endif
147
148
#endif
149
software
LPCUSBLib
Drivers
USB
Core
USBMode.h
Generated on Fri May 10 2013 10:42:24 for LPCOpen Platform by
1.8.2