亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? dynout_m.c

?? FX2開(kāi)發(fā)板程序下載B
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
#pragma NOIV                    // Do not generate interrupt vectors
//-----------------------------------------------------------------------------
//   File:      dynout_m.c
//   Contents:  Hooks required to implement USB peripheral function.
//              Code written for EZUSB FX2 128-pin REVE...
//              Firmware tested on EZUSB FX2 128-pin (CY3681 DK)
//   Copyright (c) 2001 Cypress Semiconductor All rights reserved
//-----------------------------------------------------------------------------
#include "fx2.h"
#include "fx2regs.h"
#include "fx2sdly.h"            // SYNCDELAY macro

extern BOOL GotSUD;             // Received setup data flag
extern BOOL Sleep;
extern BOOL Rwuen;
extern BOOL Selfpwr;

BYTE Configuration;             // Current configuration
BYTE AlternateSetting;          // Alternate settings

// proto's from "gpif.c"
void GpifInit( void );

  // ...debug LEDs: accessed via movx reads only ( through CPLD )
xdata volatile const BYTE LED0_ON  _at_ 0x8000;
xdata volatile const BYTE LED0_OFF _at_ 0x8100;
xdata volatile const BYTE LED1_ON  _at_ 0x9000;
xdata volatile const BYTE LED1_OFF _at_ 0x9100;
xdata volatile const BYTE LED2_ON  _at_ 0xA000;
xdata volatile const BYTE LED2_OFF _at_ 0xA100;
xdata volatile const BYTE LED3_ON  _at_ 0xB000;
xdata volatile const BYTE LED3_OFF _at_ 0xB100;
  // it may be worth noting here that the default monitor loads at 0xC000

  // use this global variable when (de)asserting debug LEDs...
BYTE ledX_rdvar = 0x00;

// 512 for high speed, 64 for full speed
static WORD enum_pkt_size = 0x0000;    

// when set firmware running in TD_Poll( ); handles data transfers
BOOL td_poll_handles_transfers = 0;

// when set cpu is out of the data path
BOOL endp_auto_mode_enabled = 0;

