瀏覽代碼

move the define related to Mass to here;
remove product ID

heyuanjie87 12 年之前
父節點
當前提交
96f5a6dcec
共有 1 個文件被更改,包括 44 次插入3 次删除
  1. 44 3
      components/drivers/usb/usbdevice/class/mstorage.h

+ 44 - 3
components/drivers/usb/usbdevice/class/mstorage.h

@@ -18,13 +18,54 @@
 
 #include <rtthread.h>
 
-#define USBREQ_GET_MAX_LUN                  0xfe
-#define USBREQ_MASS_STORAGE_RESET           0xff
+#define USBREQ_GET_MAX_LUN              0xfe
+#define USBREQ_MASS_STORAGE_RESET       0xff
 
-#define USB_MASS_STORAGE_PRODUCT_ID         0x1000   /* Product ID */
+#define SIZEOF_CSW                      0x0d
+#define SIZEOF_CBW                      0x1f
+
+#define CBWFLAGS_DIR_M                  0x80
+#define CBWFLAGS_DIR_IN                 0x80
+#define CBWFLAGS_DIR_OUT                0x00
+
+#define SCSI_TEST_UNIT_READY            0x00
+#define SCSI_REQUEST_SENSE              0x03
+#define SCSI_INQUIRY_CMD                0x12
+#define SCSI_ALLOW_MEDIUM_REMOVAL       0x1e
+#define SCSI_MODE_SENSE_6               0x1a
+#define SCSI_READ_CAPACITIES            0x23
+#define SCSI_READ_CAPACITY              0x25
+#define SCSI_READ_10                    0x28
+#define SCSI_WRITE_10                   0x2a
+#define SCSI_VERIFY_10                  0x2f
+
+#define CBW_SIGNATURE                   0x43425355
+#define CSW_SIGNATURE                   0x53425355
+#define CBW_TAG_VALUE                   0x12345678
 
 #pragma pack(1)
 
+struct ustorage_cbw 
+{
+    rt_uint32_t signature;
+    rt_uint32_t tag;
+    rt_uint32_t xfer_len;
+    rt_uint8_t dflags;
+    rt_uint8_t lun;
+    rt_uint8_t cb_len;
+    rt_uint8_t cb[16];
+};
+typedef struct ustorage_cbw* ustorage_cbw_t;
+
+struct ustorage_csw 
+{
+    rt_uint32_t signature;
+    rt_uint32_t tag;
+    rt_uint32_t data_reside;
+    rt_uint8_t  status;
+};
+typedef struct ustorage_csw* ustorage_csw_t;
+
 struct umass_descriptor
 {
     struct uinterface_descriptor intf_desc;