<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

6.100ASK_V853-PRO開發板支持MIPI攝像頭

嵌入式Linux那些事 ? 來源:嵌入式Linux那些事 ? 作者:嵌入式Linux那些事 ? 2023-05-11 10:08 ? 次閱讀

0.前言

? 100ASK_V853-PRO開發板支持4LINE的MIPI攝像頭和2LINE的MIPI攝像頭,使用百問網提供的Tina SDK包生成的鏡像,系統已經配置好了,可以直接使用。本章介紹如何去適配一個MIPI攝像頭,本文所用的2LINE的MIPI攝像頭,大家可以在百問網官方淘寶店鋪上購買。100ASK_V853-PRO開發板

poYBAGRcTbaAeZuuAALAgVeFgKQ627.png

全志Linux Tina-SDK開發完全手冊:https://tina.100ask.net/

如果您想適配自己的攝像頭,強烈建議您參照以下開發指南進行操作:

Camera_開發指南:https://tina.100ask.net/SdkModule/Linux_Camera_DevelopmentGuide-01/

1.VIN框架介紹

V853支持并口CSI、MIPI,使用VIN camera驅動框架。

Camera 通路框架

? VIN 支持靈活配置單/雙路輸入雙ISP 多通路輸出的規格

? 引入media 框架實現pipeline 管理

? 將libisp 移植到用戶空間解決GPL 問題

? 將統計buffer 獨立為v4l2 subdev

? 將的scaler(vipp)模塊獨立為v4l2 subdev

? 將video buffer 修改為mplane 方式,使用戶層取圖更方便

? 采用v4l2-event 實現事件管理

? 采用v4l2-controls 新特性

pYYBAGRcTbyAZ02eAACvysws8SI609.png

VIN 框架

? 使用過程中可簡單的看成是vin 模塊+ device 模塊+af driver + flash 控制模塊的方式;

? vin.c 是驅動的主要功能實現,包括注冊/注銷、參數讀取、與v4l2 上層接口、與各device 的下層接口、中斷處理、buffer 申請切換等;

? modules/sensor 文件夾里面是各個sensor 的器件層實現,一般包括上下電、初始化,各分辨率切換,yuv sensor 包括絕大部分的v4l2 定義的ioctrl 命令的實

現;而raw sensor 的話大部分ioctrl 命令在vin 層調用isp 庫實現,少數如曝光/增益調節會透過vin 層到實際器件層;

? modules/actuator 文件夾內是各種vcm 的驅動;

? modules/flash 文件夾內是閃光燈控制接口實現;

? vin-csi 和vin-mipi 為對csi 接口和mipi 接口的控制文件;

? vin-isp 文件夾為isp 的庫操作文件;

? vin-video 文件夾內主要是video 設備操作文件;

pYYBAGRcTcSABV8IAACfz6EOUG0149.png

驅動路徑位于linux-4.9/drivers/media/platform/sunxi-vin 下。

