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

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

?? sdmmc.c

?? IAR5.2下 AT91SAM9260 ARM 對(duì) MCP2515 控制源化碼
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
/* ----------------------------------------------------------------------------
 *         ATMEL Microcontroller Software Support  -  ROUSSET  -
 * ----------------------------------------------------------------------------
 * Copyright (c) 2006, Atmel Corporation

 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 * - Redistributions of source code must retain the above copyright notice,
 * this list of conditions and the disclaimer below.
 *
 * - Redistributions in binary form must reproduce the above copyright notice,
 * this list of conditions and the disclaimer below in the documentation and/or
 * other materials provided with the distribution.
 *
 * Atmel's name may not be used to endorse or promote products derived from
 * this software without specific prior written permission.
 *
 * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
 * DISCLAIMED. IN NO EVENT SHALL ATMEL 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.
 * ----------------------------------------------------------------------------
 */

//------------------------------------------------------------------------------
//         Headers
//------------------------------------------------------------------------------

#include "sdmmc.h"
#include <board.h>
#include <utility/assert.h>
#include <utility/trace.h>

#include <string.h>

//------------------------------------------------------------------------------
//         Local constants
//------------------------------------------------------------------------------

// SD card operation states
#define SD_STATE_STBY     0
#define SD_STATE_DATA     1
#define SD_STATE_RCV      2

// Card type
#define UNKNOWN_CARD   0
#define CARD_SD        1
#define CARD_SDHC      2
#define CARD_MMC       3

// Delay between sending MMC commands
#define MMC_DELAY 0x4ff

#define SD_ADDRESS(pSd, address) (((pSd)->cardType == CARD_SDHC) ? \
                                 (address):((address) << SD_BLOCK_SIZE_BIT))

// Status register constants
#define STATUS_READY_FOR_DATA   (1 << 8)
#define STATUS_IDLE             (0 << 9)
#define STATUS_READY            (1 << 9)
#define STATUS_IDENT            (2 << 9)
#define STATUS_STBY             (3 << 9)
#define STATUS_TRAN             (4 << 9)
#define STATUS_DATA             (5 << 9)
#define STATUS_RCV              (6 << 9)
#define STATUS_PRG              (7 << 9)
#define STATUS_DIS              (8 << 9)
#define STATUS_STATE            (0xF << 9)

////////////////////////////////////////////////////////////////////////////////////////////////////
// OCR Register
////////////////////////////////////////////////////////////////////////////////////////////////////
#define AT91C_VDD_16_17                 (1UL << 4)
#define AT91C_VDD_17_18                 (1UL << 5)
#define AT91C_VDD_18_19                 (1UL << 6)
#define AT91C_VDD_19_20                 (1UL << 7)
#define AT91C_VDD_20_21                 (1UL << 8)
#define AT91C_VDD_21_22                 (1UL << 9)
#define AT91C_VDD_22_23                 (1UL << 10)
#define AT91C_VDD_23_24                 (1UL << 11)
#define AT91C_VDD_24_25                 (1UL << 12)
#define AT91C_VDD_25_26                 (1UL << 13)
#define AT91C_VDD_26_27                 (1UL << 14)
#define AT91C_VDD_27_28                 (1UL << 15)
#define AT91C_VDD_28_29                 (1UL << 16)
#define AT91C_VDD_29_30                 (1UL << 17)
#define AT91C_VDD_30_31                 (1UL << 18)
#define AT91C_VDD_31_32                 (1UL << 19)
#define AT91C_VDD_32_33                 (1UL << 20)
#define AT91C_VDD_33_34                 (1UL << 21)
#define AT91C_VDD_34_35                 (1UL << 22)
#define AT91C_VDD_35_36                 (1UL << 23)
#define AT91C_CARD_POWER_UP_BUSY        (1UL << 31)

#define AT91C_MMC_HOST_VOLTAGE_RANGE     (AT91C_VDD_27_28 +\
                                          AT91C_VDD_28_29 +\
                                          AT91C_VDD_29_30 +\
                                          AT91C_VDD_30_31 +\
                                          AT91C_VDD_31_32 +\
                                          AT91C_VDD_32_33)


#define AT91C_CCS    (1UL << 30)

#define AT91C_NO_ARGUMENT       0x0

/////////////////////////////////////////////////////////////////////////////////////////////////////
// MCI_CMD Register Value
/////////////////////////////////////////////////////////////////////////////////////////////////////
#define AT91C_POWER_ON_INIT         (0  | AT91C_MCI_TRCMD_NO    | AT91C_MCI_SPCMD_INIT | AT91C_MCI_OPDCMD)

/////////////////////////////////////////////////////////////////
// Class 0 & 1 commands: Basic commands and Read Stream commands
/////////////////////////////////////////////////////////////////

#define AT91C_GO_IDLE_STATE_CMD         (0  | AT91C_MCI_TRCMD_NO    | AT91C_MCI_SPCMD_NONE )
#define AT91C_MMC_GO_IDLE_STATE_CMD     (0  | AT91C_MCI_TRCMD_NO    | AT91C_MCI_SPCMD_NONE  | AT91C_MCI_OPDCMD)
#define AT91C_MMC_SEND_OP_COND_CMD      (1  | AT91C_MCI_TRCMD_NO    | AT91C_MCI_SPCMD_NONE  | AT91C_MCI_RSPTYP_48 | AT91C_MCI_OPDCMD)
#define AT91C_ALL_SEND_CID_CMD          (2  | AT91C_MCI_TRCMD_NO    | AT91C_MCI_SPCMD_NONE  | AT91C_MCI_RSPTYP_136 )
#define AT91C_MMC_ALL_SEND_CID_CMD      (2  | AT91C_MCI_TRCMD_NO    | AT91C_MCI_SPCMD_NONE  | AT91C_MCI_RSPTYP_136 | AT91C_MCI_OPDCMD)
#define AT91C_SET_RELATIVE_ADDR_CMD     (3  | AT91C_MCI_TRCMD_NO    | AT91C_MCI_SPCMD_NONE  | AT91C_MCI_RSPTYP_48  | AT91C_MCI_MAXLAT )
#define AT91C_MMC_SET_RELATIVE_ADDR_CMD (3  | AT91C_MCI_TRCMD_NO    | AT91C_MCI_SPCMD_NONE  | AT91C_MCI_RSPTYP_48  | AT91C_MCI_MAXLAT | AT91C_MCI_OPDCMD)

#define AT91C_SET_DSR_CMD           (4  | AT91C_MCI_TRCMD_NO    | AT91C_MCI_SPCMD_NONE  | AT91C_MCI_RSPTYP_NO       | AT91C_MCI_MAXLAT )    // not tested

#define AT91C_SEL_DESEL_CARD_CMD            (7  | AT91C_MCI_TRCMD_NO    | AT91C_MCI_SPCMD_NONE  | AT91C_MCI_RSPTYP_48   | AT91C_MCI_MAXLAT )
#define AT91C_SEND_IF_COND                  (8  | AT91C_MCI_TRCMD_NO    | AT91C_MCI_SPCMD_NONE  | AT91C_MCI_RSPTYP_48 | AT91C_MCI_MAXLAT)
#define AT91C_SEND_CSD_CMD                  (9  | AT91C_MCI_TRCMD_NO    | AT91C_MCI_SPCMD_NONE  | AT91C_MCI_RSPTYP_136  | AT91C_MCI_MAXLAT )
#define AT91C_SEND_CID_CMD                  (10 | AT91C_MCI_TRCMD_NO    | AT91C_MCI_SPCMD_NONE  | AT91C_MCI_RSPTYP_136  | AT91C_MCI_MAXLAT )
#define AT91C_MMC_READ_DAT_UNTIL_STOP_CMD   (11 | AT91C_MCI_TRTYP_STREAM| AT91C_MCI_SPCMD_NONE  | AT91C_MCI_RSPTYP_48   | AT91C_MCI_TRDIR   | AT91C_MCI_TRCMD_START | AT91C_MCI_MAXLAT )

