blob: 0580c260bc0caf762e03fdc89d235a9e7b115076 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
/******************** (C) COPYRIGHT 2006 STMicroelectronics ********************
* File Name : usb_init.c
* Author : MCD Application Team
* Date First Issued : 05/18/2006 : Version 1.0
* Description : initialization routines & global variables
********************************************************************************
* History:
* 05/24/2006 : Version 1.1
* 05/18/2006 : Version 1.0
********************************************************************************
* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH
* CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS
* A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT
* OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT
* OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION
* CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
*******************************************************************************/
#include "91x_lib.h"
#include "USB_lib.h"
/* Save token on endpoint 0 */
BYTE EP0_Token ;
/* Interrupt flags. */
/* Each bit represents an interrupt is coming to that endpoint */
WORD Token_Event ;
/* The number of current endpoint, it will be used to specify an endpoint */
BYTE EPindex;
/* Points to the DEVICE_INFO structure of current device */
/* The purpose of this register is to speed up the execution */
DEVICE_INFO *pInformation;
/* Points to the DEVICE_PROP structure of current device */
/* The purpose of this register is to speed up the execution */
DEVICE_PROP *pProperty;
/* Temporary save the state of Rx & Tx status. */
/* Whenever the Rx or Tx state is changed, its value is saved */
/* in this variable first and will be set to the EPRB or EPRA */
/* at the end of interrupt process */
WORD SaveState ;
WORD wInterrupt_Mask;
DEVICE_INFO Device_Info;
/*==========================================================================*/
/* USB system initialization */
/*==========================================================================*/
void USB_Init()
{
SetCNTR(0x0003);
Token_Event = 0; /* Flags of each endpoint interrupt */
pInformation = &Device_Info;
pInformation->ControlState = 2;
pProperty = &Device_Property;
/* Initialize devices one by one */
pProperty->Init();
} /* USB_Init() */
/*==========================================================================*/
|