sunxi-vin:
│ vin.c ;v4l2驅動實現主體(包含視頻接口和ISP部分)
│ vin.h ;v4l2驅動頭文件
│ top_reg.c ;vin對各v4l2 subdev管理接口實現主體
│ top_reg.h ;管理接口頭文件
│ top_reg_i.h ;vin模塊接口層部分結構體
├── modules
│ ├── actuator ;vcm driver
│ │ ├── actuator.c
│ │ ├── actuator.h
│ │ ├── dw9714_act.c
│ │ ├── Makefile
│ ├── flash ;閃光燈driver
│ │ ├── flash.c
│ │ └── flash.h
│ └── sensor ;sensor driver
│ ├── ar0144_mipi.c
│ ├── camera_cfg.h ;camera ioctl擴展命令頭文件
│ ├── camera.h ;camera公用結構體頭文件
│ ├── Makefile
│ ├── ov2775_mipi.c
│ ├── ov5640.c
│ ├── sensor-compat-ioctl32.c
│ ├── sensor_helper.c ;sensor公用操作接口函數文件
│ ├── sensor_helper.h
├── platform ;平臺相關的配置接口
├── utility
│ ├── bsp_common.c
│ ├── bsp_common.h
│ ├── cfg_op.c
│ ├── cfg_op.h
│ ├── config.c
│ ├── config.h
│ ├── sensor_info.c
│ ├── sensor_info.h
│ ├── vin_io.h
│ ├── vin_os.c
│ ├── vin_os.h
│ ├── vin_supply.c
│ └── vin_supply.h
├── vin-cci
│ ├── sunxi_cci.c
│ └── sunxi_cci.h
├── vin-csi
│ ├── parser_reg.c
│ ├── parser_reg.h
│ ├── parser_reg_i.h
│ ├── sunxi_csi.c
│ └── sunxi_csi.h
├── vin-isp
│ ├── sunxi_isp.c
│ └── sunxi_isp.h
├── vin-mipi
│ ├── sunxi_mipi.c
│ └── sunxi_mipi.h
├── vin-stat
│ ├── vin_h3a.c
│ ├── vin_h3a.h
│ ├── vin_ispstat.c
│ └── vin_ispstat.h
├── vin_test
├── vin-video
│ ├── vin_core.c
│ ├── vin_core.h
│ ├── vin_video.c
│ └── vin_video.h
└── vin-vipp
├── sunxi_scaler.c
├── sunxi_scaler.h
├── vipp_reg.c
├── vipp_reg.h
└── vipp_reg_i.h

2.驅動配置

? 100ASK_V853-PRO開發板支持4LINE雙攝鏡頭模組和2LINE單攝鏡頭模組,下面我僅演示2LINE的MIPI攝像頭如何進行配置。我們使用的是GC2053攝像頭,使用的是全志已經內置的驅動程序,路徑為:

kernel/linux-4.9/drivers/media/platform/sunxi-vin/modules/sensor/gc2053_mipi.c

3.設備樹配置

設備樹配置路徑:

device/config/chips/v853/configs/100ask/board.dts

camera相關配置:

                vind0:vind@0 {
                        vind0_clk = <300000000>;
                        status = "okay";

                        csi2:csi@2 {
                                pinctrl-names = "default","sleep";
                                pinctrl-0 = <&ncsi_pins_a>;
                                pinctrl-1 = <&ncsi_pins_b>;
                                status = "okay";
                        };
                        /*Online mode tp9953 uses online mode*/
                        tdm0:tdm@0 {
                                work_mode = <0>;
                        };

                        isp00:isp@0 {
                                work_mode = <0>;
                        };

                        scaler00:scaler@0 {
                                work_mode = <0>;
                        };

                        scaler10:scaler@4 {
                                work_mode = <0>;
                        };

                        scaler20:scaler@8 {
                                work_mode = <0>;
                        };

                        scaler30:scaler@12 {
                                work_mode = <0>;
                        };

                        actuator0:actuator@0 {
                                device_type = "actuator0";
                                actuator0_name = "ad5820_act";
                                actuator0_slave = <0x18>;
                                actuator0_af_pwdn = <>;
                                actuator0_afvdd = "afvcc-csi";
                                actuator0_afvdd_vol = <2800000>;
                                status = "disabled";
                        };
                        flash0:flash@0 {
                                device_type = "flash0";
                                flash0_type = <2>;
                                flash0_en = <>;
                                flash0_mode = <>;
                                flash0_flvdd = "";
                                flash0_flvdd_vol = <>;
                                status = "disabled";
                        };

                        sensor0:sensor@0 {
                                device_type = "sensor0";
                                sensor0_mname = "gc2053_mipi";
                                sensor0_twi_cci_id = <1>;
                                sensor0_twi_addr = <0x6e>;
                                sensor0_mclk_id = <0>;
                                sensor0_pos = "rear";
                                sensor0_isp_used = <1>;
                                sensor0_fmt = <1>;
                                sensor0_stby_mode = <0>;
                                sensor0_vflip = <0>;
                                sensor0_hflip = <0>;
                                sensor0_iovdd-supply = ;
                                sensor0_iovdd_vol = <1800000>;
                                sensor0_avdd-supply = ;
                                sensor0_avdd_vol = <2800000>;
                                sensor0_dvdd-supply = ;
                                sensor0_dvdd_vol = <1200000>;
                                sensor0_power_en = <>;
                                sensor0_reset = <&pio PA 18 1 0 1 0>;
                                sensor0_pwdn = <&pio PA 19 1 0 1 0>;
                                sensor0_sm_hs = <>;
                                sensor0_sm_vs = <>;
                                flash_handle = <&flash0>;
                                act_handle = <&actuator0>;
                                status  = "okay";
                        };
                        sensor1:sensor@1 {
                                device_type = "sensor1";
                                sensor1_mname = "tp9953";
                                sensor1_twi_cci_id = <0>;
                                sensor1_twi_addr = <0x88>;
                                sensor1_mclk_id = <2>;
                                sensor1_pos = "front";
                                sensor1_isp_used = <0>;
                                sensor1_fmt = <0>;
                                sensor1_stby_mode = <0>;
                                sensor1_vflip = <0>;
                                sensor1_hflip = <0>;
                                sensor1_iovdd-supply = ;
                                sensor1_iovdd_vol = <1800000>;
                                sensor1_avdd-supply = <>; /*;*/
                                sensor1_avdd_vol = <3300000>;
                                sensor1_dvdd-supply = <>;//;
                                sensor1_dvdd_vol = <1200000>;
                                sensor1_power_en = <&pio PI 0 1 0 1 0>;
                                sensor1_reset = <&pio PH 13 1 0 1 0>;
                                sensor1_pwdn  = <>;
                                /*sensor1_pwdn = <&pio PE 13 1 0 1 0>;*/
                                sensor1_sm_hs = <>;
                                sensor1_sm_vs = <>;
                                flash_handle = <>;
                                act_handle = <>;
                                status  = "okay";
                        };

4.內核配置

在Tina根目錄下執行make kernel_menuconfig

book@100ask:~/workspaces/tina-v853-open$ make kernel_menuconfig

注意:在進行內核配置前需要配置環境變量才可以進入內核調試,即在配置前輸入

book@100ask:~/workspaces/tina-v853-open$ source build/envsetup.sh
...
book@100ask:~/workspaces/tina-v853-open$ lunch
... 輸入1,選擇方案1

在內核配置界面中,進入如下目錄,輸入M選中下面兩項。

→ Device Drivers 
	→ Multimedia support 
		→ V4L platform devices
			   sunxi video input (camera csi/mipi isp vipp)driver
			     v4l2 new driver for SUNXI
poYBAGRcTdSAGVaOAADupyg6aS8912.png

可以看到全志已經支持了很多攝像頭,找到我們需要適配的攝像頭,輸入M將gc2053驅動編為模塊。

→ Device Drivers 
	→ Multimedia support 
		→ V4L platform devices 
			→ sensor driver select
				 use gc2053_mipi driver

注意:如果出現沒有的路徑,需要選擇上一級目錄才會打開。

pYYBAGRcTdyABDMJAAD_dTQptpY948.png

5.Tina配置

在Tina根目錄下輸入make menuconfig,進入如下目錄

 > Kernel modules 
 	> Video Support
 		<*> kmod-vin-v4l2.............................. Video input support (staging)

如下圖所示

poYBAGRcTeKAHBgMAADC1yEXRNU897.png

6.modules.mk配置

modules.mk主要完成兩個方面:

  1. 拷貝相關的ko模塊到小機rootfs中
  2. rootfs啟動時,按順序自動加載相關的ko模塊。

modules.mk文件路徑:

tina-v853-open/openwrt/target/v853/v853-100ask/modules.mk

驅動加載順序配置

 define KernelPackage/vin-v4l2
   SUBMENU:=$(VIDEO_MENU)
   TITLE:=Video input support (staging)
   DEPENDS:=
   FILES:=$(LINUX_DIR)/drivers/media/v4l2-core/videobuf2-core.ko
   FILES+=$(LINUX_DIR)/drivers/media/v4l2-core/videobuf2-dma-contig.ko
   FILES+=$(LINUX_DIR)/drivers/media/v4l2-core/videobuf2-memops.ko
   FILES+=$(LINUX_DIR)/drivers/media/v4l2-core/videobuf2-v4l2.ko
   FILES+=$(LINUX_DIR)/drivers/media/platform/sunxi-vin/vin_io.ko
   FILES+=$(LINUX_DIR)/drivers/media/platform/sunxi-vin/modules/sensor/gc2053_mipi.ko
 #  FILES+=$(LINUX_DIR)/drivers/media/platform/sunxi-vin/modules/sensor_power/sensor_power.ko
   FILES+=$(LINUX_DIR)/drivers/media/platform/sunxi-vin/vin_v4l2.ko
   FILES+=$(LINUX_DIR)/drivers/input/sensor/da380/da380.ko
   AUTOLOAD:=$(call AutoProbe,videobuf2-core videobuf2-dma-contig videobuf2-memops videobuf2-v4l2 vin_io gc2053_mipi vin_v4l2 da380.ko)
 endef

 define KernelPackage/vin-v4l2/description
  Kernel modules for video input support
 endef

 $(eval $(call KernelPackage,vin-v4l2))

7.S00mpp配置

V853平臺在完成modules.mk配置后,還需要完成.ko掛載腳本S00mpp的配置,以便開機快速啟動攝像頭模塊。

S00mpp配置路徑:

tina-v853-open/openwrt/target/v853/v853-100ask/busybox-init-base-files/etc/init.d/S00mpp

腳本對攝像頭驅動進行了提前加載,應用需要使用的時候即可快速配置并啟動。

#!/bin/sh
#
# Load mpp modules....
#

MODULES_DIR="/lib/modules/`uname -r`"

start() {
    printf "Load mpp modulesn"
    insmod $MODULES_DIR/videobuf2-core.ko
    insmod $MODULES_DIR/videobuf2-memops.ko
    insmod $MODULES_DIR/videobuf2-dma-contig.ko
    insmod $MODULES_DIR/videobuf2-v4l2.ko
    insmod $MODULES_DIR/vin_io.ko
#   insmod $MODULES_DIR/sensor_power.ko
    insmod $MODULES_DIR/gc4663_mipi.ko
    insmod $MODULES_DIR/vin_v4l2.ko
    insmod $MODULES_DIR/sunxi_aio.ko
    insmod $MODULES_DIR/sunxi_eise.ko
#   insmod $MODULES_DIR/vipcore.ko
}

stop() {
    printf "Unload mpp modulesn"
#   rmmod $MODULES_DIR/vipcore.ko
    rmmod $MODULES_DIR/sunxi_eise.ko
    rmmod $MODULES_DIR/sunxi_aio.ko
    rmmod $MODULES_DIR/vin_v4l2.ko
    rmmod $MODULES_DIR/gc4663_mipi.ko
#   rmmod $MODULES_DIR/sensor_power.ko
    rmmod $MODULES_DIR/vin_io.ko
    rmmod $MODULES_DIR/videobuf2-v4l2.ko
    rmmod $MODULES_DIR/videobuf2-dma-contig.ko
    rmmod $MODULES_DIR/videobuf2-memops.ko
    rmmod $MODULES_DIR/videobuf2-core.ko
}

case "$1" in
    start)
    start
    ;;
    stop)
    stop
    ;;
    restart|reload)
    stop
    start
    ;;
  *)
    echo "Usage: $0 {start|stop|restart}"
    exit 1