#define AT91C_STOP_TRANSMISSION_CMD         (12 | AT91C_MCI_TRCMD_STOP  | AT91C_MCI_SPCMD_NONE  | AT91C_MCI_RSPTYP_48   | AT91C_MCI_MAXLAT )
#define AT91C_STOP_TRANSMISSION_SYNC_CMD    (12 | AT91C_MCI_TRCMD_STOP  | AT91C_MCI_SPCMD_SYNC  | AT91C_MCI_RSPTYP_48   | AT91C_MCI_MAXLAT )
#define AT91C_SEND_STATUS_CMD               (13 | AT91C_MCI_TRCMD_NO    | AT91C_MCI_SPCMD_NONE  | AT91C_MCI_RSPTYP_48   | AT91C_MCI_MAXLAT )
#define AT91C_GO_INACTIVE_STATE_CMD         (15 | AT91C_MCI_RSPTYP_NO )

//*------------------------------------------------
//* Class 2 commands: Block oriented Read commands
//*------------------------------------------------

#define AT91C_SET_BLOCKLEN_CMD          (16 | AT91C_MCI_TRCMD_NO    | AT91C_MCI_SPCMD_NONE  | AT91C_MCI_RSPTYP_48   | AT91C_MCI_MAXLAT )
#define AT91C_READ_SINGLE_BLOCK_CMD     (17 | AT91C_MCI_SPCMD_NONE  | AT91C_MCI_RSPTYP_48   | AT91C_MCI_TRCMD_START | AT91C_MCI_TRTYP_BLOCK | AT91C_MCI_TRDIR   | AT91C_MCI_MAXLAT)
#define AT91C_READ_MULTIPLE_BLOCK_CMD   (18 | AT91C_MCI_SPCMD_NONE  | AT91C_MCI_RSPTYP_48   | AT91C_MCI_TRCMD_START | AT91C_MCI_TRTYP_MULTIPLE  | AT91C_MCI_TRDIR   | AT91C_MCI_MAXLAT)

//*--------------------------------------------
//* Class 3 commands: Sequential write commands
//*--------------------------------------------

#define AT91C_MMC_WRITE_DAT_UNTIL_STOP_CMD  (20 | AT91C_MCI_TRTYP_STREAM| AT91C_MCI_SPCMD_NONE  | AT91C_MCI_RSPTYP_48 & ~(AT91C_MCI_TRDIR) | AT91C_MCI_TRCMD_START | AT91C_MCI_MAXLAT ) // MMC

//*------------------------------------------------
//* Class 4 commands: Block oriented write commands
//*------------------------------------------------

#define AT91C_WRITE_BLOCK_CMD           (24 | AT91C_MCI_SPCMD_NONE  | AT91C_MCI_RSPTYP_48   | AT91C_MCI_TRCMD_START | (AT91C_MCI_TRTYP_BLOCK    &  ~(AT91C_MCI_TRDIR))  | AT91C_MCI_MAXLAT)
#define AT91C_WRITE_MULTIPLE_BLOCK_CMD  (25 | AT91C_MCI_SPCMD_NONE  | AT91C_MCI_RSPTYP_48   | AT91C_MCI_TRCMD_START | (AT91C_MCI_TRTYP_MULTIPLE &  ~(AT91C_MCI_TRDIR))  | AT91C_MCI_MAXLAT)
#define AT91C_PROGRAM_CSD_CMD           (27 | AT91C_MCI_RSPTYP_48 )


//*----------------------------------------
//* Class 6 commands: Group Write protect
//*----------------------------------------

#define AT91C_SET_WRITE_PROT_CMD        (28 | AT91C_MCI_RSPTYP_48 )
#define AT91C_CLR_WRITE_PROT_CMD        (29 | AT91C_MCI_RSPTYP_48 )
#define AT91C_SEND_WRITE_PROT_CMD       (30 | AT91C_MCI_RSPTYP_48 )


//*----------------------------------------
//* Class 5 commands: Erase commands
//*----------------------------------------

