SD

Dependents:   Andar_Linha_Reta_Robo_Claw_v1

Fork of MSCFileSystem by Chris Styles

Committer:
carlos_nascimento08
Date:
Sun Sep 16 15:00:33 2012 +0000
Revision:
5:59daf2b48180
Parent:
0:3e7d2baed4b4
USB;

Who changed what in which revision?

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