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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? s3c6410_ldi.c

?? 6410BSP3
?? C
?? 第 1 頁 / 共 3 頁
字號:
//
// Copyright (c) Microsoft Corporation.  All rights reserved.
//
//
// Use of this sample source code is subject to the terms of the Microsoft
// license agreement under which you licensed this sample source code. If
// you did not accept the terms of the license agreement, you are not
// authorized to use this sample source code. For the terms of the license,
// please see the license agreement between you and Microsoft or, if applicable,
// see the LICENSE.RTF on your install media or the root of your tools installation.
// THE SAMPLE SOURCE CODE IS PROVIDED "AS IS", WITH NO WARRANTIES OR INDEMNITIES.
//
//
// Copyright (c) Samsung Electronics. Co. LTD.  All rights reserved.
//
/*++
THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
PARTICULAR PURPOSE.

Module Name:    s3c6410_ldi.c

Abstract:       Libray to control LDI

Functions:


Notes:


--*/

#include <bsp.h>
//#include <windows.h>
//#include <bsp_cfg.h>
//#include <s3c6410.h>
#include "s3c6410_ldi.h"
#include "s3c6410_display_con.h"
#include "s3c6410_display_con_macro.h"
#include "LTS222QV_RGB_dataset.h"
#include "LTV350QV_RGB_dataset.h"
#include "LTM030DK_RGB_dataset.h"

#define LDI_MSG(x)  
#define LDI_INF(x)  
#define LDI_ERR(x)  

#define LCDP_CLK            (1<<1)  // GPC[1]
#define LCDP_MOSI           (1<<2)  // GPC[2]
#define LCDP_nSS            (1<<3)  // GPC[3]

#define LCD_CLK         (1<<5)  // GPC[5]
#define LCD_MOSI        (1<<6)  // GPC[6]
#define LCD_nSS         (1<<7)  // GPC[7]
#define LCDP_CLK_Lo        (g_pGPIOReg->GPCDAT &= ~LCDP_CLK)
#define LCDP_CLK_Hi        (g_pGPIOReg->GPCDAT |= LCDP_CLK)
#define LCDP_MOSI_Lo        (g_pGPIOReg->GPCDAT &= ~LCDP_MOSI)
#define LCDP_MOSI_Hi        (g_pGPIOReg->GPCDAT |= LCDP_MOSI)
#define LCDP_nSS_Lo        (g_pGPIOReg->GPCDAT &= ~LCDP_nSS)
#define LCDP_nSS_Hi        (g_pGPIOReg->GPCDAT |= LCDP_nSS)

#define LCD_CLK_Lo      (g_pGPIOReg->GPCDAT &= ~LCD_CLK)
#define LCD_CLK_Hi      (g_pGPIOReg->GPCDAT |= LCD_CLK)
#define LCD_MOSI_Lo     (g_pGPIOReg->GPCDAT &= ~LCD_MOSI)
#define LCD_MOSI_Hi     (g_pGPIOReg->GPCDAT |= LCD_MOSI)
#define LCD_nSS_Lo      (g_pGPIOReg->GPCDAT &= ~LCD_nSS)
#define LCD_nSS_Hi      (g_pGPIOReg->GPCDAT |= LCD_nSS)

// SYS I/F CSn Main
#define LCD_nCSMain_Lo  (g_pGPIOReg->GPJDAT &= ~(1<<8))
#define LCD_nCSMain_Hi  (g_pGPIOReg->GPJDAT |= (1<<8))
#define LCD_RD_Lo       (g_pGPIOReg->GPJDAT &= ~(1<<7))
#define LCD_RD_Hi       (g_pGPIOReg->GPJDAT |= (1<<7))
#define LCD_RS_Lo       (g_pGPIOReg->GPJDAT &= ~(1<<10))
#define LCD_RS_Hi       (g_pGPIOReg->GPJDAT |= (1<<10))
#define LCD_nWR_Lo      (g_pGPIOReg->GPJDAT &= ~(1<<11))
#define LCD_nWR_Hi      (g_pGPIOReg->GPJDAT |= (1<<11))

#define LCD_DELAY_1MS    30000          // Sufficient under 1Ghz
#define SPI_DELAY        100            // Sufficient under 1Ghz