#define AT91C_TAG_SECTOR_START_CMD          (32 | AT91C_MCI_SPCMD_NONE  | AT91C_MCI_RSPTYP_48   | AT91C_MCI_TRCMD_NO    | AT91C_MCI_MAXLAT)
#define AT91C_TAG_SECTOR_END_CMD            (33 | AT91C_MCI_SPCMD_NONE  | AT91C_MCI_RSPTYP_48   | AT91C_MCI_TRCMD_NO    | AT91C_MCI_MAXLAT)
#define AT91C_MMC_UNTAG_SECTOR_CMD          (34 | AT91C_MCI_RSPTYP_48 )
#define AT91C_MMC_TAG_ERASE_GROUP_START_CMD (35 | AT91C_MCI_RSPTYP_48 )
#define AT91C_MMC_TAG_ERASE_GROUP_END_CMD   (36 | AT91C_MCI_RSPTYP_48 )
#define AT91C_MMC_UNTAG_ERASE_GROUP_CMD     (37 | AT91C_MCI_RSPTYP_48 )
#define AT91C_ERASE_CMD                     (38 | AT91C_MCI_SPCMD_NONE  | AT91C_MCI_RSPTYP_48   | AT91C_MCI_TRCMD_NO    | AT91C_MCI_MAXLAT )

//*----------------------------------------
//* Class 7 commands: Lock commands
//*----------------------------------------

#define AT91C_LOCK_UNLOCK           (42 | AT91C_MCI_SPCMD_NONE  | AT91C_MCI_RSPTYP_48   | AT91C_MCI_TRCMD_NO    | AT91C_MCI_MAXLAT) // not tested

//*-----------------------------------------------
// Class 8 commands: Application specific commands
//*-----------------------------------------------

#define AT91C_APP_CMD               (55 | AT91C_MCI_SPCMD_NONE  | AT91C_MCI_RSPTYP_48   | AT91C_MCI_TRCMD_NO | AT91C_MCI_MAXLAT)
#define AT91C_GEN_CMD               (56 | AT91C_MCI_SPCMD_NONE  | AT91C_MCI_RSPTYP_48   | AT91C_MCI_TRCMD_NO | AT91C_MCI_MAXLAT)    // not tested

#define AT91C_SDCARD_SET_BUS_WIDTH_CMD          (6  | AT91C_MCI_SPCMD_NONE  | AT91C_MCI_RSPTYP_48   | AT91C_MCI_TRCMD_NO    | AT91C_MCI_MAXLAT)
#define AT91C_SDCARD_STATUS_CMD                 (13 | AT91C_MCI_SPCMD_NONE  | AT91C_MCI_RSPTYP_48   | AT91C_MCI_TRCMD_START | AT91C_MCI_TRTYP_BLOCK | AT91C_MCI_TRDIR | AT91C_MCI_MAXLAT)
#define AT91C_SDCARD_SEND_NUM_WR_BLOCKS_CMD     (22 | AT91C_MCI_SPCMD_NONE  | AT91C_MCI_RSPTYP_48   | AT91C_MCI_TRCMD_NO    | AT91C_MCI_MAXLAT)
#define AT91C_SDCARD_SET_WR_BLK_ERASE_COUNT_CMD (23 | AT91C_MCI_SPCMD_NONE  | AT91C_MCI_RSPTYP_48   | AT91C_MCI_TRCMD_NO    | AT91C_MCI_MAXLAT)
#define AT91C_SDCARD_APP_OP_COND_CMD            (41 | AT91C_MCI_SPCMD_NONE  | AT91C_MCI_RSPTYP_48   | AT91C_MCI_TRCMD_NO )
#define AT91C_SDCARD_SET_CLR_CARD_DETECT_CMD    (42 | AT91C_MCI_SPCMD_NONE  | AT91C_MCI_RSPTYP_48   | AT91C_MCI_TRCMD_NO    | AT91C_MCI_MAXLAT)
#define AT91C_SDCARD_SEND_SCR_CMD               (51 | AT91C_MCI_SPCMD_NONE  | AT91C_MCI_RSPTYP_48   | AT91C_MCI_TRCMD_NO    | AT91C_MCI_MAXLAT)