esac

exit $?

8.增加攝像頭測試程序

在Tina根目錄下執行make menuconfig,進入Tina配置界面后,進入如下目錄,輸入Y選中camerademo測試程序。

> Allwinner 
	> Vision
		<*> camerademo........................................ camerademo test sensor  ---> 
pYYBAGRcTe6ATpKKAABcpDrPyvw086.png

9.編譯燒寫鏡像

在Tina的根目錄下,輸入make -j32

book@100ask:~/workspaces/tina-v853-open$ make -j32
...
book@100ask:~/workspaces/tina-v853-open$ pack
...

? 生成鏡像后,將tina-v853-open/out/v853/100ask/openwrt/目錄下的v853_linux_100ask_uart0.img鏡像拷貝到Windows電腦主機中,使用全志PhoenixSuit燒寫工具燒寫到開發板上。

? 上電前需要連接插上12V的電源線,和兩條Type-C,把開關撥向電源接口方向上電,燒寫新鏡像后等待啟動系統,在命令行中輸入lsmod

root@TinaLinux:/# lsmod 
Module                  Size  Used by
vin_v4l2              181099  0 
gc2053_mipi             8567  0 
vin_io                 21106  3 vin_v4l2,gc2053_mipi
videobuf2_v4l2          9304  1 vin_v4l2
videobuf2_dma_contig     8632  1 vin_v4l2
videobuf2_memops         948  1 videobuf2_dma_contig
videobuf2_core         22168  2 vin_v4l2,videobuf2_v4l2
xradio_wlan              598  0 
xradio_core           431911  1 xradio_wlan
xradio_mac            222724  1 xradio_core