//-----------------------------------------------------------------------------
// Task Dispatcher hooks
//   The following hooks are called by the task dispatcher.
//-----------------------------------------------------------------------------
void TD_Init( void )
{ // Called once at startup

  CPUCS = 0x10;                 // CLKSPD[1:0]=10, for 48MHz operation
                                // CLKOE=0, don't drive CLKOUT
  
  GpifInit( );                  // init GPIF engine via GPIFTool output file

  // Registers which require a synchronization delay, see section 15.14
  // FIFORESET        FIFOPINPOLAR
  // INPKTEND         OUTPKTEND
  // EPxBCH:L         REVCTL
  // GPIFTCB3         GPIFTCB2
  // GPIFTCB1         GPIFTCB0
  // EPxFIFOPFH:L     EPxAUTOINLENH:L
  // EPxFIFOCFG       EPxGPIFFLGSEL
  // PINFLAGSxx       EPxFIFOIRQ
  // EPxFIFOIE        GPIFIRQ
  // GPIFIE           GPIFADRH:L
  // UDMACRCH:L       EPxGPIFTRIG
  // GPIFTRIG
  
  // Note: The pre-REVE EPxGPIFTCH/L register are affected, as well...
  //      ...these have been replaced by GPIFTC[B3:B0] registers
  
  SYNCDELAY;                    // see TRM section 15.14
  REVCTL = 0x02;                // REVCTL.1=1; use "dynamic OUT automaticity"
  
  // An explaination of what all happens when REVCTL.1=1
  //  - dynamic out automaticity
  //    - enabled via REVCTL.1=1 (DYN_OUT)
  //      - means block auto arming of OUT endp's when turning on "auto mode"
  //    - allows cpu intervention when switching between AUTO and MANUAL modes
  //      - without having to reset the fifo
  //  - this feature is useful for applications that edit packet data...
  //    - REVCTL.1=0 not recommended for applications that "touch" data...
  
  // EP2 512 BULK OUT 4x
  SYNCDELAY;                    // see TRM section 15.14
  EP2CFG = 0xA0;                // BUF[1:0]=00 for 4x buffering
  
  // EP6 512 BULK IN 4x
  SYNCDELAY;                    // 
  EP6CFG = 0xE0;                // BUF[1:0]=00 for 4x buffering
  
  // EP4 and EP8 are not used in this implementation...
  SYNCDELAY;                    // 
  EP4CFG = 0x20;                // clear valid bit
  SYNCDELAY;                    // 
  EP8CFG = 0x60;                // clear valid bit

  SYNCDELAY;                    // 
  FIFORESET = 0x80;             // activate NAK-ALL to avoid race conditions
  SYNCDELAY;                    // 
  FIFORESET = 0x02;             // reset, FIFO 2
  SYNCDELAY;                    // 
  FIFORESET = 0x04;             // reset, FIFO 4
  SYNCDELAY;                    // 
  FIFORESET = 0x06;             // reset, FIFO 6
  SYNCDELAY;                    // 
  FIFORESET = 0x08;             // reset, FIFO 8
  SYNCDELAY;                    // 
  FIFORESET = 0x00;             // deactivate NAK-ALL

  // 8-bit bus (WORDWIDE=0)...
  SYNCDELAY;                    // 
  EP2FIFOCFG = 0x00;
  SYNCDELAY;                    // 
  EP6FIFOCFG = 0x04;
  
  // OUT endp's come up "unarmed" in the cpu domain
  // ...to "arm" the endp's when AUTOOUT=0 the cpu write's 
  //  (1)...OUTPKTEND w/skip=1 (N times) when REVCTL.0=1 (ENH_PKT)
  //     ...true even when AUTOOUT=1 for REVCTL.0=1
  
  //        SYNCDELAY;                    // 
  //        OUTPKTEND = 0x82;             // arm first buffer
  //        SYNCDELAY;                    // 
  //        OUTPKTEND = 0x82;             // arm second buffer
  //        SYNCDELAY;                    // 
  //        OUTPKTEND = 0x82;             // arm third buffer
  //        SYNCDELAY;                    // 
  //        OUTPKTEND = 0x82;             // arm fourth buffer
  //        SYNCDELAY;                    // 
  
  //  (2)...EPxBCL w/skip=1 (N times) when REVCTL.0=0 (ENH_PKT)
  
  SYNCDELAY;                    // 
  EP2BCL = 0x80;                // arm first buffer
  SYNCDELAY;                    // 
  EP2BCL = 0x80;                // arm second buffer
  SYNCDELAY;                    // 
  EP2BCL = 0x80;                // arm third buffer
  SYNCDELAY;                    // 
  EP2BCL = 0x80;                // arm fourth buffer
  SYNCDELAY;                    // 
  
  // Note: had we choosen to use AUTOOUT=1 initially, then...
  //   (1)...when REVCTL.1=0, the core must see MANUAL-AUTO switch of AUTO bit
  //      ...to properly "arm" OUT buffers...
  //
  //         SYNCDELAY;         
  //         EP2FIFOCFG = 0x00; // AUTOOUT=0 (manual OUT mode)
  //         SYNCDELAY;         
  //         EP6FIFOCFG = 0x04;
  //    then,
  //         SYNCDELAY;         
  //         EP2FIFOCFG = 0x10; // AUTOOUT=1 (auto OUT mode)
  //         SYNCDELAY;         
  //         EP6FIFOCFG = 0x04;
  //
  //      ...this might not be obvious because the default is AUTOOUT=0
  //      ...power static back to back firmware downloads may be subject to 
  //      ...the above scheme.when the application's last status was AUTOOUT=1
  //
  //   (2)...when REVCTL.1=1, core blocks auto arming of OUT endp's
  //      ...see above EPxBCL/OUTPKTEND sequence(s)
  //      ...sequence is as follows:
  //      ...(a) REVCTL.1=1
  //      ...(b) FIFORESET (as above)
  //      ...(c) EPxBCL/OUTPKTEND (as above)
  //      ...(d) AUTOOUT=1
  
  
  // IN endp's come up in the cpu/peripheral domain
  
  
  // setup INT4 as internal source for GPIF interrupts
  // using INT4CLR (SFR), automatically enabled
  INTSETUP |= 0x03;   // Enable INT4 FIFO/GPIF Autovectoring
  SYNCDELAY;          // used here as "delay"
	EXIF &=  ~0x40;     // just in case one was pending...
  SYNCDELAY;          // used here as "delay"
  GPIFIRQ = 0x02;
  SYNCDELAY;          // 
  GPIFIE = 0x02;      // Enable GPIFWF interrupt
  SYNCDELAY;          // 
  EIE |= 0x04;        // Enable INT4 ISR, EIE.2(EIEX4=1)
  
  // turn debug LED[3:0] off...
  ledX_rdvar = LED0_OFF;
  ledX_rdvar = LED1_OFF;
  ledX_rdvar = LED2_OFF;
  ledX_rdvar = LED3_OFF;
}