static volatile S3C6410_SPI_REG *g_pSPIReg = NULL;
static volatile S3C6410_GPIO_REG *g_pGPIOReg = NULL;
static volatile S3C6410_DISPLAY_REG *g_pDispConReg = NULL;
static LDI_LCD_MODULE_TYPE g_ModuleType;

LDI_ERROR LDI_initialize_register_address(void *pSPIReg, void *pDispConReg, void *pGPIOReg)
{
    LDI_ERROR error = LDI_SUCCESS;

    LDI_MSG((_T("[LDI]++LDI_initialize_register_address(0x%08x, 0x%08x, 0x%08x)\n\r"), pSPIReg, pDispConReg, pGPIOReg));

    if (pSPIReg == NULL || pDispConReg == NULL || pGPIOReg == NULL)
    {
        LDI_ERR((_T("[LDI:ERR] LDI_initialize_register_address() : NULL pointer parameter\n\r")));
        error = LDI_ERROR_NULL_PARAMETER;
    }
    else
    {
        g_pSPIReg = (S3C6410_SPI_REG *)pSPIReg;
        g_pDispConReg = (S3C6410_DISPLAY_REG *)pDispConReg;
        g_pGPIOReg = (S3C6410_GPIO_REG *)pGPIOReg;
        LDI_INF((_T("[LDI:INF] g_pSPIReg = 0x%08x\n\r"), g_pSPIReg));
        LDI_INF((_T("[LDI:INF] g_pDispConReg = 0x%08x\n\r"), g_pDispConReg));
        LDI_INF((_T("[LDI:INF] g_pGPIOReg    = 0x%08x\n\r"), g_pGPIOReg));
    }

    LDI_MSG((_T("[LDI]--LDI_initialize_register_address() : %d\n\r"), error));

    return error;
}

LDI_ERROR LDI_set_LCD_module_type(LDI_LCD_MODULE_TYPE ModuleType)
{
    LDI_ERROR error = LDI_SUCCESS;

    LDI_MSG((_T("[LDI]++LDI_set_LCD_module_type(%d)\n\r"), ModuleType));

    g_ModuleType = ModuleType;

    LDI_MSG((_T("[LDI]--LDI_set_LCD_module_type() : %d\n\r"), error));

    return error;
}

LDI_ERROR LDI_initialize_LCD_module(void)
{
    LDI_ERROR error = LDI_SUCCESS;

    LDI_MSG((_T("[LDI]++LDI_initialize_LCD_module()\n\r")));

    switch(g_ModuleType)
    {
    case LDI_LTS222QV_RGB:
        LDI_INF((_T("[LDI:INF] LDI_initialize_LCD_module() : Type [%d] LDI_LTS222QV_RGB\n\r"), g_ModuleType));
        LDI_LTS222QV_port_initialize();
        LDI_LTS222QV_reset();
        LDI_LTS222QV_RGB_initialize();
        break;
    case LDI_LTV350QV_RGB:
        LDI_INF((_T("[LDI:INF] LDI_initialize_LCD_module() : Type [%d] LDI_LTV350QV_RGB\n\r"), g_ModuleType));
        LDI_LTV350QV_port_initialize();
        LDI_LTV350QV_reset();
        LDI_LTV350QV_RGB_initialize();
        break;
    case LDI_LTE480WV_RGB:
        LDI_INF((_T("[LDI:INF] LDI_initialize_LCD_module() : Type [%d] LDI_LTE480WV_RGB\n\r"), g_ModuleType));
        LDI_LTE480WV_RGB_port_initialize();
        LDI_LTE480WV_RGB_power_on();
        LDI_LTE480WV_RGB_initialize();
        break;
    case LDI_LTP700WV_RGB:
        LDI_INF((_T("[LDI:INF] LDI_initialize_LCD_module() : Type [%d] LDI_LTP700WV_RGB\n\r"), g_ModuleType));
        LDI_LTP700WV_port_initialize();
        LDI_LTP700WV_reset();
        LDI_LTP700WV_RGB_initialize();
        break;
    case LDI_SMRP_TD043MTEA1_RGB:
        LDI_INF((_T("[LDI:INF] LDI_initialize_LCD_module() : Type [%d] LDI_SMRP_TD043MTEA1_RGB\n\r"), g_ModuleType));
        LDI_TD043MTEA1_port_initialize();
        LDI_TD043MTEA1_power_on();
        LDI_TD043MTEA1_RGB_initialize();
        break;
    case LDI_SMRP_LTE480WV_RGB:
        LDI_INF((_T("[LDI:INF] LDI_initialize_LCD_module() : Type [%d] LDI_SMRP_LTE480WV_RGB\n\r"), g_ModuleType));
        LDI_SMRP_LTE480WV_RGB_port_initialize();
        LDI_SMRP_LTE480WV_RGB_power_on();
        LDI_SMRP_LTE480WV_RGB_initialize();
        break;
    case LDI_LTM030DK_RGB:
        LDI_INF((_T("[LDI:INF] LDI_initialize_LCD_module() : Type [%d] LDI_LTM030DK_RGB\n\r"), g_ModuleType));
        LDI_LTM030DK_port_initialize();
//        LDI_LTM030DK_SetALC();
        LDI_LTM030DK_RGB_initialize();
        break;
    default:
        LDI_ERR((_T("[LDI:ERR] LDI_initialize_LCD_module() : Unknown LCD Module Type [%d]\n\r"), g_ModuleType));
        error = LDI_ERROR_ILLEGAL_PARAMETER;
        break;
    }

    LDI_MSG((_T("[LDI]--LDI_initialize_LCD_module() : %d\n\r"), error));

    return error;
}

LDI_ERROR LDI_deinitialize_LCD_module(void)
{
    LDI_ERROR error = LDI_SUCCESS;

    LDI_MSG((_T("[LDI]++LDI_deinitialize_LCD_module()\n\r")));

    switch(g_ModuleType)
    {
    case LDI_LTS222QV_RGB:
    case LDI_LTV350QV_RGB:
    case LDI_LTP700WV_RGB:
    case LDI_LTM030DK_RGB:        
        // TODO: Nothing to do with Current Hardware
        break;
    case LDI_LTE480WV_RGB:
        LDI_INF((_T("[LDI:INF] LDI_deinitialize_LCD_module() : Type [%d] LDI_LTE480WV_RGB\n\r"), g_ModuleType));
        LDI_LTE480WV_RGB_power_off();
        break;
    case LDI_SMRP_TD043MTEA1_RGB:
        LDI_INF((_T("[LDI:INF] LDI_deinitialize_LCD_module() : Type [%d] LDI_SMRP_TD043MTEA1_RGB\n\r"), g_ModuleType));
        LDI_TD043MTEA1_power_off();
        break;
    case LDI_SMRP_LTE480WV_RGB:
        LDI_INF((_T("[LDI:INF] LDI_deinitialize_LCD_module() : Type [%d] LDI_SMRP_LTE480WV_RGB\n\r"), g_ModuleType));
        LDI_SMRP_LTE480WV_RGB_power_off();
        break;
    default:
        LDI_ERR((_T("[LDI:ERR] LDI_initialize_LCD_module() : Unknown LCD Module Type [%d]\n\r"), g_ModuleType));
        error = LDI_ERROR_ILLEGAL_PARAMETER;
        break;
    }

    LDI_MSG((_T("[LDI]--LDI_deinitialize_LCD_module() : %d\n\r"), error));

    return error;
}

