remove some identical usb related headers 52/head
authorOleksij Rempel <linux@rempel-privat.de>
Mon, 28 Apr 2014 16:36:33 +0000 (18:36 +0200)
committerOleksij Rempel <linux@rempel-privat.de>
Mon, 28 Apr 2014 16:42:39 +0000 (18:42 +0200)
k2 and magpie have lots of identical header.
remove some of them.

Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
18 files changed:
target_firmware/magpie_fw_dev/target/inc/k2/usb_api.h [deleted file]
target_firmware/magpie_fw_dev/target/inc/k2/usb_extr.h [deleted file]
target_firmware/magpie_fw_dev/target/inc/k2/usb_pre.h [deleted file]
target_firmware/magpie_fw_dev/target/inc/k2/usb_std.h [deleted file]
target_firmware/magpie_fw_dev/target/inc/k2/usb_type.h [deleted file]
target_firmware/magpie_fw_dev/target/inc/k2/usbfifo_api.h [deleted file]
target_firmware/magpie_fw_dev/target/inc/magpie/usb_api.h [deleted file]
target_firmware/magpie_fw_dev/target/inc/magpie/usb_extr.h [deleted file]
target_firmware/magpie_fw_dev/target/inc/magpie/usb_pre.h [deleted file]
target_firmware/magpie_fw_dev/target/inc/magpie/usb_std.h [deleted file]
target_firmware/magpie_fw_dev/target/inc/magpie/usb_type.h [deleted file]
target_firmware/magpie_fw_dev/target/inc/magpie/usbfifo_api.h [deleted file]
target_firmware/magpie_fw_dev/target/inc/usb_api.h [new file with mode: 0755]
target_firmware/magpie_fw_dev/target/inc/usb_extr.h [new file with mode: 0755]
target_firmware/magpie_fw_dev/target/inc/usb_pre.h [new file with mode: 0755]
target_firmware/magpie_fw_dev/target/inc/usb_std.h [new file with mode: 0755]
target_firmware/magpie_fw_dev/target/inc/usb_type.h [new file with mode: 0755]
target_firmware/magpie_fw_dev/target/inc/usbfifo_api.h [new file with mode: 0755]

diff --git a/target_firmware/magpie_fw_dev/target/inc/k2/usb_api.h b/target_firmware/magpie_fw_dev/target/inc/k2/usb_api.h
deleted file mode 100755 (executable)
index c3ca296..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Copyright (c) 2013 Qualcomm Atheros, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted (subject to the limitations in the
- * disclaimer below) provided that the following conditions are met:
- *
- *  * Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- *  * Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the
- *    distribution.
- *
- *  * Neither the name of Qualcomm Atheros nor the names of its
- *    contributors may be used to endorse or promote products derived
- *    from this software without specific prior written permission.
- *
- * NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
- * GRANTED BY THIS LICENSE.  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
- * HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
- * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
- * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
- * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-#ifndef USB_API_H
-#define USB_API_H
-
-#include "dt_defs.h"
-
-/******** hardware API table structure (API descriptions below) *************/
-struct usb_api {
-    void (*_usb_init)(void);
-    void (*_usb_rom_task)(void);
-    void (*_usb_fw_task)(void);
-    void (*_usb_init_phy)(void);
-
-    // ep0 operation
-    void (*_usb_ep0_setup)(void);
-    
-    void (*_usb_ep0_tx)(void);
-    void (*_usb_ep0_rx)(void);
-
-    // get/set interface
-    BOOLEAN (*_usb_get_interface)(void);
-    BOOLEAN (*_usb_set_interface)(void);
-
-    // get/set configuration
-    BOOLEAN (*_usb_get_configuration)(void);
-    BOOLEAN (*_usb_set_configuration)(void);
-
-    // standard/vendor command
-    BOOLEAN (*_usb_standard_cmd)(void);    
-    void (*_usb_vendor_cmd)(void);
-
-    void (*_usb_power_off)(void);
-    void (*_usb_reset_fifo)(void);
-    void (*_usb_gen_wdt)(void);
-    void (*_usb_jump_boot)(void);
-    
-    BOOLEAN (*_usb_clr_feature)(void);
-    BOOLEAN (*_usb_set_feature)(void);    
-    BOOLEAN (*_usb_set_address)(void);
-    BOOLEAN (*_usb_get_descriptor)(void);
-
-    BOOLEAN (*_usb_get_status)(void);
-    void (*_usb_setup_desc)(void);
-    void (*_usb_reg_out)(void);
-    void (*_usb_status_in)(void);
-
-    void (*_usb_ep0_tx_data)(void);
-    void (*_usb_ep0_rx_data)(void);
-
-    void (*_usb_clk_init)(void);
-};
-
-#endif
diff --git a/target_firmware/magpie_fw_dev/target/inc/k2/usb_extr.h b/target_firmware/magpie_fw_dev/target/inc/k2/usb_extr.h
deleted file mode 100755 (executable)
index aa12bcc..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (c) 2013 Qualcomm Atheros, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted (subject to the limitations in the
- * disclaimer below) provided that the following conditions are met:
- *
- *  * Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- *  * Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the
- *    distribution.
- *
- *  * Neither the name of Qualcomm Atheros nor the names of its
- *    contributors may be used to endorse or promote products derived
- *    from this software without specific prior written permission.
- *
- * NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
- * GRANTED BY THIS LICENSE.  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
- * HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
- * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
- * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
- * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-#ifndef USB_EXTR_H
-#define USB_EXTR_H
-
-#if 0
-#include "dt_defs.h"
-#include "usb_type.h"
-
-/* Variable for USB EP0 pipe (USB.c) */
-uint16_t       *pu8DescriptorEX;
-uint16_t       u16TxRxCounter;
-uint16_t       *u8ConfigDescriptorEX;
-//extern BOOLEAN     bUsbEP0HaltSt;
-Action      eUsbCxFinishAction;
-CommandType eUsbCxCommand;
-BOOLEAN     UsbChirpFinish;
-uint16_t       u8UsbConfigValue;
-uint16_t       u8UsbInterfaceValue;
-uint16_t       u8UsbInterfaceAlternateSetting;
-uint16_t       u16FirmwareComplete;
-
-uint16_t *UsbDeviceDescriptor;
-uint16_t *String00Descriptor;
-uint16_t *String10Descriptor;
-uint16_t *String20Descriptor;
-uint16_t *String30Descriptor;
-uint16_t *u8DeviceQualifierDescriptorEX;
-uint16_t *u8OtherSpeedConfigDescriptorEX;
-uint16_t *u8UsbDeviceDescriptor;
-uint16_t *u8String00Descriptor;
-uint16_t *u8String10Descriptor;
-uint16_t *u8String20Descriptor;
-uint16_t *u8String30Descriptor;
-#endif
-#endif
diff --git a/target_firmware/magpie_fw_dev/target/inc/k2/usb_pre.h b/target_firmware/magpie_fw_dev/target/inc/k2/usb_pre.h
deleted file mode 100755 (executable)
index d3ae42b..0000000
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * Copyright (c) 2013 Qualcomm Atheros, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted (subject to the limitations in the
- * disclaimer below) provided that the following conditions are met:
- *
- *  * Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- *  * Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the
- *    distribution.
- *
- *  * Neither the name of Qualcomm Atheros nor the names of its
- *    contributors may be used to endorse or promote products derived
- *    from this software without specific prior written permission.
- *
- * NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
- * GRANTED BY THIS LICENSE.  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
- * HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
- * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
- * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
- * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-#ifndef __USB_USER_PRE_H
-#define __USB_USER_PRE_H
-
-#define FUSB200_MAX_EP      10  // 1..10
-#define FUSB200_MAX_FIFO    10  // 0.. 9
-#define EP0MAXPACKETSIZE    0x40
-// #define EP0FIFOSIZE          64  // EP0_FIFO
-//JWEI 2003/04/29
-//#define EP0MAXPACKETSIZE        0x08
-
-// Max. Packet Size define
-#define MX_PA_SZ_8          8
-#define MX_PA_SZ_16         16
-#define MX_PA_SZ_32         32
-#define MX_PA_SZ_64         64
-#define MX_PA_SZ_128        128
-#define MX_PA_SZ_256        256
-#define MX_PA_SZ_512        512
-#define MX_PA_SZ_1024       1024
-
-#define MASK_F0             0xF0
-
-// Block Size define
-#define BLK512BYTE      1
-#define BLK1024BYTE     2
-
-#define BLK64BYTE       1
-#define BLK128BYTE      2
-
-// Block toggle number define
-#define SINGLE_BLK      1
-#define DOUBLE_BLK      2
-#define TRIBLE_BLK      3
-
-// Endpoint transfer type
-#define TF_TYPE_ISOCHRONOUS     1
-#define TF_TYPE_BULK            2
-#define TF_TYPE_INTERRUPT       3
-
-// Endpoint or FIFO direction define
-#define DIRECTION_IN    0
-#define DIRECTION_OUT   1
-
-// FIFO number define
-#define FIFO0           0x0
-#define FIFO1           0x1
-#define FIFO2           0x2
-#define FIFO3           0x3
-#define FIFO4           0x4
-#define FIFO5           0x5
-#define FIFO6           0x6
-#define FIFO7           0x7
-#define FIFO8           0x8
-#define FIFO9           0x9
-#define FIFO10          10
-#define FIFO11          11
-#define FIFO12          12
-#define FIFO13          13
-#define FIFO14          14
-#define FIFO15          15
-
-// Descriptor Table uses the following parameters : fixed
-#define DEVICE_LENGTH               0x12
-#define CONFIG_LENGTH               0x09
-#define INTERFACE_LENGTH            0x09
-#define EP_LENGTH                   0x07
-#define DEVICE_QUALIFIER_LENGTH     0x0A
-
-//JWEI 2003/04/29
-// Endpoint number define
-#define EP0         0
-#define EP1         1
-#define EP2         2
-#define EP3         3
-#define EP4         4
-#define EP5         5
-#define EP6         6
-#define EP7         7
-#define EP8         8
-#define EP9         9
-#define EP10        10
-#define EP11        11
-#define EP12        12
-#define EP13        13
-#define EP14        14
-#define EP15        15
-
-#define STRING_00_LENGTH            0x04
-#define STRING_10_LENGTH            0x0c
-#define STRING_20_LENGTH            0x18
-#define STRING_30_LENGTH            0x18
-#define STRING_40_LENGTH            0x04
-#define STRING_50_LENGTH            0x04
-#define STRING_60_LENGTH            0x04
-#define STRING_70_LENGTH            0x04
-#define STRING_80_LENGTH            0x04
-#define STRING_90_LENGTH            0x00
-
-#endif
diff --git a/target_firmware/magpie_fw_dev/target/inc/k2/usb_std.h b/target_firmware/magpie_fw_dev/target/inc/k2/usb_std.h
deleted file mode 100755 (executable)
index 06cc3f8..0000000
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * Copyright (c) 2013 Qualcomm Atheros, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted (subject to the limitations in the
- * disclaimer below) provided that the following conditions are met:
- *
- *  * Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- *  * Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the
- *    distribution.
- *
- *  * Neither the name of Qualcomm Atheros nor the names of its
- *    contributors may be used to endorse or promote products derived
- *    from this software without specific prior written permission.
- *
- * NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
- * GRANTED BY THIS LICENSE.  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
- * HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
- * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
- * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
- * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-#ifndef USB_STD_H
-#define USB_STD_H
-
-#define mDEV_REQ_REQ_DIR()      (ControlCmd.Direction)
-#define mDEV_REQ_REQ_TYPE()     (ControlCmd.Type)
-#define mDEV_REQ_REQ_RECI()     (ControlCmd.Object)
-#define mDEV_REQ_REQ()          (ControlCmd.Request)
-#define mDEV_REQ_VALUE()        (ControlCmd.Value)
-#define mDEV_REQ_VALUE_LOW()    (mLOW_BYTE(mDEV_REQ_VALUE()))
-#define mDEV_REQ_VALUE_HIGH()   (mHIGH_BYTE(mDEV_REQ_VALUE()))
-#define mDEV_REQ_INDEX()        (ControlCmd.Index)
-#define mDEV_REQ_LENGTH()       (ControlCmd.Length)
-
-/******************** USB Protocol Definition *************************/
-/* Standard Request Code (Table 9-4) */
-#define USB_GET_STATUS          0
-#define USB_CLEAR_FEATURE       1
-#define USB_SET_FEATURE         3
-#define USB_SET_ADDRESS         5
-#define USB_GET_DESCRIPTOR      6
-#define USB_SET_DESCRIPTOR      7
-#define USB_GET_CONFIGURATION   8
-#define USB_SET_CONFIGURATION   9
-#define USB_GET_INTERFACE       10
-#define USB_SET_INTERFACE       11
-#define USB_SYNCH_FRAME         12
-
-/* Descriptor Type (Table 9-5) */
-#define USB_DESC_TYPE_DEVICE    1
-#define USB_DESC_TYPE_CONFIG    2
-#define USB_DESC_TYPE_STRING    3
-#define USB_DESC_TYPE_INTERFACE 4
-#define USB_DESC_TYPE_ENDPOINT  5
-
-/* Endpoint Attribute (Table 9-10) */
-#define USB_EP_ATTR_CTRL        0
-#define USB_EP_ATTR_ISOCH       1
-#define USB_EP_ATTR_BULK        2
-#define USB_EP_ATTR_INTRPT      3
-
-/*********************** for USB 2.0 **********************************/
-// Table 9-5. Descriptor Types
-#define DT_DEVICE                       1
-#define DT_CONFIGURATION                2
-#define DT_STRING                       3
-#define DT_INTERFACE                    4
-#define DT_ENDPOINT                     5
-#define DT_DEVICE_QUALIFIER             6
-#define DT_OTHER_SPEED_CONFIGURATION    7
-#define DT_INTERFACE_POWER              8
-
-/**********************************************************************/
-// Values for bmAttributes Field in USB_CONFIGURATION_DESCRIPTOR
-#define USB_BUS_POWERED         0x80
-#define USB_SELF_POWERED        0x40
-#define USB_REMOTE_WAKEUP       0x20
-
-#define cUSB_REQTYPE_DIR_POS    7
-#define cUSB_REQTYPE_DIR_LEN    1
-#define cUSB_REQTYPE_TYPE_POS   5
-#define cUSB_REQTYPE_TYPE_LEN   2
-#define cUSB_REQTYPE_RX_POS     0
-#define cUSB_REQTYPE_RX_LEN     5
-
-/* for USB State */
-#define cUSB_DEFAULT_STATE      0
-#define cUSB_ADDRESS_STATE      1
-#define cUSB_CONFIG_STATE       2
-
-/* for Data transfer direction */
-#define bmUSB_HOST_DIR          7     /* Bit 7 */
-#define cUSB_DIR_HOST_OUT       0
-#define cUSB_DIR_HOST_IN        1
-
-/* for Type */
-#define cUSB_REQTYPE_STD        0
-#define cUSB_REQTYPE_CLASS      1
-#define cUSB_REQTYPE_VENDOR     2
-
-/* for Recipient */
-#define cUSB_REQTYPE_DEVICE     0
-#define cUSB_REQTYPE_INTERFACE  1
-#define cUSB_REQTYPE_ENDPOINT   2
-#define cUSB_REQTYPE_OTHER      3
-
-/* for Descriptor Type */
-#define cUSB_DESTYPE_DEVICE     1
-#define cUSB_DESTYPE_CONFIG     2
-#define cUSB_DESTYPE_STRING     3
-#define cUSB_DESTYPE_INTERFACE  4
-#define cUSB_DESTYPE_ENDPOINT   5
-#define cUSB_DESTYPE_END        cUSB_DESTYPE_ENDPOINT   // for range check
-
-/* for Feature selector */
-#define cUSB_FEATSEL_RMWAKEUP   0
-#define cUSB_FEATSEL_EPHAL      1
-#define cUSB_FEATSEL_END        cUSB_FEATSEL_EPHAL      // for range check
-
-#define bmREQ_RECI              0
-#define bmwREQ_RECI             5           // mMASKS(bmwREQ_RECI, bmREQ_RECI)
-#define bmREQ_TYPE              5
-#define bmwREQ_TYPE             2           // mMASKS(bmwREQ_TYPE, bmREQ_TYPE)
-#define bmREQ_DIR               7
-#define bmwREQ_DIR              1
-
-#endif
diff --git a/target_firmware/magpie_fw_dev/target/inc/k2/usb_type.h b/target_firmware/magpie_fw_dev/target/inc/k2/usb_type.h
deleted file mode 100755 (executable)
index c1bee0e..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Copyright (c) 2013 Qualcomm Atheros, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted (subject to the limitations in the
- * disclaimer below) provided that the following conditions are met:
- *
- *  * Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- *  * Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the
- *    distribution.
- *
- *  * Neither the name of Qualcomm Atheros nor the names of its
- *    contributors may be used to endorse or promote products derived
- *    from this software without specific prior written permission.
- *
- * NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
- * GRANTED BY THIS LICENSE.  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
- * HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
- * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
- * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
- * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-#ifndef USB_TYPE_H
-#define USB_TYPE_H
-
-#include "dt_defs.h"
-
-/*********************** for Faraday USB controller *******************/
-typedef enum
-{
-    CMD_VOID,                   // No command
-    CMD_GET_DESCRIPTOR,         // Get_Descriptor command
-    CMD_SET_DESCRIPTOR          // Set_Descriptor command
-} CommandType;
-
-typedef enum
-{
-    ACT_IDLE,
-    ACT_DONE,
-    ACT_STALL
-} Action;
-
-typedef struct Setup_Packet
-{
-    uint8_t Direction;          /* Data transfer direction: IN, OUT */
-    uint8_t Type;               /* Request Type: Standard, Class, Vendor */
-    uint8_t Object;             /* Recipient: Device, Interface, Endpoint,other */
-    uint16_t Request;           /* Refer to Table 9-3 */
-    uint16_t Value;
-    uint16_t Index;
-    uint16_t Length;
-} SetupPacket;
-
-#define mBIT(b)                 (1 << (b))
-#define mMASK(w)                (mBIT(w) - 1)
-
-#define mWORD_IDX(bsize)        ((bsize) >> 1)
-#define mWORD_SIZE(bsize)       (((bsize) + 1) >> 1)
-
-#define mTABLE_WID              mWORD_SIZE
-#define mTABLE_IDX              mWORD_IDX
-#define mTABLE_LEN              mLOW_BYTE
-
-#define mLOW_MASK(u16)          ((uint8_t) ((u16) & mMASK(8)))
-#define mHIGH_MASK(u16)         ((uint8_t) ((u16) & ~mMASK(8)))
-#define mLOW2HIGH(u16)          (((uint8_t) (u16)) << 8)
-
-/* (1234) -> 0034 */
-//#define mLOW_BYTE(u16)          ((U_8)(u16))
-#define mLOW_BYTE(u16)          mLOW_MASK(u16)
-/* (1234) -> 0012 */
-#define mHIGH_BYTE(u16)         ((uint8_t) (((uint16_t) (u16)) >> 8))
-
-#define mGET_REG1(var0, reg0)       { var0 = reg0; }
-
-/* (1234, 5678) -> 7834 */
-#define m2BYTE(ch1L, ch2H)      (mLOW_MASK(ch1L) | mLOW2HIGH(ch2H))
-
-#define mREAD_WORD(var0, reg0, reg1)    \
-    { var0 = reg0; var0 += mLOW2HIGH(reg1); }
-
-#endif
diff --git a/target_firmware/magpie_fw_dev/target/inc/k2/usbfifo_api.h b/target_firmware/magpie_fw_dev/target/inc/k2/usbfifo_api.h
deleted file mode 100755 (executable)
index 9ec5398..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (c) 2013 Qualcomm Atheros, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted (subject to the limitations in the
- * disclaimer below) provided that the following conditions are met:
- *
- *  * Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- *  * Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the
- *    distribution.
- *
- *  * Neither the name of Qualcomm Atheros nor the names of its
- *    contributors may be used to endorse or promote products derived
- *    from this software without specific prior written permission.
- *
- * NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
- * GRANTED BY THIS LICENSE.  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
- * HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
- * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
- * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
- * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-/*
- * @File: HIF_api.h
- * 
- * @Abstract: Host Interface api
- * 
- * @Notes:
- */
-
-#ifndef _USB_FIFO_API_H
-#define _USB_FIFO_API_H
-
-#include "vbuf_api.h"
-
-typedef struct _USB_FIFO_CONFIG {
-        /* callback to get the buf for receiving commands from USB FIFO */
-    VBUF* (*get_command_buf)(void);
-        /* callback when receiving a command */
-    void (*recv_command)(VBUF *cmd);    
-        /* callback to get the buf for event to send to the host */
-    VBUF* (*get_event_buf)(void);
-        /* callback to indicate the event has been sent to the host */
-    void (*send_event_done)(VBUF *buf);
-    
-        /* context used for all callbacks */
-    //void *context;
-} USB_FIFO_CONFIG;
-
-/* hardware API table structure (API descriptions below) */
-struct usbfifo_api {
-    void (*_init)(USB_FIFO_CONFIG *pConfig);
-    void (*_enable_event_isr)(void);
-
-        /* room to expand this table by another table */
-    void *pReserved;    
-};
-
-extern void usbfifo_module_install(struct usbfifo_api *apis);
-
-#endif /* #ifndef _USB_FIFO_API_H */
diff --git a/target_firmware/magpie_fw_dev/target/inc/magpie/usb_api.h b/target_firmware/magpie_fw_dev/target/inc/magpie/usb_api.h
deleted file mode 100755 (executable)
index c3ca296..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Copyright (c) 2013 Qualcomm Atheros, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted (subject to the limitations in the
- * disclaimer below) provided that the following conditions are met:
- *
- *  * Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- *  * Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the
- *    distribution.
- *
- *  * Neither the name of Qualcomm Atheros nor the names of its
- *    contributors may be used to endorse or promote products derived
- *    from this software without specific prior written permission.
- *
- * NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
- * GRANTED BY THIS LICENSE.  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
- * HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
- * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
- * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
- * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-#ifndef USB_API_H
-#define USB_API_H
-
-#include "dt_defs.h"
-
-/******** hardware API table structure (API descriptions below) *************/
-struct usb_api {
-    void (*_usb_init)(void);
-    void (*_usb_rom_task)(void);
-    void (*_usb_fw_task)(void);
-    void (*_usb_init_phy)(void);
-
-    // ep0 operation
-    void (*_usb_ep0_setup)(void);
-    
-    void (*_usb_ep0_tx)(void);
-    void (*_usb_ep0_rx)(void);
-
-    // get/set interface
-    BOOLEAN (*_usb_get_interface)(void);
-    BOOLEAN (*_usb_set_interface)(void);
-
-    // get/set configuration
-    BOOLEAN (*_usb_get_configuration)(void);
-    BOOLEAN (*_usb_set_configuration)(void);
-
-    // standard/vendor command
-    BOOLEAN (*_usb_standard_cmd)(void);    
-    void (*_usb_vendor_cmd)(void);
-
-    void (*_usb_power_off)(void);
-    void (*_usb_reset_fifo)(void);
-    void (*_usb_gen_wdt)(void);
-    void (*_usb_jump_boot)(void);
-    
-    BOOLEAN (*_usb_clr_feature)(void);
-    BOOLEAN (*_usb_set_feature)(void);    
-    BOOLEAN (*_usb_set_address)(void);
-    BOOLEAN (*_usb_get_descriptor)(void);
-
-    BOOLEAN (*_usb_get_status)(void);
-    void (*_usb_setup_desc)(void);
-    void (*_usb_reg_out)(void);
-    void (*_usb_status_in)(void);
-
-    void (*_usb_ep0_tx_data)(void);
-    void (*_usb_ep0_rx_data)(void);
-
-    void (*_usb_clk_init)(void);
-};
-
-#endif
diff --git a/target_firmware/magpie_fw_dev/target/inc/magpie/usb_extr.h b/target_firmware/magpie_fw_dev/target/inc/magpie/usb_extr.h
deleted file mode 100755 (executable)
index aa12bcc..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (c) 2013 Qualcomm Atheros, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted (subject to the limitations in the
- * disclaimer below) provided that the following conditions are met:
- *
- *  * Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- *  * Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the
- *    distribution.
- *
- *  * Neither the name of Qualcomm Atheros nor the names of its
- *    contributors may be used to endorse or promote products derived
- *    from this software without specific prior written permission.
- *
- * NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
- * GRANTED BY THIS LICENSE.  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
- * HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
- * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
- * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
- * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-#ifndef USB_EXTR_H
-#define USB_EXTR_H
-
-#if 0
-#include "dt_defs.h"
-#include "usb_type.h"
-
-/* Variable for USB EP0 pipe (USB.c) */
-uint16_t       *pu8DescriptorEX;
-uint16_t       u16TxRxCounter;
-uint16_t       *u8ConfigDescriptorEX;
-//extern BOOLEAN     bUsbEP0HaltSt;
-Action      eUsbCxFinishAction;
-CommandType eUsbCxCommand;
-BOOLEAN     UsbChirpFinish;
-uint16_t       u8UsbConfigValue;
-uint16_t       u8UsbInterfaceValue;
-uint16_t       u8UsbInterfaceAlternateSetting;
-uint16_t       u16FirmwareComplete;
-
-uint16_t *UsbDeviceDescriptor;
-uint16_t *String00Descriptor;
-uint16_t *String10Descriptor;
-uint16_t *String20Descriptor;
-uint16_t *String30Descriptor;
-uint16_t *u8DeviceQualifierDescriptorEX;
-uint16_t *u8OtherSpeedConfigDescriptorEX;
-uint16_t *u8UsbDeviceDescriptor;
-uint16_t *u8String00Descriptor;
-uint16_t *u8String10Descriptor;
-uint16_t *u8String20Descriptor;
-uint16_t *u8String30Descriptor;
-#endif
-#endif
diff --git a/target_firmware/magpie_fw_dev/target/inc/magpie/usb_pre.h b/target_firmware/magpie_fw_dev/target/inc/magpie/usb_pre.h
deleted file mode 100755 (executable)
index d3ae42b..0000000
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * Copyright (c) 2013 Qualcomm Atheros, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted (subject to the limitations in the
- * disclaimer below) provided that the following conditions are met:
- *
- *  * Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- *  * Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the
- *    distribution.
- *
- *  * Neither the name of Qualcomm Atheros nor the names of its
- *    contributors may be used to endorse or promote products derived
- *    from this software without specific prior written permission.
- *
- * NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
- * GRANTED BY THIS LICENSE.  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
- * HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
- * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
- * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
- * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-#ifndef __USB_USER_PRE_H
-#define __USB_USER_PRE_H
-
-#define FUSB200_MAX_EP      10  // 1..10
-#define FUSB200_MAX_FIFO    10  // 0.. 9
-#define EP0MAXPACKETSIZE    0x40
-// #define EP0FIFOSIZE          64  // EP0_FIFO
-//JWEI 2003/04/29
-//#define EP0MAXPACKETSIZE        0x08
-
-// Max. Packet Size define
-#define MX_PA_SZ_8          8
-#define MX_PA_SZ_16         16
-#define MX_PA_SZ_32         32
-#define MX_PA_SZ_64         64
-#define MX_PA_SZ_128        128
-#define MX_PA_SZ_256        256
-#define MX_PA_SZ_512        512
-#define MX_PA_SZ_1024       1024
-
-#define MASK_F0             0xF0
-
-// Block Size define
-#define BLK512BYTE      1
-#define BLK1024BYTE     2
-
-#define BLK64BYTE       1
-#define BLK128BYTE      2
-
-// Block toggle number define
-#define SINGLE_BLK      1
-#define DOUBLE_BLK      2
-#define TRIBLE_BLK      3
-
-// Endpoint transfer type
-#define TF_TYPE_ISOCHRONOUS     1
-#define TF_TYPE_BULK            2
-#define TF_TYPE_INTERRUPT       3
-
-// Endpoint or FIFO direction define
-#define DIRECTION_IN    0
-#define DIRECTION_OUT   1
-
-// FIFO number define
-#define FIFO0           0x0
-#define FIFO1           0x1
-#define FIFO2           0x2
-#define FIFO3           0x3
-#define FIFO4           0x4
-#define FIFO5           0x5
-#define FIFO6           0x6
-#define FIFO7           0x7
-#define FIFO8           0x8
-#define FIFO9           0x9
-#define FIFO10          10
-#define FIFO11          11
-#define FIFO12          12
-#define FIFO13          13
-#define FIFO14          14
-#define FIFO15          15
-
-// Descriptor Table uses the following parameters : fixed
-#define DEVICE_LENGTH               0x12
-#define CONFIG_LENGTH               0x09
-#define INTERFACE_LENGTH            0x09
-#define EP_LENGTH                   0x07
-#define DEVICE_QUALIFIER_LENGTH     0x0A
-
-//JWEI 2003/04/29
-// Endpoint number define
-#define EP0         0
-#define EP1         1
-#define EP2         2
-#define EP3         3
-#define EP4         4
-#define EP5         5
-#define EP6         6
-#define EP7         7
-#define EP8         8
-#define EP9         9
-#define EP10        10
-#define EP11        11
-#define EP12        12
-#define EP13        13
-#define EP14        14
-#define EP15        15
-
-#define STRING_00_LENGTH            0x04
-#define STRING_10_LENGTH            0x0c
-#define STRING_20_LENGTH            0x18
-#define STRING_30_LENGTH            0x18
-#define STRING_40_LENGTH            0x04
-#define STRING_50_LENGTH            0x04
-#define STRING_60_LENGTH            0x04
-#define STRING_70_LENGTH            0x04
-#define STRING_80_LENGTH            0x04
-#define STRING_90_LENGTH            0x00
-
-#endif
diff --git a/target_firmware/magpie_fw_dev/target/inc/magpie/usb_std.h b/target_firmware/magpie_fw_dev/target/inc/magpie/usb_std.h
deleted file mode 100755 (executable)
index 06cc3f8..0000000
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * Copyright (c) 2013 Qualcomm Atheros, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted (subject to the limitations in the
- * disclaimer below) provided that the following conditions are met:
- *
- *  * Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- *  * Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the
- *    distribution.
- *
- *  * Neither the name of Qualcomm Atheros nor the names of its
- *    contributors may be used to endorse or promote products derived
- *    from this software without specific prior written permission.
- *
- * NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
- * GRANTED BY THIS LICENSE.  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
- * HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
- * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
- * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
- * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-#ifndef USB_STD_H
-#define USB_STD_H
-
-#define mDEV_REQ_REQ_DIR()      (ControlCmd.Direction)
-#define mDEV_REQ_REQ_TYPE()     (ControlCmd.Type)
-#define mDEV_REQ_REQ_RECI()     (ControlCmd.Object)
-#define mDEV_REQ_REQ()          (ControlCmd.Request)
-#define mDEV_REQ_VALUE()        (ControlCmd.Value)
-#define mDEV_REQ_VALUE_LOW()    (mLOW_BYTE(mDEV_REQ_VALUE()))
-#define mDEV_REQ_VALUE_HIGH()   (mHIGH_BYTE(mDEV_REQ_VALUE()))
-#define mDEV_REQ_INDEX()        (ControlCmd.Index)
-#define mDEV_REQ_LENGTH()       (ControlCmd.Length)
-
-/******************** USB Protocol Definition *************************/
-/* Standard Request Code (Table 9-4) */
-#define USB_GET_STATUS          0
-#define USB_CLEAR_FEATURE       1
-#define USB_SET_FEATURE         3
-#define USB_SET_ADDRESS         5
-#define USB_GET_DESCRIPTOR      6
-#define USB_SET_DESCRIPTOR      7
-#define USB_GET_CONFIGURATION   8
-#define USB_SET_CONFIGURATION   9
-#define USB_GET_INTERFACE       10
-#define USB_SET_INTERFACE       11
-#define USB_SYNCH_FRAME         12
-
-/* Descriptor Type (Table 9-5) */
-#define USB_DESC_TYPE_DEVICE    1
-#define USB_DESC_TYPE_CONFIG    2
-#define USB_DESC_TYPE_STRING    3
-#define USB_DESC_TYPE_INTERFACE 4
-#define USB_DESC_TYPE_ENDPOINT  5
-
-/* Endpoint Attribute (Table 9-10) */
-#define USB_EP_ATTR_CTRL        0
-#define USB_EP_ATTR_ISOCH       1
-#define USB_EP_ATTR_BULK        2
-#define USB_EP_ATTR_INTRPT      3
-
-/*********************** for USB 2.0 **********************************/
-// Table 9-5. Descriptor Types
-#define DT_DEVICE                       1
-#define DT_CONFIGURATION                2
-#define DT_STRING                       3
-#define DT_INTERFACE                    4
-#define DT_ENDPOINT                     5
-#define DT_DEVICE_QUALIFIER             6
-#define DT_OTHER_SPEED_CONFIGURATION    7
-#define DT_INTERFACE_POWER              8
-
-/**********************************************************************/
-// Values for bmAttributes Field in USB_CONFIGURATION_DESCRIPTOR
-#define USB_BUS_POWERED         0x80
-#define USB_SELF_POWERED        0x40
-#define USB_REMOTE_WAKEUP       0x20
-
-#define cUSB_REQTYPE_DIR_POS    7
-#define cUSB_REQTYPE_DIR_LEN    1
-#define cUSB_REQTYPE_TYPE_POS   5
-#define cUSB_REQTYPE_TYPE_LEN   2
-#define cUSB_REQTYPE_RX_POS     0
-#define cUSB_REQTYPE_RX_LEN     5
-
-/* for USB State */
-#define cUSB_DEFAULT_STATE      0
-#define cUSB_ADDRESS_STATE      1
-#define cUSB_CONFIG_STATE       2
-
-/* for Data transfer direction */
-#define bmUSB_HOST_DIR          7     /* Bit 7 */
-#define cUSB_DIR_HOST_OUT       0
-#define cUSB_DIR_HOST_IN        1
-
-/* for Type */
-#define cUSB_REQTYPE_STD        0
-#define cUSB_REQTYPE_CLASS      1
-#define cUSB_REQTYPE_VENDOR     2
-
-/* for Recipient */
-#define cUSB_REQTYPE_DEVICE     0
-#define cUSB_REQTYPE_INTERFACE  1
-#define cUSB_REQTYPE_ENDPOINT   2
-#define cUSB_REQTYPE_OTHER      3
-
-/* for Descriptor Type */
-#define cUSB_DESTYPE_DEVICE     1
-#define cUSB_DESTYPE_CONFIG     2
-#define cUSB_DESTYPE_STRING     3
-#define cUSB_DESTYPE_INTERFACE  4
-#define cUSB_DESTYPE_ENDPOINT   5
-#define cUSB_DESTYPE_END        cUSB_DESTYPE_ENDPOINT   // for range check
-
-/* for Feature selector */
-#define cUSB_FEATSEL_RMWAKEUP   0
-#define cUSB_FEATSEL_EPHAL      1
-#define cUSB_FEATSEL_END        cUSB_FEATSEL_EPHAL      // for range check
-
-#define bmREQ_RECI              0
-#define bmwREQ_RECI             5           // mMASKS(bmwREQ_RECI, bmREQ_RECI)
-#define bmREQ_TYPE              5
-#define bmwREQ_TYPE             2           // mMASKS(bmwREQ_TYPE, bmREQ_TYPE)
-#define bmREQ_DIR               7
-#define bmwREQ_DIR              1
-
-#endif
diff --git a/target_firmware/magpie_fw_dev/target/inc/magpie/usb_type.h b/target_firmware/magpie_fw_dev/target/inc/magpie/usb_type.h
deleted file mode 100755 (executable)
index c1bee0e..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Copyright (c) 2013 Qualcomm Atheros, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted (subject to the limitations in the
- * disclaimer below) provided that the following conditions are met:
- *
- *  * Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- *  * Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the
- *    distribution.
- *
- *  * Neither the name of Qualcomm Atheros nor the names of its
- *    contributors may be used to endorse or promote products derived
- *    from this software without specific prior written permission.
- *
- * NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
- * GRANTED BY THIS LICENSE.  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
- * HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
- * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
- * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
- * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-#ifndef USB_TYPE_H
-#define USB_TYPE_H
-
-#include "dt_defs.h"
-
-/*********************** for Faraday USB controller *******************/
-typedef enum
-{
-    CMD_VOID,                   // No command
-    CMD_GET_DESCRIPTOR,         // Get_Descriptor command
-    CMD_SET_DESCRIPTOR          // Set_Descriptor command
-} CommandType;
-
-typedef enum
-{
-    ACT_IDLE,
-    ACT_DONE,
-    ACT_STALL
-} Action;
-
-typedef struct Setup_Packet
-{
-    uint8_t Direction;          /* Data transfer direction: IN, OUT */
-    uint8_t Type;               /* Request Type: Standard, Class, Vendor */
-    uint8_t Object;             /* Recipient: Device, Interface, Endpoint,other */
-    uint16_t Request;           /* Refer to Table 9-3 */
-    uint16_t Value;
-    uint16_t Index;
-    uint16_t Length;
-} SetupPacket;
-
-#define mBIT(b)                 (1 << (b))
-#define mMASK(w)                (mBIT(w) - 1)
-
-#define mWORD_IDX(bsize)        ((bsize) >> 1)
-#define mWORD_SIZE(bsize)       (((bsize) + 1) >> 1)
-
-#define mTABLE_WID              mWORD_SIZE
-#define mTABLE_IDX              mWORD_IDX
-#define mTABLE_LEN              mLOW_BYTE
-
-#define mLOW_MASK(u16)          ((uint8_t) ((u16) & mMASK(8)))
-#define mHIGH_MASK(u16)         ((uint8_t) ((u16) & ~mMASK(8)))
-#define mLOW2HIGH(u16)          (((uint8_t) (u16)) << 8)
-
-/* (1234) -> 0034 */
-//#define mLOW_BYTE(u16)          ((U_8)(u16))
-#define mLOW_BYTE(u16)          mLOW_MASK(u16)
-/* (1234) -> 0012 */
-#define mHIGH_BYTE(u16)         ((uint8_t) (((uint16_t) (u16)) >> 8))
-
-#define mGET_REG1(var0, reg0)       { var0 = reg0; }
-
-/* (1234, 5678) -> 7834 */
-#define m2BYTE(ch1L, ch2H)      (mLOW_MASK(ch1L) | mLOW2HIGH(ch2H))
-
-#define mREAD_WORD(var0, reg0, reg1)    \
-    { var0 = reg0; var0 += mLOW2HIGH(reg1); }
-
-#endif
diff --git a/target_firmware/magpie_fw_dev/target/inc/magpie/usbfifo_api.h b/target_firmware/magpie_fw_dev/target/inc/magpie/usbfifo_api.h
deleted file mode 100755 (executable)
index 9ec5398..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (c) 2013 Qualcomm Atheros, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted (subject to the limitations in the
- * disclaimer below) provided that the following conditions are met:
- *
- *  * Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- *  * Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the
- *    distribution.
- *
- *  * Neither the name of Qualcomm Atheros nor the names of its
- *    contributors may be used to endorse or promote products derived
- *    from this software without specific prior written permission.
- *
- * NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
- * GRANTED BY THIS LICENSE.  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
- * HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
- * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
- * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
- * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-/*
- * @File: HIF_api.h
- * 
- * @Abstract: Host Interface api
- * 
- * @Notes:
- */
-
-#ifndef _USB_FIFO_API_H
-#define _USB_FIFO_API_H
-
-#include "vbuf_api.h"
-
-typedef struct _USB_FIFO_CONFIG {
-        /* callback to get the buf for receiving commands from USB FIFO */
-    VBUF* (*get_command_buf)(void);
-        /* callback when receiving a command */
-    void (*recv_command)(VBUF *cmd);    
-        /* callback to get the buf for event to send to the host */
-    VBUF* (*get_event_buf)(void);
-        /* callback to indicate the event has been sent to the host */
-    void (*send_event_done)(VBUF *buf);
-    
-        /* context used for all callbacks */
-    //void *context;
-} USB_FIFO_CONFIG;
-
-/* hardware API table structure (API descriptions below) */
-struct usbfifo_api {
-    void (*_init)(USB_FIFO_CONFIG *pConfig);
-    void (*_enable_event_isr)(void);
-
-        /* room to expand this table by another table */
-    void *pReserved;    
-};
-
-extern void usbfifo_module_install(struct usbfifo_api *apis);
-
-#endif /* #ifndef _USB_FIFO_API_H */
diff --git a/target_firmware/magpie_fw_dev/target/inc/usb_api.h b/target_firmware/magpie_fw_dev/target/inc/usb_api.h
new file mode 100755 (executable)
index 0000000..c3ca296
--- /dev/null
@@ -0,0 +1,86 @@
+/*
+ * Copyright (c) 2013 Qualcomm Atheros, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted (subject to the limitations in the
+ * disclaimer below) provided that the following conditions are met:
+ *
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the
+ *    distribution.
+ *
+ *  * Neither the name of Qualcomm Atheros nor the names of its
+ *    contributors may be used to endorse or promote products derived
+ *    from this software without specific prior written permission.
+ *
+ * NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
+ * GRANTED BY THIS LICENSE.  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
+ * HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+ * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+#ifndef USB_API_H
+#define USB_API_H
+
+#include "dt_defs.h"
+
+/******** hardware API table structure (API descriptions below) *************/
+struct usb_api {
+    void (*_usb_init)(void);
+    void (*_usb_rom_task)(void);
+    void (*_usb_fw_task)(void);
+    void (*_usb_init_phy)(void);
+
+    // ep0 operation
+    void (*_usb_ep0_setup)(void);
+    
+    void (*_usb_ep0_tx)(void);
+    void (*_usb_ep0_rx)(void);
+
+    // get/set interface
+    BOOLEAN (*_usb_get_interface)(void);
+    BOOLEAN (*_usb_set_interface)(void);
+
+    // get/set configuration
+    BOOLEAN (*_usb_get_configuration)(void);
+    BOOLEAN (*_usb_set_configuration)(void);
+
+    // standard/vendor command
+    BOOLEAN (*_usb_standard_cmd)(void);    
+    void (*_usb_vendor_cmd)(void);
+
+    void (*_usb_power_off)(void);
+    void (*_usb_reset_fifo)(void);
+    void (*_usb_gen_wdt)(void);
+    void (*_usb_jump_boot)(void);
+    
+    BOOLEAN (*_usb_clr_feature)(void);
+    BOOLEAN (*_usb_set_feature)(void);    
+    BOOLEAN (*_usb_set_address)(void);
+    BOOLEAN (*_usb_get_descriptor)(void);
+
+    BOOLEAN (*_usb_get_status)(void);
+    void (*_usb_setup_desc)(void);
+    void (*_usb_reg_out)(void);
+    void (*_usb_status_in)(void);
+
+    void (*_usb_ep0_tx_data)(void);
+    void (*_usb_ep0_rx_data)(void);
+
+    void (*_usb_clk_init)(void);
+};
+
+#endif
diff --git a/target_firmware/magpie_fw_dev/target/inc/usb_extr.h b/target_firmware/magpie_fw_dev/target/inc/usb_extr.h
new file mode 100755 (executable)
index 0000000..aa12bcc
--- /dev/null
@@ -0,0 +1,68 @@
+/*
+ * Copyright (c) 2013 Qualcomm Atheros, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted (subject to the limitations in the
+ * disclaimer below) provided that the following conditions are met:
+ *
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the
+ *    distribution.
+ *
+ *  * Neither the name of Qualcomm Atheros nor the names of its
+ *    contributors may be used to endorse or promote products derived
+ *    from this software without specific prior written permission.
+ *
+ * NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
+ * GRANTED BY THIS LICENSE.  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
+ * HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+ * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+#ifndef USB_EXTR_H
+#define USB_EXTR_H
+
+#if 0
+#include "dt_defs.h"
+#include "usb_type.h"
+
+/* Variable for USB EP0 pipe (USB.c) */
+uint16_t       *pu8DescriptorEX;
+uint16_t       u16TxRxCounter;
+uint16_t       *u8ConfigDescriptorEX;
+//extern BOOLEAN     bUsbEP0HaltSt;
+Action      eUsbCxFinishAction;
+CommandType eUsbCxCommand;
+BOOLEAN     UsbChirpFinish;
+uint16_t       u8UsbConfigValue;
+uint16_t       u8UsbInterfaceValue;
+uint16_t       u8UsbInterfaceAlternateSetting;
+uint16_t       u16FirmwareComplete;
+
+uint16_t *UsbDeviceDescriptor;
+uint16_t *String00Descriptor;
+uint16_t *String10Descriptor;
+uint16_t *String20Descriptor;
+uint16_t *String30Descriptor;
+uint16_t *u8DeviceQualifierDescriptorEX;
+uint16_t *u8OtherSpeedConfigDescriptorEX;
+uint16_t *u8UsbDeviceDescriptor;
+uint16_t *u8String00Descriptor;
+uint16_t *u8String10Descriptor;
+uint16_t *u8String20Descriptor;
+uint16_t *u8String30Descriptor;
+#endif
+#endif
diff --git a/target_firmware/magpie_fw_dev/target/inc/usb_pre.h b/target_firmware/magpie_fw_dev/target/inc/usb_pre.h
new file mode 100755 (executable)
index 0000000..d3ae42b
--- /dev/null
@@ -0,0 +1,133 @@
+/*
+ * Copyright (c) 2013 Qualcomm Atheros, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted (subject to the limitations in the
+ * disclaimer below) provided that the following conditions are met:
+ *
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the
+ *    distribution.
+ *
+ *  * Neither the name of Qualcomm Atheros nor the names of its
+ *    contributors may be used to endorse or promote products derived
+ *    from this software without specific prior written permission.
+ *
+ * NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
+ * GRANTED BY THIS LICENSE.  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
+ * HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+ * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+#ifndef __USB_USER_PRE_H
+#define __USB_USER_PRE_H
+
+#define FUSB200_MAX_EP      10  // 1..10
+#define FUSB200_MAX_FIFO    10  // 0.. 9
+#define EP0MAXPACKETSIZE    0x40
+// #define EP0FIFOSIZE          64  // EP0_FIFO
+//JWEI 2003/04/29
+//#define EP0MAXPACKETSIZE        0x08
+
+// Max. Packet Size define
+#define MX_PA_SZ_8          8
+#define MX_PA_SZ_16         16
+#define MX_PA_SZ_32         32
+#define MX_PA_SZ_64         64
+#define MX_PA_SZ_128        128
+#define MX_PA_SZ_256        256
+#define MX_PA_SZ_512        512
+#define MX_PA_SZ_1024       1024
+
+#define MASK_F0             0xF0
+
+// Block Size define
+#define BLK512BYTE      1
+#define BLK1024BYTE     2
+
+#define BLK64BYTE       1
+#define BLK128BYTE      2
+
+// Block toggle number define
+#define SINGLE_BLK      1
+#define DOUBLE_BLK      2
+#define TRIBLE_BLK      3
+
+// Endpoint transfer type
+#define TF_TYPE_ISOCHRONOUS     1
+#define TF_TYPE_BULK            2
+#define TF_TYPE_INTERRUPT       3
+
+// Endpoint or FIFO direction define
+#define DIRECTION_IN    0
+#define DIRECTION_OUT   1
+
+// FIFO number define
+#define FIFO0           0x0
+#define FIFO1           0x1
+#define FIFO2           0x2
+#define FIFO3           0x3
+#define FIFO4           0x4
+#define FIFO5           0x5
+#define FIFO6           0x6
+#define FIFO7           0x7
+#define FIFO8           0x8
+#define FIFO9           0x9
+#define FIFO10          10
+#define FIFO11          11
+#define FIFO12          12
+#define FIFO13          13
+#define FIFO14          14
+#define FIFO15          15
+
+// Descriptor Table uses the following parameters : fixed
+#define DEVICE_LENGTH               0x12
+#define CONFIG_LENGTH               0x09
+#define INTERFACE_LENGTH            0x09
+#define EP_LENGTH                   0x07
+#define DEVICE_QUALIFIER_LENGTH     0x0A
+
+//JWEI 2003/04/29
+// Endpoint number define
+#define EP0         0
+#define EP1         1
+#define EP2         2
+#define EP3         3
+#define EP4         4
+#define EP5         5
+#define EP6         6
+#define EP7         7
+#define EP8         8
+#define EP9         9
+#define EP10        10
+#define EP11        11
+#define EP12        12
+#define EP13        13
+#define EP14        14
+#define EP15        15
+
+#define STRING_00_LENGTH            0x04
+#define STRING_10_LENGTH            0x0c
+#define STRING_20_LENGTH            0x18
+#define STRING_30_LENGTH            0x18
+#define STRING_40_LENGTH            0x04
+#define STRING_50_LENGTH            0x04
+#define STRING_60_LENGTH            0x04
+#define STRING_70_LENGTH            0x04
+#define STRING_80_LENGTH            0x04
+#define STRING_90_LENGTH            0x00
+
+#endif
diff --git a/target_firmware/magpie_fw_dev/target/inc/usb_std.h b/target_firmware/magpie_fw_dev/target/inc/usb_std.h
new file mode 100755 (executable)
index 0000000..06cc3f8
--- /dev/null
@@ -0,0 +1,140 @@
+/*
+ * Copyright (c) 2013 Qualcomm Atheros, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted (subject to the limitations in the
+ * disclaimer below) provided that the following conditions are met:
+ *
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the
+ *    distribution.
+ *
+ *  * Neither the name of Qualcomm Atheros nor the names of its
+ *    contributors may be used to endorse or promote products derived
+ *    from this software without specific prior written permission.
+ *
+ * NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
+ * GRANTED BY THIS LICENSE.  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
+ * HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+ * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+#ifndef USB_STD_H
+#define USB_STD_H
+
+#define mDEV_REQ_REQ_DIR()      (ControlCmd.Direction)
+#define mDEV_REQ_REQ_TYPE()     (ControlCmd.Type)
+#define mDEV_REQ_REQ_RECI()     (ControlCmd.Object)
+#define mDEV_REQ_REQ()          (ControlCmd.Request)
+#define mDEV_REQ_VALUE()        (ControlCmd.Value)
+#define mDEV_REQ_VALUE_LOW()    (mLOW_BYTE(mDEV_REQ_VALUE()))
+#define mDEV_REQ_VALUE_HIGH()   (mHIGH_BYTE(mDEV_REQ_VALUE()))
+#define mDEV_REQ_INDEX()        (ControlCmd.Index)
+#define mDEV_REQ_LENGTH()       (ControlCmd.Length)
+
+/******************** USB Protocol Definition *************************/
+/* Standard Request Code (Table 9-4) */
+#define USB_GET_STATUS          0
+#define USB_CLEAR_FEATURE       1
+#define USB_SET_FEATURE         3
+#define USB_SET_ADDRESS         5
+#define USB_GET_DESCRIPTOR      6
+#define USB_SET_DESCRIPTOR      7
+#define USB_GET_CONFIGURATION   8
+#define USB_SET_CONFIGURATION   9
+#define USB_GET_INTERFACE       10
+#define USB_SET_INTERFACE       11
+#define USB_SYNCH_FRAME         12
+
+/* Descriptor Type (Table 9-5) */
+#define USB_DESC_TYPE_DEVICE    1
+#define USB_DESC_TYPE_CONFIG    2
+#define USB_DESC_TYPE_STRING    3
+#define USB_DESC_TYPE_INTERFACE 4
+#define USB_DESC_TYPE_ENDPOINT  5
+
+/* Endpoint Attribute (Table 9-10) */
+#define USB_EP_ATTR_CTRL        0
+#define USB_EP_ATTR_ISOCH       1
+#define USB_EP_ATTR_BULK        2
+#define USB_EP_ATTR_INTRPT      3
+
+/*********************** for USB 2.0 **********************************/
+// Table 9-5. Descriptor Types
+#define DT_DEVICE                       1
+#define DT_CONFIGURATION                2
+#define DT_STRING                       3
+#define DT_INTERFACE                    4
+#define DT_ENDPOINT                     5
+#define DT_DEVICE_QUALIFIER             6
+#define DT_OTHER_SPEED_CONFIGURATION    7
+#define DT_INTERFACE_POWER              8
+
+/**********************************************************************/
+// Values for bmAttributes Field in USB_CONFIGURATION_DESCRIPTOR
+#define USB_BUS_POWERED         0x80
+#define USB_SELF_POWERED        0x40
+#define USB_REMOTE_WAKEUP       0x20
+
+#define cUSB_REQTYPE_DIR_POS    7
+#define cUSB_REQTYPE_DIR_LEN    1
+#define cUSB_REQTYPE_TYPE_POS   5
+#define cUSB_REQTYPE_TYPE_LEN   2
+#define cUSB_REQTYPE_RX_POS     0
+#define cUSB_REQTYPE_RX_LEN     5
+
+/* for USB State */
+#define cUSB_DEFAULT_STATE      0
+#define cUSB_ADDRESS_STATE      1
+#define cUSB_CONFIG_STATE       2
+
+/* for Data transfer direction */
+#define bmUSB_HOST_DIR          7     /* Bit 7 */
+#define cUSB_DIR_HOST_OUT       0
+#define cUSB_DIR_HOST_IN        1
+
+/* for Type */
+#define cUSB_REQTYPE_STD        0
+#define cUSB_REQTYPE_CLASS      1
+#define cUSB_REQTYPE_VENDOR     2
+
+/* for Recipient */
+#define cUSB_REQTYPE_DEVICE     0
+#define cUSB_REQTYPE_INTERFACE  1
+#define cUSB_REQTYPE_ENDPOINT   2
+#define cUSB_REQTYPE_OTHER      3
+
+/* for Descriptor Type */
+#define cUSB_DESTYPE_DEVICE     1
+#define cUSB_DESTYPE_CONFIG     2
+#define cUSB_DESTYPE_STRING     3
+#define cUSB_DESTYPE_INTERFACE  4
+#define cUSB_DESTYPE_ENDPOINT   5
+#define cUSB_DESTYPE_END        cUSB_DESTYPE_ENDPOINT   // for range check
+
+/* for Feature selector */
+#define cUSB_FEATSEL_RMWAKEUP   0
+#define cUSB_FEATSEL_EPHAL      1
+#define cUSB_FEATSEL_END        cUSB_FEATSEL_EPHAL      // for range check
+
+#define bmREQ_RECI              0
+#define bmwREQ_RECI             5           // mMASKS(bmwREQ_RECI, bmREQ_RECI)
+#define bmREQ_TYPE              5
+#define bmwREQ_TYPE             2           // mMASKS(bmwREQ_TYPE, bmREQ_TYPE)
+#define bmREQ_DIR               7
+#define bmwREQ_DIR              1
+
+#endif
diff --git a/target_firmware/magpie_fw_dev/target/inc/usb_type.h b/target_firmware/magpie_fw_dev/target/inc/usb_type.h
new file mode 100755 (executable)
index 0000000..c1bee0e
--- /dev/null
@@ -0,0 +1,94 @@
+/*
+ * Copyright (c) 2013 Qualcomm Atheros, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted (subject to the limitations in the
+ * disclaimer below) provided that the following conditions are met:
+ *
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the
+ *    distribution.
+ *
+ *  * Neither the name of Qualcomm Atheros nor the names of its
+ *    contributors may be used to endorse or promote products derived
+ *    from this software without specific prior written permission.
+ *
+ * NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
+ * GRANTED BY THIS LICENSE.  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
+ * HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+ * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+#ifndef USB_TYPE_H
+#define USB_TYPE_H
+
+#include "dt_defs.h"
+
+/*********************** for Faraday USB controller *******************/
+typedef enum
+{
+    CMD_VOID,                   // No command
+    CMD_GET_DESCRIPTOR,         // Get_Descriptor command
+    CMD_SET_DESCRIPTOR          // Set_Descriptor command
+} CommandType;
+
+typedef enum
+{
+    ACT_IDLE,
+    ACT_DONE,
+    ACT_STALL
+} Action;
+
+typedef struct Setup_Packet
+{
+    uint8_t Direction;          /* Data transfer direction: IN, OUT */
+    uint8_t Type;               /* Request Type: Standard, Class, Vendor */
+    uint8_t Object;             /* Recipient: Device, Interface, Endpoint,other */
+    uint16_t Request;           /* Refer to Table 9-3 */
+    uint16_t Value;
+    uint16_t Index;
+    uint16_t Length;
+} SetupPacket;
+
+#define mBIT(b)                 (1 << (b))
+#define mMASK(w)                (mBIT(w) - 1)
+
+#define mWORD_IDX(bsize)        ((bsize) >> 1)
+#define mWORD_SIZE(bsize)       (((bsize) + 1) >> 1)
+
+#define mTABLE_WID              mWORD_SIZE
+#define mTABLE_IDX              mWORD_IDX
+#define mTABLE_LEN              mLOW_BYTE
+
+#define mLOW_MASK(u16)          ((uint8_t) ((u16) & mMASK(8)))
+#define mHIGH_MASK(u16)         ((uint8_t) ((u16) & ~mMASK(8)))
+#define mLOW2HIGH(u16)          (((uint8_t) (u16)) << 8)
+
+/* (1234) -> 0034 */
+//#define mLOW_BYTE(u16)          ((U_8)(u16))
+#define mLOW_BYTE(u16)          mLOW_MASK(u16)
+/* (1234) -> 0012 */
+#define mHIGH_BYTE(u16)         ((uint8_t) (((uint16_t) (u16)) >> 8))
+
+#define mGET_REG1(var0, reg0)       { var0 = reg0; }
+
+/* (1234, 5678) -> 7834 */
+#define m2BYTE(ch1L, ch2H)      (mLOW_MASK(ch1L) | mLOW2HIGH(ch2H))
+
+#define mREAD_WORD(var0, reg0, reg1)    \
+    { var0 = reg0; var0 += mLOW2HIGH(reg1); }
+
+#endif
diff --git a/target_firmware/magpie_fw_dev/target/inc/usbfifo_api.h b/target_firmware/magpie_fw_dev/target/inc/usbfifo_api.h
new file mode 100755 (executable)
index 0000000..9ec5398
--- /dev/null
@@ -0,0 +1,73 @@
+/*
+ * Copyright (c) 2013 Qualcomm Atheros, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted (subject to the limitations in the
+ * disclaimer below) provided that the following conditions are met:
+ *
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the
+ *    distribution.
+ *
+ *  * Neither the name of Qualcomm Atheros nor the names of its
+ *    contributors may be used to endorse or promote products derived
+ *    from this software without specific prior written permission.
+ *
+ * NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
+ * GRANTED BY THIS LICENSE.  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
+ * HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+ * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+/*
+ * @File: HIF_api.h
+ * 
+ * @Abstract: Host Interface api
+ * 
+ * @Notes:
+ */
+
+#ifndef _USB_FIFO_API_H
+#define _USB_FIFO_API_H
+
+#include "vbuf_api.h"
+
+typedef struct _USB_FIFO_CONFIG {
+        /* callback to get the buf for receiving commands from USB FIFO */
+    VBUF* (*get_command_buf)(void);
+        /* callback when receiving a command */
+    void (*recv_command)(VBUF *cmd);    
+        /* callback to get the buf for event to send to the host */
+    VBUF* (*get_event_buf)(void);
+        /* callback to indicate the event has been sent to the host */
+    void (*send_event_done)(VBUF *buf);
+    
+        /* context used for all callbacks */
+    //void *context;
+} USB_FIFO_CONFIG;
+
+/* hardware API table structure (API descriptions below) */
+struct usbfifo_api {
+    void (*_init)(USB_FIFO_CONFIG *pConfig);
+    void (*_enable_event_isr)(void);
+
+        /* room to expand this table by another table */
+    void *pReserved;    
+};
+
+extern void usbfifo_module_install(struct usbfifo_api *apis);
+
+#endif /* #ifndef _USB_FIFO_API_H */