+++ /dev/null
-/*
- * 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.
- */
-#include "usb_defs.h"
-#include "usb_type.h"
-#include "usb_pre.h"
-#include "usb_extr.h"
-#include "usb_std.h"
-#include "dt_defs.h"
-#include "sys_cfg.h"
-
-#include "athos_api.h"
-
-#if SYSTEM_MODULE_USB
-
-extern uint16_t u8UsbConfigValue;
-extern uint16_t u8UsbInterfaceValue;
-extern uint16_t u8UsbInterfaceAlternateSetting;
-
-#if 1
-
-void mUsbEPMap(uint8_t EPn, uint8_t MAP)
-{
- //uint8_t *reg = (uint8_t*) (ZM_FUSB_BASE+0x30+(EPn-1));
- //*reg = MAP;
- uint8_t reg = (0x30+(EPn-1));
-
-// A_PRINTF("=>mUsbEPMap: write: %02x to %02x (0x%08x)\n\r", MAP , reg, USB_WORD_REG_READ(reg));
- USB_BYTE_REG_WRITE(reg, MAP );
-
-// A_PRINTF("<=mUsbEPMap: write: %02x to %02x (0x%08x)\n\r", MAP , reg, USB_WORD_REG_READ(reg));
-
- //zfUartSendStr("mUsbEPMap\r\n");
- //zfUartSendStrAndHex("EPn=", EPn);
- //zfUartSendStrAndHex("MAP=", MAP);
-}
-
-void mUsbFIFOMap(uint8_t FIFOn, uint8_t MAP)
-{
- //uint8_t *reg = (uint8_t*) (ZM_FUSB_BASE+0x80+FIFOn);
- //*reg = MAP;
-
- uint8_t reg = (0x80+FIFOn);
-
- reg = reg;
-
-// A_PRINTF("=>mUsbFIFOMap: write: %02x to %02x (0x%08x)\n\r", MAP , reg, USB_WORD_REG_READ(reg));
- USB_BYTE_REG_WRITE( reg, MAP );
-
-// A_PRINTF("<=mUsbFIFOMap: write: %02x to %02x (0x%08x)\n\r", MAP , reg, USB_WORD_REG_READ(reg));
- //zfUartSendStr("mUsbFIFOMap\r\n");
- //zfUartSendStrAndHex("FIFOn=", FIFOn);
- //zfUartSendStrAndHex("MAP=", MAP);
-}
-
-void mUsbFIFOConfig(uint8_t FIFOn, uint8_t cfg)
-{
- //uint8_t *reg = (uint8_t*) (ZM_FUSB_BASE+0x90+FIFOn);
- //*reg = cfg;
- uint8_t reg = (0x90+FIFOn);
-
-// A_PRINTF("=>mUsbFIFOConfig: write: %02x to %02x (0x%08x)\n\r", cfg , reg, USB_WORD_REG_READ(reg));
- USB_BYTE_REG_WRITE( reg, cfg );
-
-// A_PRINTF("<=mUsbFIFOConfig: write: %02x to %02x (0x%08x)\n\r", cfg , reg, USB_WORD_REG_READ(reg));
- //zfUartSendStr((uint8_t *)"mUsbFIFOConfig\r\n");
- //zfUartSendStrAndHex((uint8_t *)"FIFOn=", FIFOn);
- //zfUartSendStrAndHex((uint8_t *)"cfg=", cfg);
-}
-
-void mUsbEPMxPtSzHigh(uint8_t EPn, uint8_t dir, uint16_t size)
-{
- //uint8_t* reg = (uint8_t*) (ZM_FUSB_BASE+ZM_EP_IN_MAX_SIZE_HIGH_OFFSET+(((dir) * 0x20)+EPn << 1));
- //*reg = (size >> 8) & 0xf;
- uint8_t reg = (ZM_EP_IN_MAX_SIZE_HIGH_OFFSET+(((dir) * 0x20)+(EPn << 1)));
-
-// A_PRINTF("=>mUsbEPMxPtSzHigh: write: %02x to %02x (0x%08x)\n\r", ((size >> 8) & 0xff), reg, USB_WORD_REG_READ(reg));
- USB_BYTE_REG_WRITE(reg, ((size >> 8) & 0xff));
-
-// A_PRINTF("<=mUsbEPMxPtSzHigh: write: %02x to %02x (0x%08x)\n\r", ((size >> 8) & 0xff), reg, USB_WORD_REG_READ(reg));
- //USB_BYTE_REG_WRITE((ZM_EP_IN_MAX_SIZE_HIGH_OFFSET+(((dir) * 0x20)+EPn << 1)), ((size >> 8) & 0xf));
-}
-
-void mUsbEPMxPtSzLow(uint8_t EPn, uint8_t dir, uint16_t size)
-{
- //uint8_t* reg = (uint8_t*) (ZM_FUSB_BASE+ZM_EP_IN_MAX_SIZE_LOW_OFFSET+(((dir) * 0x20)+EPn << 1));
- //*reg = (size & 0xff);
-
- uint8_t reg = (ZM_EP_IN_MAX_SIZE_LOW_OFFSET+(((dir) * 0x20)+(EPn << 1)));
-// A_PRINTF("=>mUsbEPMxPtSzLow: write: %02x to %02x (0x%08x)\n\r", (size & 0xff), reg, USB_WORD_REG_READ(reg));
- USB_BYTE_REG_WRITE(reg, (size & 0xff));
-
-// A_PRINTF("<=mUsbEPMxPtSzLow: write: %02x to %02x (0x%08x)\n\r", (size & 0xff), reg, USB_WORD_REG_READ(reg));
-}
-
-void mUsbEPinHighBandSet(uint8_t EPn, uint8_t dir, uint16_t size)
-{
-#if 1
- //uint8_t* reg = (uint8_t*) (ZM_FUSB_BASE+ZM_EP_IN_MAX_SIZE_HIGH_OFFSET+(EPn << 1));
-
- //*reg &= ~(BIT6 | BIT5);
- //*reg |= (((uint8_t)((size) >> 11) + 1) << 5) * (1 - (dir));
-
- uint8_t reg = (ZM_EP_IN_MAX_SIZE_HIGH_OFFSET+(EPn << 1));
-// uint8_t reg2 = (((uint8_t)((size) >> 11) + 1) << 5) * (1 - (dir));
- uint8_t reg2 = (((uint8_t)((size) >> 11) + 1) << 5) * (1 - (dir));
-
-// A_PRINTF("=>mUsbEPinHighBandSet(%d)(size:%d)(dir:%d): write: %02x to %02x (0x%08x)\n\r", EPn, size, dir, (USB_BYTE_REG_READ(reg)|reg2), reg, USB_WORD_REG_READ(reg));
- USB_BYTE_REG_WRITE(reg, (USB_BYTE_REG_READ(reg)&~(BIT6 | BIT5)));
- USB_BYTE_REG_WRITE(reg, (USB_BYTE_REG_READ(reg)|reg2));
-
-// A_PRINTF("=>mUsbEPinHighBandSet(%d)(size:%d)(dir:%d): write: %02x to %02x (0x%08x)\n\r", EPn, size, dir, (USB_BYTE_REG_READ(reg)|reg2), reg, USB_WORD_REG_READ(reg));
-#endif
-}
-
-#else
-
-#define mUsbEPMap( EPn, MAP) USB_BYTE_REG_WRITE( (0x30+(EPn-1)), MAP )
-
-#define mUsbFIFOMap( FIFOn, MAP) USB_BYTE_REG_WRITE( (0x80+FIFOn), MAP )
-
-#define mUsbFIFOConfig(FIFOn, cfg) USB_BYTE_REG_WRITE( (0x90+FIFOn), cfg )
-
-#define mUsbEPMxPtSzHigh(EPn, dir, size) USB_BYTE_REG_WRITE((ZM_EP_IN_MAX_SIZE_HIGH_OFFSET+(((dir) * 0x20)+EPn << 1)), ((size >> 8) & 0xf))
-
-#define mUsbEPMxPtSzLow(EPn, dir, size) USB_BYTE_REG_WRITE((ZM_EP_IN_MAX_SIZE_LOW_OFFSET+(((dir) * 0x20)+EPn << 1)), (size & 0xff))
-
-#define mUsbEPinHighBandSet( EPn, dir, size) \
-{ \
- USB_BYTE_REG_WRITE((ZM_EP_IN_MAX_SIZE_HIGH_OFFSET+(EPn << 1)), \
- (USB_BYTE_REG_READ((ZM_EP_IN_MAX_SIZE_HIGH_OFFSET+(EPn << 1))&(~(BIT6 | BIT5))))); \
- USB_BYTE_REG_WRITE((ZM_EP_IN_MAX_SIZE_HIGH_OFFSET+(EPn << 1)), \
- (USB_BYTE_REG_READ((ZM_EP_IN_MAX_SIZE_HIGH_OFFSET+(EPn << 1)|((uint8_t)((size) >> 11) + 1) << 5) * (1 - (dir))))); \
-}
-
-#endif
-
-/////////////////////////////////////////////////////
-// vUsbFIFO_EPxCfg_HS(void)
-// Description:
-// 1. Configure the FIFO and EPx map
-// input: none
-// output: none
-/////////////////////////////////////////////////////
-void vUsbFIFO_EPxCfg_HS(void)
-{
-
- int i;
-
- switch (u8UsbConfigValue)
- {
- #if (HS_CONFIGURATION_NUMBER >= 1)
- // Configuration 0X01
- case 0X01:
- switch (u8UsbInterfaceValue)
- {
- #if (HS_C1_INTERFACE_NUMBER >= 1)
- // Interface 0
- case 0:
- switch (u8UsbInterfaceAlternateSetting)
- {
- #if (HS_C1_I0_ALT_NUMBER >= 1)
- // AlternateSetting 0
- case 0:
- #if (HS_C1_I0_A0_EP_NUMBER >= 1)
- //EP0X01
- mUsbEPMap(EP1, HS_C1_I0_A0_EP1_MAP);
- mUsbFIFOMap(HS_C1_I0_A0_EP1_FIFO_START, HS_C1_I0_A0_EP1_FIFO_MAP);
-
- mUsbFIFOMap(HS_C1_I0_A0_EP1_FIFO_START+1, HS_C1_I0_A0_EP1_FIFO_MAP); //ryan
-
- mUsbFIFOConfig(HS_C1_I0_A0_EP1_FIFO_START, HS_C1_I0_A0_EP1_FIFO_CONFIG);
-
- for(i = HS_C1_I0_A0_EP1_FIFO_START + 1 ;
- i < HS_C1_I0_A0_EP1_FIFO_START + HS_C1_I0_A0_EP1_FIFO_NO ;
- i ++)
- {
- mUsbFIFOConfig(i, (HS_C1_I0_A0_EP1_FIFO_CONFIG & (~BIT7)) );
- }
-
- mUsbEPMxPtSzHigh(EP1, HS_C1_I0_A0_EP1_DIRECTION, (HS_C1_I0_A0_EP1_MAX_PACKET & 0x7ff) );
- mUsbEPMxPtSzLow(EP1, HS_C1_I0_A0_EP1_DIRECTION, (HS_C1_I0_A0_EP1_MAX_PACKET & 0x7ff) );
- mUsbEPinHighBandSet(EP1 , HS_C1_I0_A0_EP1_DIRECTION , HS_C1_I0_A0_EP1_MAX_PACKET);
-
- #endif
- #if (HS_C1_I0_A0_EP_NUMBER >= 2)
- //EP0X02
- mUsbEPMap(EP2, HS_C1_I0_A0_EP2_MAP);
- mUsbFIFOMap(HS_C1_I0_A0_EP2_FIFO_START, HS_C1_I0_A0_EP2_FIFO_MAP);
-
- mUsbFIFOMap(HS_C1_I0_A0_EP2_FIFO_START+1, HS_C1_I0_A0_EP2_FIFO_MAP);//ryan
-
- mUsbFIFOConfig(HS_C1_I0_A0_EP2_FIFO_START, HS_C1_I0_A0_EP2_FIFO_CONFIG);
-
- for(i = HS_C1_I0_A0_EP2_FIFO_START + 1 ;
- i < HS_C1_I0_A0_EP2_FIFO_START + HS_C1_I0_A0_EP2_FIFO_NO ;
- i ++)
- {
- mUsbFIFOConfig(i, (HS_C1_I0_A0_EP2_FIFO_CONFIG & (~BIT7)) );
- }
-
- mUsbEPMxPtSzHigh(EP2, HS_C1_I0_A0_EP2_DIRECTION, (HS_C1_I0_A0_EP2_MAX_PACKET & 0x7ff) );
- mUsbEPMxPtSzLow(EP2, HS_C1_I0_A0_EP2_DIRECTION, (HS_C1_I0_A0_EP2_MAX_PACKET & 0x7ff) );
- mUsbEPinHighBandSet(EP2 , HS_C1_I0_A0_EP2_DIRECTION , HS_C1_I0_A0_EP2_MAX_PACKET);
-
- #endif
- #if (HS_C1_I0_A0_EP_NUMBER >= 3)
- //EP0X03
- mUsbEPMap(EP3, HS_C1_I0_A0_EP3_MAP);
- mUsbFIFOMap(HS_C1_I0_A0_EP3_FIFO_START, HS_C1_I0_A0_EP3_FIFO_MAP);
- mUsbFIFOConfig(HS_C1_I0_A0_EP3_FIFO_START, HS_C1_I0_A0_EP3_FIFO_CONFIG);
-
- for(i = HS_C1_I0_A0_EP3_FIFO_START + 1 ;
- i < HS_C1_I0_A0_EP3_FIFO_START + HS_C1_I0_A0_EP3_FIFO_NO ;
- i ++)
- {
- mUsbFIFOConfig(i, (HS_C1_I0_A0_EP3_FIFO_CONFIG & (~BIT7)) );
- }
-
- mUsbEPMxPtSzHigh(EP3, HS_C1_I0_A0_EP3_DIRECTION, (HS_C1_I0_A0_EP3_MAX_PACKET & 0x7ff) );
- mUsbEPMxPtSzLow(EP3, HS_C1_I0_A0_EP3_DIRECTION, (HS_C1_I0_A0_EP3_MAX_PACKET & 0x7ff) );
- mUsbEPinHighBandSet(EP3 , HS_C1_I0_A0_EP3_DIRECTION , HS_C1_I0_A0_EP3_MAX_PACKET);
-
- #endif
- #if (HS_C1_I0_A0_EP_NUMBER >= 4) || fFLASH_DISK
- //EP0X04
- mUsbEPMap(EP4, HS_C1_I0_A0_EP4_MAP);
- mUsbFIFOMap(HS_C1_I0_A0_EP4_FIFO_START, HS_C1_I0_A0_EP4_FIFO_MAP);
- mUsbFIFOConfig(HS_C1_I0_A0_EP4_FIFO_START, HS_C1_I0_A0_EP4_FIFO_CONFIG);
-
- for(i = HS_C1_I0_A0_EP4_FIFO_START + 1 ;
- i < HS_C1_I0_A0_EP4_FIFO_START + HS_C1_I0_A0_EP4_FIFO_NO ;
- i ++)
- {
- mUsbFIFOConfig(i, (HS_C1_I0_A0_EP4_FIFO_CONFIG & (~BIT7)) );
- }
-
- mUsbEPMxPtSzHigh(EP4, HS_C1_I0_A0_EP4_DIRECTION, (HS_C1_I0_A0_EP4_MAX_PACKET & 0x7ff) );
- mUsbEPMxPtSzLow(EP4, HS_C1_I0_A0_EP4_DIRECTION, (HS_C1_I0_A0_EP4_MAX_PACKET & 0x7ff) );
- mUsbEPinHighBandSet(EP4 , HS_C1_I0_A0_EP4_DIRECTION , HS_C1_I0_A0_EP4_MAX_PACKET);
-
- #endif
-//////////////////////////////////////////////////////////////
-#if SYSTEM_MODULE_HP_EP5
- #if (HS_C1_I0_A0_EP_NUMBER >= 5)
- //EP0X05
- mUsbEPMap(EP5, HS_C1_I0_A0_EP5_MAP);
- mUsbFIFOMap(HS_C1_I0_A0_EP5_FIFO_START, HS_C1_I0_A0_EP5_FIFO_MAP);
-
- mUsbFIFOMap(HS_C1_I0_A0_EP5_FIFO_START+1, HS_C1_I0_A0_EP5_FIFO_MAP); //ryan
-
- mUsbFIFOConfig(HS_C1_I0_A0_EP5_FIFO_START, HS_C1_I0_A0_EP5_FIFO_CONFIG);
-
- for(i = HS_C1_I0_A0_EP5_FIFO_START + 1 ;
- i < HS_C1_I0_A0_EP5_FIFO_START + HS_C1_I0_A0_EP5_FIFO_NO ;
- i ++)
- {
- mUsbFIFOConfig(i, (HS_C1_I0_A0_EP5_FIFO_CONFIG & (~BIT7)) );
- }
-
- mUsbEPMxPtSzHigh(EP5, HS_C1_I0_A0_EP5_DIRECTION, (HS_C1_I0_A0_EP5_MAX_PACKET & 0x7ff) );
- mUsbEPMxPtSzLow(EP5, HS_C1_I0_A0_EP5_DIRECTION, (HS_C1_I0_A0_EP5_MAX_PACKET & 0x7ff) );
- mUsbEPinHighBandSet(EP5 , HS_C1_I0_A0_EP5_DIRECTION , HS_C1_I0_A0_EP5_MAX_PACKET);
- #endif
-#endif //SYSTEM_MODULE_HP_EP5
-
-//////////////////////////////////////////////////////////////
-#if SYSTEM_MODULE_HP_EP6
- #if (HS_C1_I0_A0_EP_NUMBER >= 6)
- //EP0X06
- mUsbEPMap(EP6, HS_C1_I0_A0_EP6_MAP);
- mUsbFIFOMap(HS_C1_I0_A0_EP6_FIFO_START, HS_C1_I0_A0_EP6_FIFO_MAP);
-
- mUsbFIFOMap(HS_C1_I0_A0_EP6_FIFO_START+1, HS_C1_I0_A0_EP6_FIFO_MAP); //ryan
-
- mUsbFIFOConfig(HS_C1_I0_A0_EP6_FIFO_START, HS_C1_I0_A0_EP6_FIFO_CONFIG);
-
- for(i = HS_C1_I0_A0_EP6_FIFO_START + 1 ;
- i < HS_C1_I0_A0_EP6_FIFO_START + HS_C1_I0_A0_EP6_FIFO_NO ;
- i ++)
- {
- mUsbFIFOConfig(i, (HS_C1_I0_A0_EP6_FIFO_CONFIG & (~BIT7)) );
- }
-
- mUsbEPMxPtSzHigh(EP6, HS_C1_I0_A0_EP6_DIRECTION, (HS_C1_I0_A0_EP6_MAX_PACKET & 0x7ff) );
- mUsbEPMxPtSzLow(EP6, HS_C1_I0_A0_EP6_DIRECTION, (HS_C1_I0_A0_EP6_MAX_PACKET & 0x7ff) );
- mUsbEPinHighBandSet(EP6 , HS_C1_I0_A0_EP6_DIRECTION , HS_C1_I0_A0_EP6_MAX_PACKET);
- #endif
- break;
-#endif //SYSTEM_MODULE_HP_EP6
-
- #endif
- default:
- break;
- }
- break;
- #endif
- default:
- break;
- }
- break;
- #endif
- default:
- break;
- }
- //mCHECK_STACK();
-
-}
-
-void vUsbFIFO_EPxCfg_FS(void)
-{
-
-int i;
-
- switch (u8UsbConfigValue)
- {
- #if (FS_CONFIGURATION_NUMBER >= 1)
- // Configuration 0X01
- case 0X01:
- switch (u8UsbInterfaceValue)
- {
- #if (FS_C1_INTERFACE_NUMBER >= 1)
- // Interface 0
- case 0:
- switch (u8UsbInterfaceAlternateSetting)
- {
- #if (FS_C1_I0_ALT_NUMBER >= 1)
- // AlternateSetting 0
- case 0:
- #if (FS_C1_I0_A0_EP_NUMBER >= 1)
- //EP0X01
- mUsbEPMap(EP1, FS_C1_I0_A0_EP1_MAP);
- mUsbFIFOMap(FS_C1_I0_A0_EP1_FIFO_START, FS_C1_I0_A0_EP1_FIFO_MAP);
- mUsbFIFOConfig(FS_C1_I0_A0_EP1_FIFO_START, FS_C1_I0_A0_EP1_FIFO_CONFIG);
-
- for(i = FS_C1_I0_A0_EP1_FIFO_START + 1 ;
- i < FS_C1_I0_A0_EP1_FIFO_START + FS_C1_I0_A0_EP1_FIFO_NO ;
- i ++)
- {
- mUsbFIFOConfig(i, (FS_C1_I0_A0_EP1_FIFO_CONFIG & (~BIT7)) );
- }
-
- mUsbEPMxPtSzHigh(EP1, FS_C1_I0_A0_EP1_DIRECTION, (FS_C1_I0_A0_EP1_MAX_PACKET & 0x7ff));
- mUsbEPMxPtSzLow(EP1, FS_C1_I0_A0_EP1_DIRECTION, (FS_C1_I0_A0_EP1_MAX_PACKET & 0x7ff));
- //``.JWEI 2003/04/29
- mUsbEPinHighBandSet(EP1 , FS_C1_I0_A0_EP1_DIRECTION, FS_C1_I0_A0_EP1_MAX_PACKET);
-
- #endif
- #if (FS_C1_I0_A0_EP_NUMBER >= 2)
- //EP0X02
- mUsbEPMap(EP2, FS_C1_I0_A0_EP2_MAP);
- mUsbFIFOMap(FS_C1_I0_A0_EP2_FIFO_START, FS_C1_I0_A0_EP2_FIFO_MAP);
- mUsbFIFOConfig(FS_C1_I0_A0_EP2_FIFO_START, FS_C1_I0_A0_EP2_FIFO_CONFIG);
-
- for(i = FS_C1_I0_A0_EP2_FIFO_START + 1 ;
- i < FS_C1_I0_A0_EP2_FIFO_START + FS_C1_I0_A0_EP2_FIFO_NO ;
- i ++)
- {
- mUsbFIFOConfig(i, (FS_C1_I0_A0_EP2_FIFO_CONFIG & (~BIT7)) );
- }
-
- mUsbEPMxPtSzHigh(EP2, FS_C1_I0_A0_EP2_DIRECTION, (FS_C1_I0_A0_EP2_MAX_PACKET & 0x7ff));
- mUsbEPMxPtSzLow(EP2, FS_C1_I0_A0_EP2_DIRECTION, (FS_C1_I0_A0_EP2_MAX_PACKET & 0x7ff));
- mUsbEPinHighBandSet(EP2 , FS_C1_I0_A0_EP2_DIRECTION, FS_C1_I0_A0_EP2_MAX_PACKET);
-
- #endif
- #if (FS_C1_I0_A0_EP_NUMBER >= 3)
- //EP0X03
- mUsbEPMap(EP3, FS_C1_I0_A0_EP3_MAP);
- mUsbFIFOMap(FS_C1_I0_A0_EP3_FIFO_START, FS_C1_I0_A0_EP3_FIFO_MAP);
- mUsbFIFOConfig(FS_C1_I0_A0_EP3_FIFO_START, FS_C1_I0_A0_EP3_FIFO_CONFIG);
-
- for(i = FS_C1_I0_A0_EP3_FIFO_START + 1 ;
- i < FS_C1_I0_A0_EP3_FIFO_START + FS_C1_I0_A0_EP3_FIFO_NO ;
- i ++)
- {
- mUsbFIFOConfig(i, (FS_C1_I0_A0_EP3_FIFO_CONFIG & (~BIT7)) );
- }
-
- mUsbEPMxPtSzHigh(EP3, FS_C1_I0_A0_EP3_DIRECTION, (FS_C1_I0_A0_EP3_MAX_PACKET & 0x7ff));
- mUsbEPMxPtSzLow(EP3, FS_C1_I0_A0_EP3_DIRECTION, (FS_C1_I0_A0_EP3_MAX_PACKET & 0x7ff));
- mUsbEPinHighBandSet(EP3 , FS_C1_I0_A0_EP3_DIRECTION, FS_C1_I0_A0_EP3_MAX_PACKET);
-
- #endif
- #if (FS_C1_I0_A0_EP_NUMBER >= 4) || fFLASH_DISK
- //EP0X04
- mUsbEPMap(EP4, FS_C1_I0_A0_EP4_MAP);
- mUsbFIFOMap(FS_C1_I0_A0_EP4_FIFO_START, FS_C1_I0_A0_EP4_FIFO_MAP);
- mUsbFIFOConfig(FS_C1_I0_A0_EP4_FIFO_START, FS_C1_I0_A0_EP4_FIFO_CONFIG);
-
- for(i = FS_C1_I0_A0_EP4_FIFO_START + 1 ;
- i < FS_C1_I0_A0_EP4_FIFO_START + FS_C1_I0_A0_EP4_FIFO_NO ;
- i ++)
- {
- mUsbFIFOConfig(i, (FS_C1_I0_A0_EP4_FIFO_CONFIG & (~BIT7)) );
- }
-
- mUsbEPMxPtSzHigh(EP4, FS_C1_I0_A0_EP4_DIRECTION, (FS_C1_I0_A0_EP4_MAX_PACKET & 0x7ff));
- mUsbEPMxPtSzLow(EP4, FS_C1_I0_A0_EP4_DIRECTION, (FS_C1_I0_A0_EP4_MAX_PACKET & 0x7ff));
- mUsbEPinHighBandSet(EP4 , FS_C1_I0_A0_EP4_DIRECTION, FS_C1_I0_A0_EP4_MAX_PACKET);
-
- #endif
- #if (FS_C1_I0_A0_EP_NUMBER >= 5)
- //EP0X05
- mUsbEPMap(EP5, FS_C1_I0_A0_EP5_MAP);
- mUsbFIFOMap(FS_C1_I0_A0_EP5_FIFO_START, FS_C1_I0_A0_EP5_FIFO_MAP);
- mUsbFIFOConfig(FS_C1_I0_A0_EP5_FIFO_START, FS_C1_I0_A0_EP5_FIFO_CONFIG);
-
- for(i = FS_C1_I0_A0_EP5_FIFO_START + 1 ;
- i < FS_C1_I0_A0_EP5_FIFO_START + FS_C1_I0_A0_EP5_FIFO_NO ;
- i ++)
- {
- mUsbFIFOConfig(i, (FS_C1_I0_A0_EP5_FIFO_CONFIG & (~BIT7)) );
- }
-
- mUsbEPMxPtSzHigh(EP5, FS_C1_I0_A0_EP5_DIRECTION, (FS_C1_I0_A0_EP5_MAX_PACKET & 0x7ff));
- mUsbEPMxPtSzLow(EP5, FS_C1_I0_A0_EP5_DIRECTION, (FS_C1_I0_A0_EP5_MAX_PACKET & 0x7ff));
- mUsbEPinHighBandSet(EP5 , FS_C1_I0_A0_EP5_DIRECTION, FS_C1_I0_A0_EP5_MAX_PACKET);
- #endif
- break;
- #endif
- default:
- break;
- }
- break;
- #endif
- default:
- break;
- }
- break;
- #endif
- default:
- break;
- }
- //mCHECK_STACK();
-}
-
-#endif