Compact Flash I/O test

Dependencies:   mbed

Committer:
emh203
Date:
Fri Dec 30 21:02:16 2011 +0000
Revision:
1:dc171f34db9b

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
emh203 1:dc171f34db9b 1 /*
emh203 1:dc171f34db9b 2 **************************************************************************************************************
emh203 1:dc171f34db9b 3 * NXP USB Host Stack
emh203 1:dc171f34db9b 4 *
emh203 1:dc171f34db9b 5 * (c) Copyright 2008, NXP SemiConductors
emh203 1:dc171f34db9b 6 * (c) Copyright 2008, OnChip Technologies LLC
emh203 1:dc171f34db9b 7 * All Rights Reserved
emh203 1:dc171f34db9b 8 *
emh203 1:dc171f34db9b 9 * www.nxp.com
emh203 1:dc171f34db9b 10 * www.onchiptech.com
emh203 1:dc171f34db9b 11 *
emh203 1:dc171f34db9b 12 * File : usbhost_ms.h
emh203 1:dc171f34db9b 13 * Programmer(s) : Ravikanth.P
emh203 1:dc171f34db9b 14 * Version :
emh203 1:dc171f34db9b 15 *
emh203 1:dc171f34db9b 16 **************************************************************************************************************
emh203 1:dc171f34db9b 17 */
emh203 1:dc171f34db9b 18
emh203 1:dc171f34db9b 19 #ifndef USBHOST_MS_H
emh203 1:dc171f34db9b 20 #define USBHOST_MS_H
emh203 1:dc171f34db9b 21
emh203 1:dc171f34db9b 22 /*
emh203 1:dc171f34db9b 23 **************************************************************************************************************
emh203 1:dc171f34db9b 24 * INCLUDE HEADER FILES
emh203 1:dc171f34db9b 25 **************************************************************************************************************
emh203 1:dc171f34db9b 26 */
emh203 1:dc171f34db9b 27
emh203 1:dc171f34db9b 28 #include "usbhost_inc.h"
emh203 1:dc171f34db9b 29
emh203 1:dc171f34db9b 30 /*
emh203 1:dc171f34db9b 31 **************************************************************************************************************
emh203 1:dc171f34db9b 32 * MASS STORAGE SPECIFIC DEFINITIONS
emh203 1:dc171f34db9b 33 **************************************************************************************************************
emh203 1:dc171f34db9b 34 */
emh203 1:dc171f34db9b 35
emh203 1:dc171f34db9b 36 #define MS_GET_MAX_LUN_REQ 0xFE
emh203 1:dc171f34db9b 37 #define MASS_STORAGE_CLASS 0x08
emh203 1:dc171f34db9b 38 #define MASS_STORAGE_SUBCLASS_SCSI 0x06
emh203 1:dc171f34db9b 39 #define MASS_STORAGE_PROTOCOL_BO 0x50
emh203 1:dc171f34db9b 40
emh203 1:dc171f34db9b 41 #define INQUIRY_LENGTH 36
emh203 1:dc171f34db9b 42 /*
emh203 1:dc171f34db9b 43 **************************************************************************************************************
emh203 1:dc171f34db9b 44 * SCSI SPECIFIC DEFINITIONS
emh203 1:dc171f34db9b 45 **************************************************************************************************************
emh203 1:dc171f34db9b 46 */
emh203 1:dc171f34db9b 47
emh203 1:dc171f34db9b 48 #define CBW_SIGNATURE 0x43425355
emh203 1:dc171f34db9b 49 #define CSW_SIGNATURE 0x53425355
emh203 1:dc171f34db9b 50 #define CBW_SIZE 31
emh203 1:dc171f34db9b 51 #define CSW_SIZE 13
emh203 1:dc171f34db9b 52 #define CSW_CMD_PASSED 0x00
emh203 1:dc171f34db9b 53 #define SCSI_CMD_REQUEST_SENSE 0x03
emh203 1:dc171f34db9b 54 #define SCSI_CMD_TEST_UNIT_READY 0x00
emh203 1:dc171f34db9b 55 #define SCSI_CMD_INQUIRY 0x12
emh203 1:dc171f34db9b 56 #define SCSI_CMD_READ_10 0x28
emh203 1:dc171f34db9b 57 #define SCSI_CMD_READ_CAPACITY 0x25
emh203 1:dc171f34db9b 58 #define SCSI_CMD_WRITE_10 0x2A
emh203 1:dc171f34db9b 59
emh203 1:dc171f34db9b 60 /*
emh203 1:dc171f34db9b 61 **************************************************************************************************************
emh203 1:dc171f34db9b 62 * TYPE DEFINITIONS
emh203 1:dc171f34db9b 63 **************************************************************************************************************
emh203 1:dc171f34db9b 64 */
emh203 1:dc171f34db9b 65
emh203 1:dc171f34db9b 66 typedef enum ms_data_dir {
emh203 1:dc171f34db9b 67
emh203 1:dc171f34db9b 68 MS_DATA_DIR_IN = 0x80,
emh203 1:dc171f34db9b 69 MS_DATA_DIR_OUT = 0x00,
emh203 1:dc171f34db9b 70 MS_DATA_DIR_NONE = 0x01
emh203 1:dc171f34db9b 71
emh203 1:dc171f34db9b 72 } MS_DATA_DIR;
emh203 1:dc171f34db9b 73
emh203 1:dc171f34db9b 74 /*
emh203 1:dc171f34db9b 75 **************************************************************************************************************
emh203 1:dc171f34db9b 76 * FUNCTION PROTOTYPES
emh203 1:dc171f34db9b 77 **************************************************************************************************************
emh203 1:dc171f34db9b 78 */
emh203 1:dc171f34db9b 79
emh203 1:dc171f34db9b 80 USB_INT32S MS_BulkRecv ( USB_INT32U block_number,
emh203 1:dc171f34db9b 81 USB_INT16U num_blocks,
emh203 1:dc171f34db9b 82 volatile USB_INT08U *user_buffer);
emh203 1:dc171f34db9b 83
emh203 1:dc171f34db9b 84 USB_INT32S MS_BulkSend ( USB_INT32U block_number,
emh203 1:dc171f34db9b 85 USB_INT16U num_blocks,
emh203 1:dc171f34db9b 86 volatile USB_INT08U *user_buffer);
emh203 1:dc171f34db9b 87 USB_INT32S MS_ParseConfiguration(void);
emh203 1:dc171f34db9b 88 USB_INT32S MS_TestUnitReady (void);
emh203 1:dc171f34db9b 89 USB_INT32S MS_ReadCapacity (USB_INT32U *numBlks, USB_INT32U *blkSize);
emh203 1:dc171f34db9b 90 USB_INT32S MS_GetMaxLUN (void);
emh203 1:dc171f34db9b 91 USB_INT32S MS_GetSenseInfo (void);
emh203 1:dc171f34db9b 92 USB_INT32S MS_Init (USB_INT32U *blkSize, USB_INT32U *numBlks, USB_INT08U *inquiryResult);
emh203 1:dc171f34db9b 93 USB_INT32S MS_Inquire (USB_INT08U *response);
emh203 1:dc171f34db9b 94
emh203 1:dc171f34db9b 95 void Fill_MSCommand ( USB_INT32U block_number,
emh203 1:dc171f34db9b 96 USB_INT32U block_size,
emh203 1:dc171f34db9b 97 USB_INT16U num_blocks,
emh203 1:dc171f34db9b 98 MS_DATA_DIR direction,
emh203 1:dc171f34db9b 99 USB_INT08U scsi_cmd,
emh203 1:dc171f34db9b 100 USB_INT08U scsi_cmd_len);
emh203 1:dc171f34db9b 101 #endif