summaryrefslogtreecommitdiffstats
path: root/uc_str912/prj_blinky_complex_startup/src/usb_init.c
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() */

/*==========================================================================*/
OpenPOWER on IntegriCloud