LDI_ERROR LDI_fill_output_device_information(void *pDevInfo)
{
    LDI_ERROR error = LDI_SUCCESS;
    tDevInfo *pDeviceInfo;

    LDI_MSG((_T("[LDI]++LDI_fill_output_device_information()\n\r")));

    if (pDevInfo == NULL)
    {
        LDI_ERR((_T("[LDI:ERR] LDI_fill_output_device_information() : Null Parameter\n\r")));
        error = DISP_ERROR_NULL_PARAMETER;
        goto CleanUp;
    }

    pDeviceInfo = (tDevInfo *)pDevInfo;

    switch(g_ModuleType)
    {
    case LDI_LTS222QV_RGB:
        LDI_INF((_T("[LDI:INF] Output Devce Type [%d] = LDI_LTS222QV_RGB\n\r"), g_ModuleType));
        pDeviceInfo->RGBOutMode = DISP_18BIT_RGB666_S;
        pDeviceInfo->uiWidth = 240;
        pDeviceInfo->uiHeight = 320;
        pDeviceInfo->VBPD_Value = 7;
        pDeviceInfo->VFPD_Value = 10;
        pDeviceInfo->VSPW_Value = 3;
        pDeviceInfo->HBPD_Value = 2;
        pDeviceInfo->HFPD_Value = 2;
        pDeviceInfo->HSPW_Value = 1;
        pDeviceInfo->VCLK_Polarity = IVCLK_FALL_EDGE;
        pDeviceInfo->HSYNC_Polarity = IHSYNC_LOW_ACTIVE;
        pDeviceInfo->VSYNC_Polarity = IVSYNC_LOW_ACTIVE;
        pDeviceInfo->VDEN_Polarity = IVDEN_HIGH_ACTIVE;
        pDeviceInfo->PNR_Mode = PNRMODE_RGB_S;
        pDeviceInfo->VCLK_Source = CLKSEL_F_LCDCLK;
        pDeviceInfo->VCLK_Direction = CLKDIR_DIVIDED;
        pDeviceInfo->Frame_Rate = 60;
        break;

    case LDI_LTV350QV_RGB:
        LDI_INF((_T("[LDI:INF] Output Devce Type [%d] = LDI_LTV350QV_RGB\n\r"), g_ModuleType));
        pDeviceInfo->RGBOutMode = DISP_16BIT_RGB565_P;
        pDeviceInfo->uiWidth = 320;
        pDeviceInfo->uiHeight = 240;
        pDeviceInfo->VBPD_Value = 5;
        pDeviceInfo->VFPD_Value = 3;
        pDeviceInfo->VSPW_Value = 4;
        pDeviceInfo->HBPD_Value = 5;
        pDeviceInfo->HFPD_Value = 3;
        pDeviceInfo->HSPW_Value = 10;
        pDeviceInfo->VCLK_Polarity = IVCLK_RISE_EDGE;
        pDeviceInfo->HSYNC_Polarity = IHSYNC_LOW_ACTIVE;
        pDeviceInfo->VSYNC_Polarity = IVSYNC_LOW_ACTIVE;
        pDeviceInfo->VDEN_Polarity = IVDEN_LOW_ACTIVE;
        pDeviceInfo->PNR_Mode = PNRMODE_RGB_P;
        pDeviceInfo->VCLK_Source = CLKSEL_F_LCDCLK;
        pDeviceInfo->VCLK_Direction = CLKDIR_DIVIDED;
        pDeviceInfo->Frame_Rate = 60;    // VCLK (Max 10 MHz)
        break;

    case LDI_LTE480WV_RGB:
    case LDI_SMRP_LTE480WV_RGB:
        LDI_INF((_T("[LDI:INF] Output Devce Type [%d] = LDI_(SMRP)LTE480WV_RGB\n\r"), g_ModuleType));
        pDeviceInfo->RGBOutMode = DISP_16BIT_RGB565_P;
        pDeviceInfo->uiWidth = 800;
        pDeviceInfo->uiHeight = 480;
        pDeviceInfo->VBPD_Value = 3;
        pDeviceInfo->VFPD_Value = 5;
        pDeviceInfo->VSPW_Value = 5;
        pDeviceInfo->HBPD_Value = 13;
        pDeviceInfo->HFPD_Value = 8;
        pDeviceInfo->HSPW_Value = 3;
        pDeviceInfo->VCLK_Polarity = IVCLK_FALL_EDGE;
        pDeviceInfo->HSYNC_Polarity = IHSYNC_LOW_ACTIVE;
        pDeviceInfo->VSYNC_Polarity = IVSYNC_LOW_ACTIVE;
        pDeviceInfo->VDEN_Polarity = IVDEN_HIGH_ACTIVE;
        pDeviceInfo->PNR_Mode = PNRMODE_RGB_P;
        pDeviceInfo->VCLK_Source = CLKSEL_F_LCDCLK;
        pDeviceInfo->VCLK_Direction = CLKDIR_DIVIDED;
        pDeviceInfo->Frame_Rate = 60;    // VCLK > 24.5 MHz (Max 35.7 MHz)
        break;

    case LDI_LTP700WV_RGB:
        LDI_INF((_T("[LDI:INF] Output Devce Type [%d] = LDI_LTP700WV_RGB\n\r"), g_ModuleType));
        pDeviceInfo->RGBOutMode = DISP_24BIT_RGB888_P;
        pDeviceInfo->uiWidth = 800;
        pDeviceInfo->uiHeight = 480;
        pDeviceInfo->VBPD_Value = 7;
        pDeviceInfo->VFPD_Value = 5;
        pDeviceInfo->VSPW_Value = 1;
        pDeviceInfo->HBPD_Value = 13;
        pDeviceInfo->HFPD_Value = 8;
        pDeviceInfo->HSPW_Value = 3;
        pDeviceInfo->VCLK_Polarity = IVCLK_FALL_EDGE;
        pDeviceInfo->HSYNC_Polarity = IHSYNC_LOW_ACTIVE;
        pDeviceInfo->VSYNC_Polarity = IVSYNC_LOW_ACTIVE;
        pDeviceInfo->VDEN_Polarity = IVDEN_HIGH_ACTIVE;
        pDeviceInfo->PNR_Mode = PNRMODE_RGB_P;
        pDeviceInfo->VCLK_Source = CLKSEL_F_LCDCLK;
        pDeviceInfo->VCLK_Direction = CLKDIR_DIVIDED;
        pDeviceInfo->Frame_Rate = 60;
        break;

    case LDI_SMRP_TD043MTEA1_RGB:
        LDI_INF((_T("[LDI:INF] Output Devce Type [%d] = LDI_SMRP_TD043MTEA1_RGB\n\r"), g_ModuleType));
        pDeviceInfo->RGBOutMode = DISP_16BIT_RGB565_P;
        pDeviceInfo->uiWidth = 800;
        pDeviceInfo->uiHeight = 480;
        pDeviceInfo->VBPD_Value = 30;
        pDeviceInfo->VFPD_Value = 10;
        pDeviceInfo->VSPW_Value = 5;
        pDeviceInfo->HBPD_Value = 200;
        pDeviceInfo->HFPD_Value = 40;
        pDeviceInfo->HSPW_Value = 16;
        pDeviceInfo->VCLK_Polarity = IVCLK_FALL_EDGE;
        pDeviceInfo->HSYNC_Polarity = IHSYNC_LOW_ACTIVE;
        pDeviceInfo->VSYNC_Polarity = IVSYNC_LOW_ACTIVE;
        pDeviceInfo->VDEN_Polarity = IVDEN_HIGH_ACTIVE;
        pDeviceInfo->PNR_Mode = PNRMODE_RGB_P;
        pDeviceInfo->VCLK_Source = CLKSEL_F_LCDCLK;
        pDeviceInfo->VCLK_Direction = CLKDIR_DIVIDED;
        pDeviceInfo->Frame_Rate = 60;
        break;
        
    case LDI_LTM030DK_RGB:
        LDI_INF((_T("[LDI:INF] Output Devce Type [%d] = LDI_LTM030DK_RGB\n\r"), g_ModuleType));
        pDeviceInfo->RGBOutMode = DISP_16BIT_RGB565_P;
        pDeviceInfo->uiWidth = 480;
        pDeviceInfo->uiHeight = 800;
        pDeviceInfo->VBPD_Value = 3;
        pDeviceInfo->VFPD_Value = 6;
        pDeviceInfo->VSPW_Value = 2;
        pDeviceInfo->HBPD_Value = 4;
        pDeviceInfo->HFPD_Value = 6;
        pDeviceInfo->HSPW_Value = 6;
        pDeviceInfo->VCLK_Polarity = IVCLK_RISE_EDGE;
        pDeviceInfo->HSYNC_Polarity = IHSYNC_LOW_ACTIVE;
        pDeviceInfo->VSYNC_Polarity = IVSYNC_LOW_ACTIVE;
        pDeviceInfo->VDEN_Polarity = IVDEN_HIGH_ACTIVE;
        pDeviceInfo->PNR_Mode = PNRMODE_RGB_P;
        pDeviceInfo->VCLK_Source = CLKSEL_F_LCDCLK;
        pDeviceInfo->VCLK_Direction = CLKDIR_DIVIDED;
        pDeviceInfo->Frame_Rate = 60;
        break;

    default:
        LDI_INF((_T("[LDI:ERR] LDI_fill_output_device_information() : Unknown device type [%d]\n\r"), g_ModuleType));
        error = DISP_ERROR_ILLEGAL_PARAMETER;
        break;
    }

CleanUp:

    LDI_MSG((_T("[LDI]--LDI_fill_output_device_information()\n\r")));

    return error;
}