可以看到我們之前選中的VIN驅動和GC2053驅動已經裝載進去了

10.運行camera測試程序

在開發板的串口終端界面輸入camedemo -h可以輸出camera測試程序的使用教程

root@TinaLinux:/# camerademo -h
[CAMERA]**********************************************************
[CAMERA]*                                                        *
[CAMERA]*              this is camera test.                      *
[CAMERA]*                                                        *
[CAMERA]**********************************************************
[CAMERA]******************** camerademo help *********************
[CAMERA] This program is a test camera.
[CAMERA] It will query the sensor to support the resolution, output format and test frame rate.
[CAMERA] At the same time you can modify the data to save the path and get the number of photos.
[CAMERA] When the last parameter is debug, the output will be more detailed information
[CAMERA] There are eight ways to run:
[CAMERA]    1.camerademo --- use the default parameters.
[CAMERA]    2.camerademo debug --- use the default parameters and output debug information.
[CAMERA]    3.camerademo setting --- can choose the resolution and data format.
[CAMERA]    4.camerademo setting debug --- setting and output debug information.
[CAMERA]    5.camerademo NV21 640 480 30 bmp /tmp 5 --- param input mode,can save bmp or yuv.
[CAMERA]    6.camerademo NV21 640 480 30 bmp /tmp 5 debug --- output debug information.
[CAMERA]    7.camerademo NV21 640 480 30 bmp /tmp 5 Num --- /dev/videoNum param input mode,can save bmp or yuv.
[CAMERA]    8.camerademo NV21 640 480 30 bmp /tmp 5 Num debug --- /dev/videoNum output debug information.
[CAMERA]    8.camerademo NV21 640 480 30 bmp /tmp 5 Num 1 --- 1/2: chose memory: V4L2_MEMORY_MMAP/USERPTR
[CAMERA]**********************************************************

在開發板的串口終端界面輸入camerademo NV21 640 480 30 bmp /tmp 5,將會拍攝5張照片放在/tmp目錄下,將/tmp目錄下的文件拷貝到電腦端即可查看相應的圖片。

具體教程可以參考:https://tina.100ask.net/SdkModule/Linux_Camera_DevelopmentGuide-06/

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    4982

    文章

    18281

    瀏覽量

    288442
  • Linux
    +關注

    關注

    87

    文章

    10990

    瀏覽量

    206735
  • 攝像頭
    +關注

    關注

    59

    文章

    4608

    瀏覽量

    92894
  • 開發板
    +關注

    關注

    25

    文章

    4429

    瀏覽量

    93993
  • MIPI
    +關注

    關注

    10

    文章

    276

    瀏覽量

    47769
