DAPLink/source/usb/usbd_core.h
Brian Esquilona c9b9943c9b CMSIS-RTOS2 Interface for both RTX4 and No Rtos
1. Added cmsis_os2.h header interface for both RTX4 and no rtos implementation.
2. All bootloader will have no rtos.
3. Moved all rtx4 files to rtos folder
4. Moved OS_CLOCK config to HICs
5. Moved OS_TICK config to RTOS
6. Moved USB related definitions to usb_def.h
7. Removed rtos related header/ dependency to those not needed
2019-03-13 16:05:13 -05:00

76 lines
2.1 KiB
C

/**
* @file usbd_core.h
* @brief USB Device Core header
*
* DAPLink Interface Firmware
* Copyright (c) 2009-2016, ARM Limited, All Rights Reserved
* SPDX-License-Identifier: Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef __USBD_CORE_H__
#define __USBD_CORE_H__
/*--------------------------- Data structures --------------------------------*/
/* USB Device Core Endpoint Data Structure */
typedef struct _USBD_EP_DATA {
U8 *pData;
U16 Count;
} USBD_EP_DATA;
/*--------------------------- Global variables -------------------------------*/
/* USB Device Core Global Variables */
extern U16 USBD_DeviceStatus;
extern U8 USBD_DeviceAddress;
extern U8 USBD_Configuration;
extern U32 USBD_EndPointMask;
extern U32 USBD_EndPointHalt;
extern U32 USBD_EndPointStall;
extern U8 USBD_NumInterfaces;
extern U8 USBD_HighSpeed;
extern U8 USBD_ZLP;
extern USBD_EP_DATA USBD_EP0Data;
extern USB_SETUP_PACKET USBD_SetupPacket;
#ifdef __RTX
extern OS_TID USBD_RTX_DevTask;
extern OS_TID USBD_RTX_EPTask[];
extern OS_TID USBD_RTX_CoreTask;
#endif
/*--------------------------- Functions exported to class specific files -----*/
extern void USBD_SetupStage(void);
extern void USBD_DataInStage(void);
extern void USBD_DataOutStage(void);
extern void USBD_StatusInStage(void);
extern void USBD_StatusOutStage(void);
/*--------------------------- Event handling routines ------------------------*/
extern void usbd_class_init(void);
extern void USBD_EndPoint0(U32 event);
#ifdef __RTX
extern void USBD_RTX_EndPoint0(void);
#endif
#endif /* __USBD_CORE_H__ */