Version of USBDevice that works for KL25Z on Mbed OS2.

Fork of USBDevice by mbed official

Committer:
Kojto
Date:
Thu Jul 20 10:14:36 2017 +0100
Revision:
70:2c525a50f1b6
Parent:
63:01321bd6ff89
Update libraries (ed9d1da)

Who changed what in which revision?

UserRevisionLine numberNew contents of line
samux 1:80ab0d068708 1 /* Copyright (c) 2010-2011 mbed.org, MIT License
samux 1:80ab0d068708 2 *
samux 1:80ab0d068708 3 * Permission is hereby granted, free of charge, to any person obtaining a copy of this software
samux 1:80ab0d068708 4 * and associated documentation files (the "Software"), to deal in the Software without
samux 1:80ab0d068708 5 * restriction, including without limitation the rights to use, copy, modify, merge, publish,
samux 1:80ab0d068708 6 * distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the
samux 1:80ab0d068708 7 * Software is furnished to do so, subject to the following conditions:
samux 1:80ab0d068708 8 *
samux 1:80ab0d068708 9 * The above copyright notice and this permission notice shall be included in all copies or
samux 1:80ab0d068708 10 * substantial portions of the Software.
samux 1:80ab0d068708 11 *
samux 1:80ab0d068708 12 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
samux 1:80ab0d068708 13 * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
samux 1:80ab0d068708 14 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
samux 1:80ab0d068708 15 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
samux 1:80ab0d068708 16 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
samux 1:80ab0d068708 17 */
samux 1:80ab0d068708 18
samux 1:80ab0d068708 19 #ifndef USBENDPOINTS_H
samux 1:80ab0d068708 20 #define USBENDPOINTS_H
samux 1:80ab0d068708 21
samux 1:80ab0d068708 22 /* SETUP packet size */
samux 1:80ab0d068708 23 #define SETUP_PACKET_SIZE (8)
samux 1:80ab0d068708 24
samux 1:80ab0d068708 25 /* Options flags for configuring endpoints */
samux 1:80ab0d068708 26 #define DEFAULT_OPTIONS (0)
samux 1:80ab0d068708 27 #define SINGLE_BUFFERED (1U << 0)
samux 1:80ab0d068708 28 #define ISOCHRONOUS (1U << 1)
samux 1:80ab0d068708 29 #define RATE_FEEDBACK_MODE (1U << 2) /* Interrupt endpoints only */
samux 1:80ab0d068708 30
samux 1:80ab0d068708 31 /* Endpoint transfer status, for endpoints > 0 */
samux 1:80ab0d068708 32 typedef enum {
samux 1:80ab0d068708 33 EP_COMPLETED, /* Transfer completed */
samux 1:80ab0d068708 34 EP_PENDING, /* Transfer in progress */
samux 1:80ab0d068708 35 EP_INVALID, /* Invalid parameter */
samux 1:80ab0d068708 36 EP_STALLED, /* Endpoint stalled */
samux 1:80ab0d068708 37 } EP_STATUS;
samux 1:80ab0d068708 38
samux 1:80ab0d068708 39 /* Include configuration for specific target */
mbed_official 55:c7fd9d44ec8e 40 #if defined(TARGET_LPC1768) || defined(TARGET_LPC2368) || defined(TARGET_LPC4088) || defined(TARGET_LPC2460) || defined(TARGET_LPC4088_DM)
samux 1:80ab0d068708 41 #include "USBEndpoints_LPC17_LPC23.h"
mbed_official 27:0c6524151939 42 #elif defined(TARGET_LPC11UXX) || defined(TARGET_LPC1347) || defined (TARGET_LPC11U6X) || defined (TARGET_LPC1549)
samux 1:80ab0d068708 43 #include "USBEndpoints_LPC11U.h"
mbed_official 63:01321bd6ff89 44 #elif defined(TARGET_KL25Z) | defined(TARGET_KL26Z) | defined(TARGET_KL27Z) | defined(TARGET_KL43Z) | defined(TARGET_KL46Z) | defined(TARGET_K20D50M) | defined(TARGET_K64F) | defined(TARGET_K22F) | defined(TARGET_TEENSY3_1)
samux 8:335f2506f422 45 #include "USBEndpoints_KL25Z.h"
Kojto 70:2c525a50f1b6 46 #elif !defined(USB_STM_HAL) && defined(TARGET_STM32F4)
mbed_official 16:4f6df64750bd 47 #include "USBEndpoints_STM32F4.h"
Kojto 70:2c525a50f1b6 48 #elif defined (TARGET_STM32F4) || defined (TARGET_STM32F2) || defined (TARGET_STM32F7) || defined (TARGET_STM32F3) || defined(TARGET_STM32L0) || defined(TARGET_STM32L4) || defined(TARGET_STM32F1)
Kojto 70:2c525a50f1b6 49 #include "USBEndpoints_STM32.h"
mbed_official 62:c1549af978d6 50 #elif defined (TARGET_RZ_A1H) || defined (TARGET_VK_RZ_A1H)
mbed_official 35:a8484e16c2f3 51 #include "USBEndpoints_RZ_A1H.h"
mbed_official 49:bee5808e91e3 52 #elif defined(TARGET_Maxim)
mbed_official 49:bee5808e91e3 53 #include "USBEndpoints_Maxim.h"
mbed_official 59:2af474687369 54 #elif defined(TARGET_EFM32GG_STK3700) || defined(TARGET_EFM32LG_STK3600) || defined(TARGET_EFM32WG_STK3800) || defined(TARGET_EFM32HG_STK3400)
mbed_official 59:2af474687369 55 #include "USBEndpoints_EFM32.h"
Kojto 70:2c525a50f1b6 56 #elif defined(TARGET_NUMAKER_PFM_NUC472)
Kojto 70:2c525a50f1b6 57 #include "USBEndpoints_NUC472.h"
Kojto 70:2c525a50f1b6 58 #elif defined(TARGET_NUMAKER_PFM_M453)
Kojto 70:2c525a50f1b6 59 #include "USBEndpoints_M453.h"
samux 1:80ab0d068708 60 #else
samux 1:80ab0d068708 61 #error "Unknown target type"
samux 1:80ab0d068708 62 #endif
samux 1:80ab0d068708 63
samux 1:80ab0d068708 64 #endif