收藏 人收藏

    評論

    相關推薦

    1.100ASK_V853-PRO 環境配置及編譯燒寫

    本章主要介紹關于100ASK_V853-PRO開發板的Tina SDK包的下載和編譯打包生成鏡像,并將鏡像燒錄到100ASK_V853-PRO開發板上。在進行100
    的頭像 發表于 05-10 11:49 ?1021次閱讀
    1.100<b class='flag-5'>ASK_V853-PRO</b> 環境配置及編譯燒寫

    5.100ASK_V853-PRO開發板支持按鍵輸入

    ? 100ASK_V853-PRO開發板上共有5個功能按鍵,本章節跟大家討論如何使能這五個按鍵。
    的頭像 發表于 05-11 10:02 ?869次閱讀
    5.100<b class='flag-5'>ASK_V853-PRO</b><b class='flag-5'>開發板</b><b class='flag-5'>支持</b>按鍵輸入

    全志V853開發板原理圖

    BOOTSPI0 NANDUART BURNUSB FEL默認 MIPI 攝像頭MIPI CSI)V853 開發板板載 40Pin
    發表于 01-12 09:48

    香橙派Orange Pi 4/4B 開發板如何使用MIPI攝像頭拍照和錄像

    `香橙派OrangePi 4和Orange Pi 4B開發板, 最多可同時連接兩個 MIPI 攝像頭(官方配套的13MP攝像頭,型號:OV13850 ),一個為前置、另一個為后置。連接
    發表于 01-09 18:43

    全志V853開發板發布!開發板試用同步開放申請!

    V853開發板購買鏈接:https://www.hqchip.com/p/KFB-V853.html全志V853芯片是全志推出的面向邊緣AI視覺處理的AIoT芯片,
    發表于 07-01 10:46

    一文帶你看懂全志V853開發板原理圖

    )EMMC2 USREMMC BOOTSPI0 NANDUART BURNUSB FEL默認MIPI 攝像頭MIPI CSI)V853 開發板
    發表于 07-01 17:18

    【免費試用04期】全志V853開發板試用活動

    開發板V853是全志科技推出的高性能邊緣AI視覺處理芯片,適用于安防攝像頭、考勤機、智能后視鏡、掃描翻譯筆、運動相機、訪客機、行車記錄儀、智能樓宇類智能視覺類產品。為方便客戶及開發
    發表于 07-21 10:27

    【全志V853開發板試用】開箱及初識之美

    MIPI-LCD屏幕和一個雙攝像頭模組。規格參數主控:全志V853 (Arm A7 1GHz + RISC-V E907 600MHz + 1T NPU)DDR: 512MB DD
    發表于 08-21 23:47

    【全志V853開發板試用】全志V853開發板試用測評報告

    、以太網、音頻、屏幕、USB、TF卡等模塊, 適用于安防攝像頭、考勤機、智能后視鏡、掃描翻譯筆、運動相機、訪客機、行車記錄儀、智能樓宇類智能視覺類產品 。為方便用戶及開發者進行預研和開發,提供了該
    發表于 08-29 02:09

    一鍵實現V853開發板攝像頭自由

    視頻中所實現的攝像頭UI控制效果,是通過在全志V853開發板上使用InoneGUI+mpp+Aiinone-IDE方案快速搭建而成的,該demo打通了UI界面與攝像頭的通路,可以通過U
    發表于 09-08 13:41

    【開源硬件大賽】基于V853的智能交互攝像頭原理圖

    一,方案說明1.想實現一款可穿戴式的智能攝像頭,可以以眼鏡附件或者眼鏡的形式被佩戴者使用,基于全志V853的算力運行對使用者視野內的圖像進行檢測與識別,把返回的結果通過物聯網接入網絡,進而達到隔空
    發表于 11-29 16:32

    【開源硬件大賽】基于全志V853設計的全功能BTB學習開發板

    100ask_V853-Pro開發簡述核心資源簡述BTB核心,板載EMMC DDR V853 主芯片 AXP電源芯片背面
    發表于 12-07 15:03

    100ASK_全志V853-PRO開發板 環境配置及編譯燒寫

    0.前言 本章主要介紹關于100ASK-V853-PRO開發板的Tina SDK包的下載和編譯打包生成鏡像,并將鏡像燒錄到100ASK-V853-PRO開發板上。在進行100
    發表于 05-04 10:14

    PaddlePi-K210開發板除了支持ov2640 ov5640攝像頭外,還支持哪些攝像頭作為外設?

    想問一下PaddlePi-K210開發板除了支持ov2640 ov5640攝像頭外,還支持哪些攝像頭作為外設?能否
    發表于 09-14 07:13

    全志V853開發板雙目攝像頭模組原理圖20220624

    全志V853開發板雙目攝像頭模組原理圖20220624
    發表于 10-19 15:11 ?22次下載
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>