// Port_Init -> SPI Init -> LDI REset LDI Init ->
void LDI_LTM030DK_port_initialize(void)
{
    LDI_MSG((_T("[LDI]++%s()\n\r"), _T(__FUNCTION__)));
    
//    (*(volatile unsigned *)0x7410800c)=0;    //Must be '0' for Normal-path instead of By-pass
    // nReset    : GPN[5]


    // set GPIO Initial Value to High
    g_pGPIOReg->GPNDAT |= (1<<5);            // nReset

    // Pull Up/Down Disable
    g_pGPIOReg->GPNPUD &= ~(0x3<<10);                // nReset

    // Set GPIO direction to output
    g_pGPIOReg->GPNCON = (g_pGPIOReg->GPNCON & ~(0x3<<10)) | (1<<10);        // nReset

    // nReset    : GPN[5]
    g_pGPIOReg->GPNDAT |= (1<<5);        // nReset High
    DelayLoop_1ms(50);                    // 10 ms

    g_pGPIOReg->GPNDAT &= ~(1<<5);    // nReset Low
    DelayLoop_1ms(10);                    // 10 ms

    g_pGPIOReg->GPNDAT |= (1<<5);        // nReset High
    DelayLoop_1ms(10);                    // 10 ms

    LDI_MSG((_T("[LDI]--%s()\n\r"), _T(__FUNCTION__)));
}