#define GPIFTRIGWR 0
#define GPIFTRIGRD 4

#define GPIF_EP2 0
#define GPIF_EP4 1
#define GPIF_EP6 2
#define GPIF_EP8 3

void TD_Poll( void )
{ // Called repeatedly while the device is idle
  static WORD xFIFOTC_OUT = 0x0000;
  static WORD xFIFOTC_IN = 0x0000;
  
  // Registers which require a synchronization delay, see section 15.14
  // FIFORESET        FIFOPINPOLAR
  // INPKTEND         OUTPKTEND
  // EPxBCH:L         REVCTL
  // GPIFTCB3         GPIFTCB2
  // GPIFTCB1         GPIFTCB0
  // EPxFIFOPFH:L     EPxAUTOINLENH:L
  // EPxFIFOCFG       EPxGPIFFLGSEL
  // PINFLAGSxx       EPxFIFOIRQ
  // EPxFIFOIE        GPIFIRQ
  // GPIFIE           GPIFADRH:L
  // UDMACRCH:L       EPxGPIFTRIG
  // GPIFTRIG
  
  // Note: The pre-REVE EPxGPIFTCH/L register are affected, as well...
  //      ...these have been replaced by GPIFTC[B3:B0] registers


  if( td_poll_handles_transfers )
  {
  
    // Handle OUT data...
  

    if( endp_auto_mode_enabled )
    {
      // AUTOOUT=1, core handles transfers    
      // ...cpu is not in the data path...
      ledX_rdvar = LED1_ON;     // visual
    }
    else
    {
      // AUTOOUT=0, cpu handles transfers
      // is the host sending data...
      if( !( EP2468STAT & 0x01 ) )
      { 
        // EP2EF=0, when endp buffer "not" empty
    
        // ...at this point the pkt. switched from the usb domain to the cpu domain
    
        // if the host sent a pkt... then a buffer was available
        
        // AUTOOUT=0, so pass pkt. to peripheral domain - (GPIF)
        //  (1)...OUTPKTEND w/skip=0 when REVCTL.0=1 (ENH_PKT)
        //        SYNCDELAY;
        //        OUTPKTEND = 0x02;         // endp#; w/skip=0
        //
        //     ...additionally, the cpu may edit the packet data:
        //        - skip (OUTPKTEND = 0x82;)
        //        - modify data (via EPxFIFOBUF[i] and packet length (via EPxBCH/L)
      
        //  (2)...EPxBCL w/skip=0 when REVCTL.0=0 (ENH_PKT)
        //        SYNCDELAY;
        //        EP2BCL = 0x00;            // w/skip=0
        //
        //     ...additionally, the cpu may:
        //        - skip (EP2BCL = 0x80;)
        //        - modify data (via EPxFIFOBUF[i])
        //          - however, cpu can't modify the packet length
        
        // REVCTL.0=0... so,
        SYNCDELAY;
        EP2BCL = 0x00;            // w/skip=0
        ledX_rdvar = LED0_ON;     // visual
      }
      else
      { 
        // host is "not" sending data...
      }    
    }
  
    // is the peripheral interface idle...
    if( GPIFTRIG & 0x80 )
    { 
      // DONE=1, when GPIF is "idle"
  
      // check if there's a pkt in the peripheral domain...
      if( EP24FIFOFLGS & 0x02 )
      { 
        // ...EF=1 when buffer "empty", no more data to xfr.
      }    
      else
      { 
        // EF=0, when slave fifo is "not empty"
        // ...the cpu passed the pkt. to the peripheral domain
    
        // check if peripheral "not full"...
        if( GPIFREADYSTAT & 0x02 )
        { 
          // RDY1=1, when peripheral is "not" FULL (tied to peripheral "full" flag)
    
          xFIFOTC_OUT = ( ( EP2FIFOBCH << 8 ) + EP2FIFOBCL );
      
          // NOTE: typ. this is where we'd check if pkt. contains data...
          // ...however:
          //    - the core doesn't notify the cpu of zero length OUT packets
          //      - this applies to both AUTO or MANUAL mode...
          //      - typ. this is handled "out-of-band" over endp0 or endp1...
          
          // NOTE: we're using EPxGPIFTCH/L registers here to show backwards
          // ...compatibility.  New implementations should use the new
          // ...unified GPIFTCB3, GPIFTCB2, GPIFTCB1, GPIFTCB0 registers 
          // ...these registers maintain a live update which the cpu can read
          // ...at anytime to determine the status of a long transfer...
          
          // setup GPIF transaction count
          SYNCDELAY;
          EP2GPIFTCH = EP2FIFOBCH;
          SYNCDELAY;
          EP2GPIFTCL = EP2FIFOBCL;  
        
          // trigger FIFO write transaction(s), using SFR
          // R/W=0, EP[1:0]=00 for EP2 write(s)
          SYNCDELAY;
          GPIFTRIG = GPIFTRIGWR | GPIF_EP2;  
      
          // NOTE: 512 bytes transfers in ~75usec on 8-bit async bus 
          // ...once master (GPIF) drains OUT pkt, it (re)arms to usb domain
          // ..."this" path is always auto, meaning core handles it...
        
          if( xFIFOTC_OUT < enum_pkt_size )
          { 
            // handle short pkt. to peripheral

            // wait for the transaction to terminate naturally...
            while( !( GPIFTRIG & 0x80 ) )
            { 
                // should take <75usec @ 8-bit async.
              ; // poll GPIFTRIG.7, DONE bit...
            }
          
            // TODO: signal "shortpkt" to peripheral peripheral here...
          }
          else
          { 
            // was max. pkt. size...
            // ...let transaction terminate naturally...
          }
          ledX_rdvar = LED0_OFF;   // visual
          ledX_rdvar = LED1_OFF;   // visual
        }
        else
        { 
          // RDY1=0, when peripheral is FULL
        }
      }
    }  
    else
    { 
      // DONE=0 when GPIF is "not" IDLE...
    }
  

    // Handle IN data...
  
  
    // is the peripheral interface idle...
    if( GPIFTRIG & 0x80 )
    { 
      // check if peripheral "not empty"...
      if( GPIFREADYSTAT & 0x01 )
      { 
        // RDY0=1, when peripheral "not" empty...
      
        if( EP68FIFOFLGS & 0x01 )
        { 
          // EP6FF=1, when fifo "full"
        }
        else
        { 
          // EP6FF=0, when fifo "not full", buffer available...
      
          // NOTE: we're using EPxGPIFTCH/L registers here to show backwards
          // ...compatibility.  New implementations should use the new
          // ...unified GPIFTCB3, GPIFTCB2, GPIFTCB1, GPIFTCB0 registers 
          // ...these registers maintain a live update which the cpu can read
          // ...at anytime to determine the status of a long transfer...

          // setup GPIF transaction count
          SYNCDELAY;
          EP6GPIFTCH = 0x02;    
          SYNCDELAY;
          EP6GPIFTCL = 0x00;    
          
          // trigger FIFO read transaction(s), using SFR
          // R/W=1, EP[1:0]=FIFO_EpNum for EPx read(s)
          SYNCDELAY;
          GPIFTRIG = GPIFTRIGRD | GPIF_EP6; 
        
          // NOTE: 512 bytes transfers in ~75usec on 8-bit async bus 
          // NOTE: 64 bytes transfers in ~10usec on 8-bit async bus 
        
          // wait for the transaction to terminate naturally...
          SYNCDELAY;                // 
          while( !( GPIFTRIG & 0x80 ) )
          { 
              // should take <75usec @ 8-bit async.
            ; // poll GPIFTRIG.7, DONE bit...
          }
        
          if( endp_auto_mode_enabled )
          {
            // AUTOOUT=1, core handles transfers    
            // ...cpu is not in the data path...
            // ...however, cpu is responsible for committing "short packets"
            
            xFIFOTC_IN = ( ( EP6FIFOBCH << 8 ) + EP6FIFOBCL );
            
            if( xFIFOTC_IN < enum_pkt_size )
            { 
              // handle short pkt. from peripheral
              SYNCDELAY;        // 
              INPKTEND = 0x06;  // w/skip=0;.commit however many bytes in pkt.
              SYNCDELAY;        // 
            }
            else
            {
              // core commits packet via EPxAUTOINLENH/L registers
            }
          }
          else
          {
            // AUTOIN=0, so 8051 pass pkt. to host...
            SYNCDELAY;          // 
            INPKTEND = 0x06;    // w/skip=0;.commit however many bytes in pkt.
            SYNCDELAY;          // 
                                // ...NOTE: this also handles "shortpkt"
          } 
          
          // NOTE: the cpu can optionally:
          //    ...- modify data (via EPxFIFOBUF[i] and packet length (via EPxBCH/L)
          //    ...
          //    ...when REVCTL.0=1
          //    ...- skip current packet;
          //    ...INPKTEND = 0x86;   // w/skip=1, skip current packet
          //
        }
      }
      else
      { 
        // master has all the data the peripheral sent...
      }
    }
    else
    { 
      // peripheral interface busy...
    }
  }
  else
  { 
    // handle data transfers via vend_ax cmnds...
  }
  
}