#define AT91C_SDCARD_APP_ALL_CMD                (AT91C_SDCARD_SET_BUS_WIDTH_CMD +\
                                                                AT91C_SDCARD_STATUS_CMD +\
                                                                AT91C_SDCARD_SEND_NUM_WR_BLOCKS_CMD +\
                                                                AT91C_SDCARD_SET_WR_BLK_ERASE_COUNT_CMD +\
                                                                AT91C_SDCARD_APP_OP_COND_CMD +\
                                                                AT91C_SDCARD_SET_CLR_CARD_DETECT_CMD +\
                                                                AT91C_SDCARD_SEND_SCR_CMD)

//*----------------------------------------
//* Class 9 commands: IO Mode commands
//*----------------------------------------

#define AT91C_MMC_FAST_IO_CMD                   (39 | AT91C_MCI_SPCMD_NONE | AT91C_MCI_RSPTYP_48 | AT91C_MCI_MAXLAT)
#define AT91C_MMC_GO_IRQ_STATE_CMD              (40 | AT91C_MCI_SPCMD_NONE | AT91C_MCI_RSPTYP_48 | AT91C_MCI_TRCMD_NO   | AT91C_MCI_MAXLAT)


//------------------------------------------------------------------------------
//         Local functions
//------------------------------------------------------------------------------

//------------------------------------------------------------------------------
/// Sends the current SD card driver command to the card.
/// Returns 0 if successful; Otherwise, returns the transfer status code or
/// SD_ERROR_MCI if there was a problem with the MCI transfer.
/// \param pSd  Pointer to a SdCard driver instance.
//------------------------------------------------------------------------------
static unsigned char SendCommand(SdCard *pSd)
{
    MciCmd *pCommand = &(pSd->command);
    unsigned char error;

    // Send command
    error = MCI_SendCommand(pSd->pMci, pCommand);
    if (error) {

        trace_LOG(trace_ERROR, "-E- SendCommand: Failed to send command (%d)\n\r", error);
        return SD_ERROR_MCI;
    }

    // Wait for command to complete
    while (!MCI_IsTxComplete(pCommand));

    if(pCommand->cmd == AT91C_STOP_TRANSMISSION_CMD) {
        while (MCI_CheckBusy(pSd->pMci) != 0);
    }

    // Delay between sending commands, only for MMC card test.
    if((pSd->cardType == CARD_MMC)||(pSd->cardType == UNKNOWN_CARD)) {
        int i;
        for(i=0; i < MMC_DELAY; i++);
    }

    return pCommand->status;
}

//------------------------------------------------------------------------------
/// Initialization delay: The maximum of 1 msec, 74 clock cycles and supply ramp
/// up time.
/// Returns the command transfer result (see SendCommand).
/// \param pSd  Pointer to a SdCard driver instance.
//------------------------------------------------------------------------------
static unsigned char Pon(SdCard *pSd)
{
    MciCmd *pCommand = &(pSd->command);

    memset(pCommand, 0, sizeof(MciCmd));
   // Fill command information
    pCommand->cmd = AT91C_POWER_ON_INIT;
    // Set SD command state
    pSd->state = SD_STATE_STBY;

    // Send command
    return SendCommand(pSd);
}

//------------------------------------------------------------------------------
/// Resets all cards to idle state.
/// Returns the command transfer result (see SendCommand).
/// \param pSd  Pointer to a SdCard driver instance.
//------------------------------------------------------------------------------
static unsigned char Cmd0(SdCard *pSd)
{
    MciCmd *pCommand = &(pSd->command);

    memset(pCommand, 0, sizeof(MciCmd));
    // Fill command information
    pCommand->cmd = AT91C_GO_IDLE_STATE_CMD;
    // Set SD command state
    pSd->state = SD_STATE_STBY;

    // send command
    return SendCommand(pSd);
}