static void LDI_LTM030DK_spi_port_enable(void)
{
    LDI_MSG((_T("[LDI]++%s()\n\r"), _T(__FUNCTION__)));

    // Clk        : GPC[5]
    // MOSI        : GPC[6]
    g_pGPIOReg->SPCON &= ~(0x3<<0);    // Host I/F
//    g_pGPIOReg->GPICON = 0xaaaaaaaa;        // VD Signal
//    g_pGPIOReg->GPJCON = 0xaaaaaaaa;        // VD Signal

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
www国产成人免费观看视频 深夜成人网| 欧洲日韩一区二区三区| 国产91精品一区二区麻豆网站| 国产另类ts人妖一区二区| 成人伦理片在线| 欧美日韩在线三区| 欧美一三区三区四区免费在线看 | 色狠狠综合天天综合综合| 欧美久久久久久久久久| 国产视频一区在线观看| 伊人色综合久久天天人手人婷| 日本美女一区二区三区视频| 国产a区久久久| 日韩欧美黄色影院| 一区二区三区国产精品| 国产激情一区二区三区桃花岛亚洲| 欧美在线制服丝袜| 国产精品日产欧美久久久久| 亚洲午夜在线电影| 粉嫩一区二区三区在线看| 欧美一区二区在线视频| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 日韩激情在线观看| 久久久一区二区三区捆绑**| 1024成人网色www| 国产呦萝稀缺另类资源| 欧美精品aⅴ在线视频| 一区精品在线播放| 国产剧情一区在线| 91精品国产综合久久久久| 亚洲综合在线电影| av动漫一区二区| 国产亚洲成av人在线观看导航| 2020国产精品| 首页国产欧美久久| 欧美日韩国产一级片| 成人免费一区二区三区在线观看| 国产在线播放一区三区四| 欧美一区日本一区韩国一区| 亚洲第一会所有码转帖| 91精品福利视频| 亚洲精品菠萝久久久久久久| 99久久精品免费观看| 中文一区在线播放| 成人免费va视频| 天天综合天天做天天综合| 欧美性淫爽ww久久久久无| 亚洲一区二区三区在线| 色妹子一区二区| 中文字幕在线免费不卡| 成人黄色a**站在线观看| 国产精品婷婷午夜在线观看| 国产精品一二三四五| 久久新电视剧免费观看| 国产精品12区| 国产精品午夜久久| 97久久精品人人爽人人爽蜜臀| 中文字幕日本乱码精品影院| 成a人片国产精品| 亚洲精品乱码久久久久久 | 日本在线观看不卡视频| 制服丝袜中文字幕一区| 日本vs亚洲vs韩国一区三区二区| 欧美日韩1区2区| 樱花草国产18久久久久| 欧美顶级少妇做爰| 国内精品久久久久影院色| 国产亚洲欧美中文| 色综合一区二区三区| 亚洲色图视频免费播放| 99久久精品费精品国产一区二区| 亚洲图片你懂的| 欧美无乱码久久久免费午夜一区| 午夜精品久久久久久久| 久久久久久亚洲综合| 91在线视频免费91| 亚洲va天堂va国产va久| 精品国精品国产尤物美女| 国产精品1区2区3区在线观看| 中文在线免费一区三区高中清不卡| 97精品视频在线观看自产线路二| 亚洲女人小视频在线观看| 欧美日韩在线一区二区| 亚洲特黄一级片| 91精品福利在线| 精品一区二区三区香蕉蜜桃 | 7777女厕盗摄久久久| 激情综合色综合久久综合| 最新国产精品久久精品| 4438成人网| 成人av免费在线观看| 婷婷一区二区三区| 国产精品免费人成网站| 欧美日韩国产另类不卡| 国产成人综合网站| 亚洲成在人线免费| 国产精品午夜电影| 精品免费视频.| 欧美日韩欧美一区二区| 成人中文字幕合集| 美女高潮久久久| 亚洲国产综合在线| 国产清纯白嫩初高生在线观看91| 欧美人与z0zoxxxx视频| av综合在线播放| 国产激情一区二区三区| 天涯成人国产亚洲精品一区av| 国产精品视频在线看| 欧美岛国在线观看| 欧美性受极品xxxx喷水| 成人午夜电影网站| 蜜臀av一区二区| 日韩黄色在线观看| 亚洲图片欧美视频| 亚洲人妖av一区二区| 国产精品女人毛片| 国产精品伦理在线| 制服丝袜一区二区三区| 91视频在线看| 国产一区二区免费视频| 日韩不卡一二三区| 午夜a成v人精品| 五月开心婷婷久久| 亚洲香肠在线观看| 亚洲一卡二卡三卡四卡无卡久久| 国产精品少妇自拍| 久久精品日韩一区二区三区| 26uuu精品一区二区| 日韩精品专区在线影院重磅| 9191精品国产综合久久久久久| 欧美中文字幕亚洲一区二区va在线| 26uuu亚洲综合色| 欧美一区永久视频免费观看| 欧美日本在线观看| 欧美日韩视频专区在线播放| 欧美日韩成人综合在线一区二区| 欧美性生活大片视频| 欧美亚洲精品一区| 欧美日韩国产高清一区二区| 欧美日韩的一区二区| 91精品国产综合久久精品性色| 在线观看视频一区| 色综合久久久久网| 岛国av在线一区| 青青草精品视频| 久久99精品久久久| 欧美aⅴ一区二区三区视频| 日韩中文字幕区一区有砖一区| 午夜精品一区二区三区免费视频 | 精品国产sm最大网站免费看| 26uuu色噜噜精品一区二区| 日韩一区国产二区欧美三区| 日韩亚洲欧美在线| 久久久久88色偷偷免费| 国产精品久久久久久久久免费丝袜 | 色综合天天做天天爱| 欧美亚洲另类激情小说| 欧美zozo另类异族| 国产精品美女www爽爽爽| 亚洲伦在线观看| 蜜臀精品一区二区三区在线观看| 国产福利精品一区二区| 在线亚洲精品福利网址导航| 91精品国产综合久久精品| 国产欧美一区二区三区网站 | 日本韩国精品在线| 日韩欧美一级精品久久| 国产精品电影院| 欧美aaa在线| av高清久久久| 国产色综合一区| 麻豆国产精品一区二区三区| 在线观看亚洲精品视频| 国产精品久久国产精麻豆99网站| 九色porny丨国产精品| 欧美日韩免费电影| 一区二区三区电影在线播| 成人激情电影免费在线观看| 久久久久久夜精品精品免费| 日韩av网站在线观看| 欧美在线观看视频一区二区三区| 国产精品天天看| 国产黄色精品网站| 久久久久久久综合狠狠综合| 免费看日韩a级影片| 欧美日韩和欧美的一区二区| 亚洲女人的天堂| 99视频精品免费视频| 国产女人18水真多18精品一级做| 国产一区在线看| 国产调教视频一区| 国产乱码精品一区二区三| 欧美精品一区二区久久久| 男人操女人的视频在线观看欧美| 欧美精品丝袜中出| 视频一区欧美精品| 欧美一区二区三区免费在线看| 亚洲成精国产精品女| 911精品国产一区二区在线| 日本不卡高清视频|