BOOL TD_Suspend( void )          
{ // Called before the device goes into suspend mode
   return( TRUE );
}

BOOL TD_Resume( void )          
{ // Called after the device resumes
   return( TRUE );
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧洲www| 5月丁香婷婷综合| 欧美日韩国产一级二级| 91精品国产色综合久久不卡电影| 亚洲精品在线观看网站| 亚洲色图在线播放| 视频一区二区三区在线| 国产福利视频一区二区三区| 在线精品视频免费播放| 精品国产一区二区三区忘忧草| 亚洲欧洲精品一区二区精品久久久| 亚洲自拍都市欧美小说| 韩国av一区二区三区在线观看| 成人白浆超碰人人人人| 日韩精品每日更新| 成人一区二区三区| 欧美电影在线免费观看| 国产蜜臀av在线一区二区三区| 亚洲成人免费在线观看| 国产大片一区二区| 欧美老年两性高潮| 国产精品福利电影一区二区三区四区| 午夜精品久久久久久久99水蜜桃| 国产老女人精品毛片久久| 欧美性受xxxx| 国产精品久久久久婷婷二区次 | 国产成人在线看| 欧美日韩国产区一| 亚洲欧洲精品一区二区三区| 麻豆精品在线视频| 欧美日韩在线亚洲一区蜜芽| 国产精品素人一区二区| 精品一区二区精品| 精品1区2区3区| 亚洲人午夜精品天堂一二香蕉| 久99久精品视频免费观看| 欧美影视一区二区三区| 国产精品国产三级国产aⅴ无密码| 蜜桃久久精品一区二区| 欧美日韩三级一区| 亚洲日穴在线视频| 丰满少妇在线播放bd日韩电影| 日韩欧美中文一区二区| 一个色妞综合视频在线观看| 成人av免费在线观看| 久久久久高清精品| 捆绑调教美女网站视频一区| 欧美日本高清视频在线观看| 亚洲丝袜制服诱惑| 成人综合激情网| 国产三级欧美三级日产三级99| 日产欧产美韩系列久久99| 在线看不卡av| 一区二区视频在线| 97se亚洲国产综合自在线| 欧美激情一区三区| 国产丶欧美丶日本不卡视频| 精品国精品自拍自在线| 九一九一国产精品| 日韩色视频在线观看| 日本少妇一区二区| 日韩一区二区影院| 日韩经典中文字幕一区| 7878成人国产在线观看| 午夜精品久久久久久久| 欧美久久久影院| 青青草国产成人99久久| 日韩高清中文字幕一区| 欧美电影一区二区| 日本午夜精品视频在线观看| 91精品在线观看入口| 蜜桃视频第一区免费观看| 日韩欧美国产综合| 精品一区二区成人精品| 久久久久久电影| 成人深夜视频在线观看| 国产精品久久久久久户外露出| av午夜一区麻豆| 亚洲免费av网站| 欧洲一区二区三区在线| 五月天一区二区| 欧美一区三区四区| 老司机精品视频导航| 久久综合色播五月| 成人小视频在线观看| 国产精品久久久久久久岛一牛影视| 99视频一区二区三区| 有坂深雪av一区二区精品| 欧美在线观看一区二区| 视频一区视频二区中文| 久久综合九色综合97婷婷女人 | 久久看人人爽人人| 国产高清精品在线| 亚洲视频狠狠干| 欧美熟乱第一页| 久久精品国产在热久久| 欧美经典一区二区| 91蝌蚪porny九色| 亚洲成人777| 精品国产凹凸成av人网站| 国产盗摄精品一区二区三区在线| 亚洲丝袜美腿综合| 337p亚洲精品色噜噜| 国内精品写真在线观看| 最近日韩中文字幕| 欧美美女网站色| 国产酒店精品激情| 亚洲精品视频自拍| 日韩一区二区三区免费观看| 国产成人精品免费| 亚洲一区二区在线观看视频| 日韩视频一区二区在线观看| 成人少妇影院yyyy| 五月天中文字幕一区二区| 国产色产综合色产在线视频| 在线观看av一区| 国产一区二区剧情av在线| 亚洲视频小说图片| 欧美xingq一区二区| 亚洲精品高清在线观看| 日韩免费一区二区三区在线播放| 成人免费毛片aaaaa**| 午夜精品一区二区三区电影天堂 | 国产一区二区精品久久91| 自拍偷自拍亚洲精品播放| 欧美一二三区在线观看| 成人精品一区二区三区四区| 日本一不卡视频| 亚洲三级视频在线观看| 精品国产一二三| 欧美日韩一级视频| 成人午夜精品一区二区三区| 青青草国产成人av片免费| 亚洲另类在线一区| 精品国产乱码久久久久久闺蜜| 91免费版在线| 国产精品亚洲一区二区三区妖精| 亚洲国产wwwccc36天堂| 国产精品欧美一级免费| 日韩精品一区二区三区swag| 91高清在线观看| 国产成人高清在线| 久久精品国产成人一区二区三区| 亚洲丝袜美腿综合| 日本一区二区三区在线观看| 欧美一区二区三区日韩视频| 欧美性欧美巨大黑白大战| 成人av网站在线观看| 国产麻豆精品95视频| 日本伊人色综合网| 亚洲一区二区3| 国产精品久久久久久久浪潮网站| 精品少妇一区二区三区日产乱码 | 五月激情丁香一区二区三区| 亚洲欧美视频一区| 亚洲国产精品av| 久久久久久一二三区| 奇米在线7777在线精品 | 91.麻豆视频| 日本高清成人免费播放| 成+人+亚洲+综合天堂| 国产一区二区在线影院| 免费成人深夜小野草| 性欧美大战久久久久久久久| 亚洲精品国产精品乱码不99| 中文字幕一区二区三区四区| 中文字幕av一区 二区| 久久久影院官网| 337p粉嫩大胆噜噜噜噜噜91av| 日韩美女主播在线视频一区二区三区 | 日韩一区二区在线观看视频播放| 欧美三级资源在线| 在线免费观看日本欧美| 一本色道久久加勒比精品| 成人av在线播放网站| 粉嫩嫩av羞羞动漫久久久| 国产二区国产一区在线观看| 国产乱人伦精品一区二区在线观看 | 91在线观看地址| av一区二区不卡| 91美女精品福利| 在线视频国内自拍亚洲视频| 亚洲国产日韩综合久久精品| 亚洲综合免费观看高清完整版 | 欧美中文一区二区三区| 在线精品亚洲一区二区不卡| 在线精品视频小说1| 欧美三级韩国三级日本三斤| 欧美日韩不卡视频| 日韩小视频在线观看专区| 日韩久久精品一区| 久久亚洲春色中文字幕久久久| 久久精品亚洲一区二区三区浴池| 国产欧美日韩综合| 成人欧美一区二区三区黑人麻豆 | 欧美精品丝袜中出| 日韩欧美高清dvd碟片| 国产欧美一区二区三区在线老狼| 国产精品色婷婷久久58| 亚洲综合在线电影|