These are the examples provided for [[/users/frank26080115/libraries/LPC1700CMSIS_Lib/]] Note, the entire "program" is not compilable!

Committer:
frank26080115
Date:
Sun Mar 20 05:38:56 2011 +0000
Revision:
0:bf7b9fba3924

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
frank26080115 0:bf7b9fba3924 1 /*----------------------------------------------------------------------------
frank26080115 0:bf7b9fba3924 2 * U S B - K e r n e l
frank26080115 0:bf7b9fba3924 3 *----------------------------------------------------------------------------
frank26080115 0:bf7b9fba3924 4 * Name: usbreg.h
frank26080115 0:bf7b9fba3924 5 * Purpose: USB Hardware Layer Definitions for NXP LPC Family MCUs
frank26080115 0:bf7b9fba3924 6 * Version: V1.20
frank26080115 0:bf7b9fba3924 7 *----------------------------------------------------------------------------
frank26080115 0:bf7b9fba3924 8 * This software is supplied "AS IS" without any warranties, express,
frank26080115 0:bf7b9fba3924 9 * implied or statutory, including but not limited to the implied
frank26080115 0:bf7b9fba3924 10 * warranties of fitness for purpose, satisfactory quality and
frank26080115 0:bf7b9fba3924 11 * noninfringement. Keil extends you a royalty-free right to reproduce
frank26080115 0:bf7b9fba3924 12 * and distribute executable files created using this software for use
frank26080115 0:bf7b9fba3924 13 * on NXP Semiconductors LPC family microcontroller devices only. Nothing
frank26080115 0:bf7b9fba3924 14 * else gives you the right to use this software.
frank26080115 0:bf7b9fba3924 15 *
frank26080115 0:bf7b9fba3924 16 * Copyright (c) 2009 Keil - An ARM Company. All rights reserved.
frank26080115 0:bf7b9fba3924 17 *---------------------------------------------------------------------------*/
frank26080115 0:bf7b9fba3924 18
frank26080115 0:bf7b9fba3924 19 #ifndef __USBREG_H
frank26080115 0:bf7b9fba3924 20 #define __USBREG_H
frank26080115 0:bf7b9fba3924 21
frank26080115 0:bf7b9fba3924 22 /* Device Interrupt Bit Definitions */
frank26080115 0:bf7b9fba3924 23 #define FRAME_INT 0x00000001
frank26080115 0:bf7b9fba3924 24 #define EP_FAST_INT 0x00000002
frank26080115 0:bf7b9fba3924 25 #define EP_SLOW_INT 0x00000004
frank26080115 0:bf7b9fba3924 26 #define DEV_STAT_INT 0x00000008
frank26080115 0:bf7b9fba3924 27 #define CCEMTY_INT 0x00000010
frank26080115 0:bf7b9fba3924 28 #define CDFULL_INT 0x00000020
frank26080115 0:bf7b9fba3924 29 #define RxENDPKT_INT 0x00000040
frank26080115 0:bf7b9fba3924 30 #define TxENDPKT_INT 0x00000080
frank26080115 0:bf7b9fba3924 31 #define EP_RLZED_INT 0x00000100
frank26080115 0:bf7b9fba3924 32 #define ERR_INT 0x00000200
frank26080115 0:bf7b9fba3924 33
frank26080115 0:bf7b9fba3924 34 /* Rx & Tx Packet Length Definitions */
frank26080115 0:bf7b9fba3924 35 #define PKT_LNGTH_MASK 0x000003FF
frank26080115 0:bf7b9fba3924 36 #define PKT_DV 0x00000400
frank26080115 0:bf7b9fba3924 37 #define PKT_RDY 0x00000800
frank26080115 0:bf7b9fba3924 38
frank26080115 0:bf7b9fba3924 39 /* USB Control Definitions */
frank26080115 0:bf7b9fba3924 40 #define CTRL_RD_EN 0x00000001
frank26080115 0:bf7b9fba3924 41 #define CTRL_WR_EN 0x00000002
frank26080115 0:bf7b9fba3924 42
frank26080115 0:bf7b9fba3924 43 /* Command Codes */
frank26080115 0:bf7b9fba3924 44 #define CMD_SET_ADDR 0x00D00500
frank26080115 0:bf7b9fba3924 45 #define CMD_CFG_DEV 0x00D80500
frank26080115 0:bf7b9fba3924 46 #define CMD_SET_MODE 0x00F30500
frank26080115 0:bf7b9fba3924 47 #define CMD_RD_FRAME 0x00F50500
frank26080115 0:bf7b9fba3924 48 #define DAT_RD_FRAME 0x00F50200
frank26080115 0:bf7b9fba3924 49 #define CMD_RD_TEST 0x00FD0500
frank26080115 0:bf7b9fba3924 50 #define DAT_RD_TEST 0x00FD0200
frank26080115 0:bf7b9fba3924 51 #define CMD_SET_DEV_STAT 0x00FE0500
frank26080115 0:bf7b9fba3924 52 #define CMD_GET_DEV_STAT 0x00FE0500
frank26080115 0:bf7b9fba3924 53 #define DAT_GET_DEV_STAT 0x00FE0200
frank26080115 0:bf7b9fba3924 54 #define CMD_GET_ERR_CODE 0x00FF0500
frank26080115 0:bf7b9fba3924 55 #define DAT_GET_ERR_CODE 0x00FF0200
frank26080115 0:bf7b9fba3924 56 #define CMD_RD_ERR_STAT 0x00FB0500
frank26080115 0:bf7b9fba3924 57 #define DAT_RD_ERR_STAT 0x00FB0200
frank26080115 0:bf7b9fba3924 58 #define DAT_WR_BYTE(x) (0x00000100 | ((x) << 16))
frank26080115 0:bf7b9fba3924 59 #define CMD_SEL_EP(x) (0x00000500 | ((x) << 16))
frank26080115 0:bf7b9fba3924 60 #define DAT_SEL_EP(x) (0x00000200 | ((x) << 16))
frank26080115 0:bf7b9fba3924 61 #define CMD_SEL_EP_CLRI(x) (0x00400500 | ((x) << 16))
frank26080115 0:bf7b9fba3924 62 #define DAT_SEL_EP_CLRI(x) (0x00400200 | ((x) << 16))
frank26080115 0:bf7b9fba3924 63 #define CMD_SET_EP_STAT(x) (0x00400500 | ((x) << 16))
frank26080115 0:bf7b9fba3924 64 #define CMD_CLR_BUF 0x00F20500
frank26080115 0:bf7b9fba3924 65 #define DAT_CLR_BUF 0x00F20200
frank26080115 0:bf7b9fba3924 66 #define CMD_VALID_BUF 0x00FA0500
frank26080115 0:bf7b9fba3924 67
frank26080115 0:bf7b9fba3924 68 /* Device Address Register Definitions */
frank26080115 0:bf7b9fba3924 69 #define DEV_ADDR_MASK 0x7F
frank26080115 0:bf7b9fba3924 70 #define DEV_EN 0x80
frank26080115 0:bf7b9fba3924 71
frank26080115 0:bf7b9fba3924 72 /* Device Configure Register Definitions */
frank26080115 0:bf7b9fba3924 73 #define CONF_DVICE 0x01
frank26080115 0:bf7b9fba3924 74
frank26080115 0:bf7b9fba3924 75 /* Device Mode Register Definitions */
frank26080115 0:bf7b9fba3924 76 #define AP_CLK 0x01
frank26080115 0:bf7b9fba3924 77 #define INAK_CI 0x02
frank26080115 0:bf7b9fba3924 78 #define INAK_CO 0x04
frank26080115 0:bf7b9fba3924 79 #define INAK_II 0x08
frank26080115 0:bf7b9fba3924 80 #define INAK_IO 0x10
frank26080115 0:bf7b9fba3924 81 #define INAK_BI 0x20
frank26080115 0:bf7b9fba3924 82 #define INAK_BO 0x40
frank26080115 0:bf7b9fba3924 83
frank26080115 0:bf7b9fba3924 84 /* Device Status Register Definitions */
frank26080115 0:bf7b9fba3924 85 #define DEV_CON 0x01
frank26080115 0:bf7b9fba3924 86 #define DEV_CON_CH 0x02
frank26080115 0:bf7b9fba3924 87 #define DEV_SUS 0x04
frank26080115 0:bf7b9fba3924 88 #define DEV_SUS_CH 0x08
frank26080115 0:bf7b9fba3924 89 #define DEV_RST 0x10
frank26080115 0:bf7b9fba3924 90
frank26080115 0:bf7b9fba3924 91 /* Error Code Register Definitions */
frank26080115 0:bf7b9fba3924 92 #define ERR_EC_MASK 0x0F
frank26080115 0:bf7b9fba3924 93 #define ERR_EA 0x10
frank26080115 0:bf7b9fba3924 94
frank26080115 0:bf7b9fba3924 95 /* Error Status Register Definitions */
frank26080115 0:bf7b9fba3924 96 #define ERR_PID 0x01
frank26080115 0:bf7b9fba3924 97 #define ERR_UEPKT 0x02
frank26080115 0:bf7b9fba3924 98 #define ERR_DCRC 0x04
frank26080115 0:bf7b9fba3924 99 #define ERR_TIMOUT 0x08
frank26080115 0:bf7b9fba3924 100 #define ERR_EOP 0x10
frank26080115 0:bf7b9fba3924 101 #define ERR_B_OVRN 0x20
frank26080115 0:bf7b9fba3924 102 #define ERR_BTSTF 0x40
frank26080115 0:bf7b9fba3924 103 #define ERR_TGL 0x80
frank26080115 0:bf7b9fba3924 104
frank26080115 0:bf7b9fba3924 105 /* Endpoint Select Register Definitions */
frank26080115 0:bf7b9fba3924 106 #define EP_SEL_F 0x01
frank26080115 0:bf7b9fba3924 107 #define EP_SEL_ST 0x02
frank26080115 0:bf7b9fba3924 108 #define EP_SEL_STP 0x04
frank26080115 0:bf7b9fba3924 109 #define EP_SEL_PO 0x08
frank26080115 0:bf7b9fba3924 110 #define EP_SEL_EPN 0x10
frank26080115 0:bf7b9fba3924 111 #define EP_SEL_B_1_FULL 0x20
frank26080115 0:bf7b9fba3924 112 #define EP_SEL_B_2_FULL 0x40
frank26080115 0:bf7b9fba3924 113
frank26080115 0:bf7b9fba3924 114 /* Endpoint Status Register Definitions */
frank26080115 0:bf7b9fba3924 115 #define EP_STAT_ST 0x01
frank26080115 0:bf7b9fba3924 116 #define EP_STAT_DA 0x20
frank26080115 0:bf7b9fba3924 117 #define EP_STAT_RF_MO 0x40
frank26080115 0:bf7b9fba3924 118 #define EP_STAT_CND_ST 0x80
frank26080115 0:bf7b9fba3924 119
frank26080115 0:bf7b9fba3924 120 /* Clear Buffer Register Definitions */
frank26080115 0:bf7b9fba3924 121 #define CLR_BUF_PO 0x01
frank26080115 0:bf7b9fba3924 122
frank26080115 0:bf7b9fba3924 123
frank26080115 0:bf7b9fba3924 124 /* DMA Interrupt Bit Definitions */
frank26080115 0:bf7b9fba3924 125 #define EOT_INT 0x01
frank26080115 0:bf7b9fba3924 126 #define NDD_REQ_INT 0x02
frank26080115 0:bf7b9fba3924 127 #define SYS_ERR_INT 0x04
frank26080115 0:bf7b9fba3924 128
frank26080115 0:bf7b9fba3924 129
frank26080115 0:bf7b9fba3924 130 #endif /* __USBREG_H */