//------------------------------------------------------------------------------
/// MMC send operation condition command.
/// Returns the command transfer result (see SendCommand).
/// \param pSd  Pointer to a SdCard driver instance.
//------------------------------------------------------------------------------
static unsigned char Cmd1(SdCard *pSd)
{
    MciCmd *pCommand = &(pSd->command);
    unsigned char error;
    unsigned int response;

    memset(pCommand, 0, sizeof(MciCmd));
    // Fill command information
    pCommand->cmd = AT91C_MMC_SEND_OP_COND_CMD;
    pCommand->arg = AT91C_MMC_HOST_VOLTAGE_RANGE;
    pCommand->resSize = 1;
    pCommand->pResp = &response;

    // Set SD command state
    pSd->state = SD_STATE_STBY;

    // send command
    error = SendCommand(pSd);
    if (error) {

        return error;
    }

    if ((response & AT91C_CARD_POWER_UP_BUSY) == AT91C_CARD_POWER_UP_BUSY) {
        return 0;
    }
    else {
        return SD_ERROR_MCI;
    }
}

//------------------------------------------------------------------------------
/// Asks to all cards to send the CID numbers.
/// Returns the command transfer result (see SendCommand).
/// \param pSd  Pointer to a SD card driver instance.
/// \param pCid  Buffer for storing the CID numbers.
//------------------------------------------------------------------------------
static unsigned char Cmd2(SdCard *pSd, unsigned int *pCid)
{
    MciCmd *pCommand = &(pSd->command);

    memset(pCommand, 0, sizeof(MciCmd));
    // Fill the command information

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
3d动漫精品啪啪| 日韩精品每日更新| 国产精品美女久久久久久久| 久久夜色精品一区| 欧美大尺度电影在线| 日韩一区二区不卡| 欧美一卡二卡三卡| 日韩欧美一二三四区| 日韩欧美国产麻豆| 精品国产乱码久久| 久久蜜桃av一区二区天堂| 久久久久久久久久久久久夜| 中文字幕乱码一区二区免费| 国产精品狼人久久影院观看方式| 国产精品午夜在线观看| 中文字幕中文字幕中文字幕亚洲无线| 亚洲欧美在线视频| 亚洲黄色av一区| 无码av免费一区二区三区试看| 亚洲成人久久影院| 极品少妇xxxx偷拍精品少妇| 国产一区二区三区久久久| 国产成人aaaa| 色呦呦日韩精品| 欧美久久久影院| 欧美成人一级视频| 国产精品久久久久9999吃药| 亚洲欧美另类久久久精品2019| 亚洲午夜久久久久久久久电影院 | 蜜乳av一区二区| 国内精品久久久久影院一蜜桃| 国产经典欧美精品| 日本道免费精品一区二区三区| 欧美日韩在线播放三区| 日韩区在线观看| 亚洲欧美影音先锋| 亚洲成精国产精品女| 国模套图日韩精品一区二区| proumb性欧美在线观看| 欧美高清视频一二三区| 久久久久久一级片| 一区二区三区在线影院| 麻豆精品久久精品色综合| 粉嫩蜜臀av国产精品网站| 欧美午夜理伦三级在线观看| 日韩精品一区国产麻豆| 国产精品国产a| 丝袜美腿亚洲一区| 成人av免费网站| 91精品视频网| 日韩伦理av电影| 日本成人中文字幕| 91亚洲精品久久久蜜桃网站| 91精品国产色综合久久久蜜香臀| 中文字幕欧美区| 日本aⅴ亚洲精品中文乱码| 不卡在线视频中文字幕| 欧美一区二区性放荡片| 国产精品国产三级国产三级人妇| 日韩精品视频网站| 99久久精品情趣| 精品成人一区二区| 午夜精品免费在线观看| 成人黄色免费短视频| 日韩欧美一区在线| 亚洲一区二区三区在线看| 国产成人小视频| 日韩欧美中文字幕公布| 亚洲午夜三级在线| 91玉足脚交白嫩脚丫在线播放| 精品久久久久久久久久久久久久久久久 | 精品国产一区二区三区久久影院| 最新欧美精品一区二区三区| 蜜臀av性久久久久蜜臀aⅴ流畅| 9久草视频在线视频精品| 精品国产91乱码一区二区三区| 亚洲成a人片在线不卡一二三区| av在线不卡网| 国产亚洲美州欧州综合国| 福利一区二区在线| 337p粉嫩大胆噜噜噜噜噜91av| 日韩中文欧美在线| 在线观看区一区二| 亚洲欧美怡红院| 国产99久久久国产精品潘金| 日韩女优制服丝袜电影| 亚洲国产精品一区二区www| 91美女视频网站| 中文天堂在线一区| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 捆绑紧缚一区二区三区视频| 欧美性做爰猛烈叫床潮| 亚洲欧美欧美一区二区三区| 不卡的av电影| 国产精品污www在线观看| 国产一区二区三区| 久久久国产精品午夜一区ai换脸| 久久成人av少妇免费| 欧美大片在线观看| 久久精品国产在热久久| 日韩午夜电影在线观看| 日韩激情一区二区| 91精品中文字幕一区二区三区| 亚瑟在线精品视频| 欧美日韩高清一区二区三区| 亚洲一区二区三区四区五区中文| 色偷偷88欧美精品久久久| 亚洲精品免费视频| 欧美在线一二三四区| 午夜天堂影视香蕉久久| 4438x亚洲最大成人网| 青草av.久久免费一区| 精品国产一区二区三区av性色| 美女一区二区三区在线观看| 这里只有精品电影| 蜜臀av性久久久久蜜臀aⅴ流畅| 日韩欧美一区电影| 国产一区二区三区电影在线观看| 久久久.com| 99国产精品国产精品毛片| 中文字幕一区二区三| 91国产精品成人| 无吗不卡中文字幕| 欧美成人在线直播| 国产黄色91视频| 亚洲欧美一区二区久久| 欧美专区亚洲专区| 美女任你摸久久| 国产女同互慰高潮91漫画| 91视频91自| 午夜精品福利视频网站| 欧美一卡2卡三卡4卡5免费| 精品无人码麻豆乱码1区2区| 国产调教视频一区| 91精品国产91久久综合桃花| 国产呦精品一区二区三区网站| 国产精品嫩草99a| 欧美在线不卡视频| 久草中文综合在线| 国产精品久久久久一区| 欧美午夜精品理论片a级按摩| 免费一级片91| 中文字幕亚洲一区二区av在线 | 3d动漫精品啪啪1区2区免费| 国产专区欧美精品| 亚洲欧美偷拍卡通变态| 欧美一级免费观看| 成人激情免费电影网址| 午夜精品爽啪视频| 国产欧美日韩卡一| 欧美人牲a欧美精品| 国产剧情av麻豆香蕉精品| 亚洲视频免费在线观看| 日韩一区二区视频| 99久久久精品| 久久99久久精品| 亚洲六月丁香色婷婷综合久久 | 久久婷婷一区二区三区| 99久久精品国产网站| 男女性色大片免费观看一区二区| 亚洲国产精品二十页| 欧美一级日韩不卡播放免费| fc2成人免费人成在线观看播放| 日韩不卡一区二区三区| 国产精品卡一卡二卡三| 欧美成人一区二区| 在线观看日韩精品| 国产v日产∨综合v精品视频| 亚洲成在人线免费| 国产精品护士白丝一区av| 日韩精品一区二区三区蜜臀| 91免费看`日韩一区二区| 狠狠色丁香久久婷婷综合丁香| 亚洲精品午夜久久久| 国产日韩精品一区| 日韩欧美二区三区| 欧美喷潮久久久xxxxx| 成人久久18免费网站麻豆| 久久超碰97中文字幕| 亚洲第一成年网| 亚洲欧美日本在线| 亚洲国产精品精华液ab| 精品国产乱码久久久久久1区2区| 欧美午夜影院一区| 一本大道av一区二区在线播放| 国产一区二区三区在线观看免费 | 亚洲精品视频在线观看网站| 国产清纯在线一区二区www| 日韩视频在线观看一区二区| 在线观看一区日韩| 91网站最新网址| 成人v精品蜜桃久久一区| 狠狠色2019综合网| 奇米777欧美一区二区| 午夜电影网亚洲视频| 一区二区三区久久久| 一区二区三区欧美久久| 亚洲视频 欧洲视频| 自拍偷拍亚洲欧美日韩| 综合自拍亚洲综合图不卡区|