Does still not work properly

Dependencies:   mbed

Committer:
Markus_Paar
Date:
Thu Sep 15 05:40:44 2011 +0000
Revision:
0:319f1e8e3bdd
V2

Who changed what in which revision?

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