?? sc2410_usb_hw.h
字號:
/*++
THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
PARTICULAR PURPOSE.
Copyright (c) 2001. Samsung Electronics, co. ltd All rights reserved.
Module Name:
Abstract:
S3C2410 USB function(ACTIVE SYNC) device driver (Chip Layer) header file
rev:
2002.1.22 : First release/no error recovery (kwangyoon LEE, kwangyoon@samsung.com)
Notes:
--*/
/* MiTAC Int'l Corp. 2002
$release notes
Modifier sign date Description
================================================================================
Jocky jocky0220 02/20/2006 Change PID To :00CE
Jonathan Jonathan01_1007 10/07/2005 Change VID/PID : 3340/3326 -> 045E/043D
*/
typedef struct
{
unsigned char bmRequest, bRequest;
unsigned short wValue, wIndex, wLength;
} SetupPKG, *PSetupPKG;
#define EP0_MAXP_SIZE 8
#define EP1_IN_MAXP_SIZE 64
#define EP2_IN_MAXP_SIZE 64
#define EP3_OUT_MAXP_SIZE 64
#define EP4_OUT_MAXP_SIZE 64
// EP0 use for configuration and Vendor Specific command interface
/*----------------------------------------------------------------------
* The control FIFO is fixed at 8 bytes and will not work unless both
* host and device use 8 byte packet size.
*/
#define EP0Len EP0_MAXP_SIZE
/*----------------------------------------------------------------------
* The IN/OUT packet size may be configured between 1-255 bytes (seems like
* 16 is the only value that works reliably).
*/
#define EP1Len EP1_IN_MAXP_SIZE
#define EP2Len EP4_OUT_MAXP_SIZE
//-------------------------------------------------------------------------
// Standard Chapter 9 definition
//-------------------------------------------------------------------------
#ifdef MEDION
/*Jonathan01_1007 start
#define idVendorH 0x40
#define idVendorL 0x33
#define idProductH 0x26
#define idProductL 0x33
Jonathan01_1007 end */
//Jonathan01_1007 start
#define idVendorH 0x5E
#define idVendorL 0x04
#define idProductH 0x3D
#define idProductL 0x04
//Jonathan01_1007 end
#else
/*jocky0220 start
#define idVendorH 0x5E
#define idVendorL 0x04
//edyeh1012 //#define idProductH 0x3E
#define idProductH 0x3D
#define idProductL 0x04
*/
#define idVendorH 0x5E
#define idVendorL 0x04
#define idProductH 0xCE //Microsoft USB Sync
#define idProductL 0x00
//jocky0220 end
#endif
// Request Codes
#define GET_STATUS 0x00
#define CLEAR_FEATURE 0x01
#define SET_FEATURE 0x03
#define SET_ADDRESS 0x05
#define GET_DESCRIPTOR 0x06
#define SET_DESCRIPTOR 0x07
#define GET_CONFIG 0x08
#define SET_CONFIG 0x09
#define GET_INTERFACE 0x0a
#define SET_INTERFACE 0x0b
// Device specific request
#define SET_CONTROL_LINE_STATE 0x22
// Descriptor Types
#define DEVICE 0x01
#define CONFIGURATION 0x02
#define STRING 0x03
#define INTERFACE 0x04
#define ENDPOINT 0x05
/* Portable mechanism for writing bitfields in IO register structures
*/
#define IOW_REG_SET(_type,_ptr,_value) \
{ \
*(volatile unsigned *)(_ptr) = _value; \
}
#define IOW_REG_OR(_type,_ptr,_value) \
{ \
*(volatile unsigned *)(_ptr) |= _value; \
}
#define IOW_REG_AND(_type,_ptr,_value) \
{ \
*(volatile unsigned *)(_ptr) &= _value; \
}
#define IOW_REG_FIELD(_type,_ptr,_field,_value) \
{ \
register union { \
_type s; \
unsigned int d; \
} foo; \
foo.d = *(volatile unsigned *)(_ptr); \
foo.s._field = _value; \
*(volatile unsigned *)(_ptr) = foo.d; \
}
#define IOW_REG_BITSET(_type,_ptr,_field,_value) \
{ \
register union { \
_type s; \
unsigned int d; \
} foo; \
foo.d = 0; \
foo.s._field = _value; \
*(volatile unsigned *)(_ptr) = foo.d; \
}
#define IOW_REG_GET(_type,_ptr,_field,_value) \
{ \
register union { \
_type s; \
unsigned int d; \
} foo; \
foo.d = *(volatile unsigned *)(_ptr); \
_value = foo.s._field; \
}
//void HW_PowerOff(PSER_INFO pHWHead);
//void HW_PowerOn(PSER_INFO pHWHead);
BOOL InitUsbdDriverGlobals(void); //:-)
void UsbdDeallocateVm(void); //:-)
BOOL UsbdAllocateVm(void); //:-)
void UsbdInitDma3(int bufIndex,int bufOffset); //:-)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -