crashtest-r0ket/openbeacon/lpc13xx/core/peripherals/inc/rom_drivers.h

63 lines
1.5 KiB
C

/*****************************************************************************
* rom_drivers.h: Header file for NXP LPC13xx Family Microprocessors
*
* Copyright(C) 2009, NXP Semiconductor
* All rights reserved.
*
* History
* 2009.09.17 ver 1.00 Preliminary version, first Release
*
******************************************************************************/
#ifndef ROM_DRIVERS_H_
#define ROM_DRIVERS_H_
typedef struct _USB_DEVICE_INFO
{
uint16_t DevType;
uint32_t DevDetailPtr;
} USB_DEV_INFO;
typedef struct _USBD
{
void (*init_clk_pins) (void);
void (*isr) (void);
void (*init) (const USB_DEV_INFO * DevInfoPtr);
void (*connect) (uint32_t con);
} USBD;
#define init_msdstate() *((uint32_t *)(0x10000054)) = 0x0
typedef struct _ROM
{
const USBD *pUSBD;
} ROM;
typedef struct _MSC_DEVICE_INFO
{
uint16_t idVendor;
uint16_t idProduct;
uint16_t bcdDevice;
uint32_t StrDescPtr;
uint32_t MSCInquiryStr;
uint32_t BlockCount;
uint32_t BlockSize;
uint32_t MemorySize;
void (*MSC_Write) (uint32_t offset, uint8_t *src, uint32_t length);
void (*MSC_Read) (uint32_t offset, uint8_t *dst, uint32_t length);
} MSC_DEVICE_INFO;
typedef struct _HID_DEVICE_INFO
{
uint16_t idVendor;
uint16_t idProduct;
uint16_t bcdDevice;
uint32_t StrDescPtr;
uint8_t InReportCount;
uint8_t OutReportCount;
uint8_t SampleInterval;
void (*InReport) (uint8_t *src, uint32_t length);
void (*OutReport) (uint8_t *dst, uint32_t length);
} HID_DEVICE_INFO;
#endif /*ROM_DRIVERS_H_ */