久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

泰山派RK3566 MIPI DSI點(diǎn)屏教程:從設(shè)備樹(shù)到Linux驅(qū)動(dòng)點(diǎn)亮0.23寸OLED

泰山派RK3566 MIPI DSI點(diǎn)屏教程:從設(shè)備樹(shù)到Linux驅(qū)動(dòng)點(diǎn)亮0.23寸OLED 泰山派這塊板子在嵌入式開(kāi)發(fā)者手里的熱度一直不低核心是瑞芯微 RK3566。這次要解決的問(wèn)題很具體用泰山派的 MIPI DSI 接口驅(qū)動(dòng)一塊 0.23 寸國(guó)產(chǎn) OLED 屏。很多人在這一步卡住不是因?yàn)榇a難寫而是“MIPI 點(diǎn)屏”和普通 SPI 刷屏完全是兩套思路。屏幕要亮起來(lái)不光是拉高幾根 GPIO而是 Linux 顯示鏈路從 VOP 到 DSI Host、再到面板驅(qū)動(dòng) IC 的完整配合。這篇文章會(huì)圍繞“泰山派 0.23 寸 MIPI OLED”給你一條可復(fù)用的調(diào)試路徑先看懂 MIPI 屏需要哪些參數(shù)再按要求配置設(shè)備樹(shù)補(bǔ)一段 panel 驅(qū)動(dòng)框架最后通過(guò)日志、framebuffer 節(jié)點(diǎn)和批量穩(wěn)定性腳本來(lái)驗(yàn)證屏幕是否真正被驅(qū)動(dòng)。判斷一塊屏能不能點(diǎn)亮第一步不是“寫代碼”而是先確認(rèn)環(huán)境和資料齊不齊。適合的讀者有兩類一是在泰山派或 RK3568/RK3588 等瑞芯微平臺(tái)上做過(guò)基礎(chǔ)開(kāi)發(fā)、想把小尺寸 MIPI OLED 點(diǎn)亮的玩家二是 Linux DRM/顯示驅(qū)動(dòng)方向的學(xué)習(xí)者想找一個(gè)短小、具體、能理解全流程的例子。1. 核心能力速覽先把結(jié)論放前面。這塊 0.23 寸國(guó)產(chǎn) OLED 屏通過(guò) MIPI 接口接到泰山派后軟件側(cè)要做的事情基本如下能力項(xiàng)說(shuō)明主控平臺(tái)泰山派RK3566 平臺(tái)帶 MIPI DSI 輸出屏幕接口MIPI DSI非 SPI/I2C初始化命令以 DSI 包發(fā)送給面板驅(qū)動(dòng)架構(gòu)Linux DRM 框架下的 panel 驅(qū)動(dòng)注冊(cè)到 mipi_dsi_driver屏幕資料需要屏廠規(guī)格書中的時(shí)序參數(shù)和 DSI 初始化序列硬件要求泰山派開(kāi)發(fā)板、0.23 寸 MIPI OLED 屏、串口調(diào)試線、供電穩(wěn)定軟件要求泰山派官方 Linux SDK、內(nèi)核源碼可編譯、設(shè)備樹(shù)支持啟動(dòng)方式內(nèi)核編譯后通過(guò)燒寫工具燒錄 boot.img 和 dtb接口能力kernel 啟動(dòng)后提供/dev/fb0、DRM 節(jié)點(diǎn)、sysfs 狀態(tài)節(jié)點(diǎn)批量驗(yàn)證可用 shell 循環(huán)做屏幕開(kāi)關(guān)、顯示切換和壓力測(cè)試適合場(chǎng)景小屏顯示、便攜設(shè)備、儀表顯示、方案預(yù)研、驅(qū)動(dòng)學(xué)習(xí)從材料看這套方案并不局限于 0.23 寸這一款屏。只要面板走的是 MIPI DSI 接口能拿到初始化序列和 timing同樣的框架可以平移到稍大的 DSI 屏上。換句話說(shuō)這篇文章教的是“泰山派 MIPI OLED 的驅(qū)動(dòng)鏈路”而不是某一家屏的特殊 hack。2. 適用場(chǎng)景與使用邊界2.1 適合什么項(xiàng)目0.23 寸 OLED 屏幕體積極小最典型的應(yīng)用是微型顯示模組、穿戴小屏、工業(yè)儀表、光機(jī)顯示方案。用泰山派 RK3566 來(lái)驅(qū)動(dòng)這種小屏主要原因是 RK3566 本身有完整的 VOP/DSI 顯示鏈路Linux SDK 也比較成熟能支撐后續(xù)的產(chǎn)品化開(kāi)發(fā)比如 UI 界面、網(wǎng)絡(luò)通信、傳感器數(shù)據(jù)回傳。這個(gè)方案的另一個(gè)價(jià)值是“國(guó)產(chǎn)屏 國(guó)產(chǎn)主控”的組合在供應(yīng)鏈上更靈活。驅(qū)動(dòng)代碼一旦穩(wěn)定下來(lái)后續(xù)換用同接口、同分辨率、同初始化方式的其他面板復(fù)用的工作量會(huì)小很多。2.2 不適合什么場(chǎng)景如果屏幕本身是 SPI 接口或者 I2C 接口的 0.23 寸 OLED那和本文說(shuō)的 MIPI 就不是一回事建議回到普通 GPIO 模擬或者 SPI 控制器驅(qū)動(dòng)不要生搬硬套 DSI 流程。如果屏廠連基礎(chǔ)數(shù)據(jù)手冊(cè)都不提供只有一根屏幕排線那也不建議貿(mào)然下手。MIPI 屏沒(méi)有 datasheet沒(méi)有初始化序列沒(méi)有時(shí)序參數(shù)基本靠猜調(diào)試周期會(huì)非常長(zhǎng)。這不是“技術(shù)不行”是“材料缺失”。2.3 版權(quán)與合規(guī)邊界屏幕的初始化序列、時(shí)序參數(shù)、寄存器配置通常來(lái)自屏廠規(guī)格書。個(gè)人學(xué)習(xí)時(shí)可以拿公開(kāi)驅(qū)動(dòng)或賣家提供的資料做驗(yàn)證但如果是商業(yè)項(xiàng)目務(wù)必從屏廠或代理商處確認(rèn)資料授權(quán)避免使用來(lái)源不明的私有配置。涉及產(chǎn)品發(fā)布、方案輸出時(shí)要保留好授權(quán)憑證。不要用打磨過(guò)、去標(biāo)識(shí)化的代碼冒充自己原創(chuàng)去二次分發(fā)。3. 泰山派 MIPI OLED 驅(qū)動(dòng)前置檢查點(diǎn)屏最怕一開(kāi)始就寫設(shè)備樹(shù)。先做三件準(zhǔn)備工作。3.1 確認(rèn)是你的屏不是只有一個(gè) MIPI 接口拿到 0.23 寸 OLED 后先記錄排線引腳定義。MIPI DSI 常見(jiàn)引腳包括供電、地、時(shí)鐘差分對(duì)、數(shù)據(jù)差分對(duì)、復(fù)位 GPIO、使能 GPIO部分屏還帶有背光控制但 OLED 自發(fā)光通常不需要單獨(dú)背光。引腳名會(huì)因?yàn)槠聊恍吞?hào)不同而變化比如 RESET、RESX、EN、VDDI、VCI要按照實(shí)際原理圖標(biāo)注來(lái)配。3.2 確認(rèn)泰山派引出的 MIPI DSI 通道泰山派 RK3566 原生帶 MIPI DSI但實(shí)際哪些引腳被引出、哪些引腳被其他功能復(fù)用要以泰山派底板原理圖為準(zhǔn)。常見(jiàn)做法是先用萬(wàn)用表量到屏幕座子上的信號(hào)是否連到主控對(duì)應(yīng)引腳尤其是復(fù)位和使能引腳不能只看絲印否則后面屏幕一直白屏還找不到原因。3.3 確認(rèn) Linux SDK 能編譯、能燒錄泰山派官方提供 Linux SDK不同版本內(nèi)核有差異。驅(qū)動(dòng) MIPI 屏至少要保證內(nèi)核源碼能編譯出 Image。設(shè)備樹(shù)能單獨(dú)編譯并打包進(jìn) boot 分區(qū)。燒寫流程能正常進(jìn)入 loader/maskrom 模式。串口能看到完整開(kāi)機(jī)日志。這一步如果沒(méi)準(zhǔn)備好后面所有設(shè)備樹(shù)改動(dòng)都無(wú)法驗(yàn)證。4. MIPI DSI 到 OLED 的驅(qū)動(dòng)鏈路拆解要理解為什么“MIPI OLED 點(diǎn)屏”不能只寫一個(gè)驅(qū)動(dòng)文件先看整條鏈路RK3566 VOP → DRM/KMS → DSI Host Controller → MIPI DSI 差分信號(hào) → OLED 面板驅(qū)動(dòng) IC在 Linux 驅(qū)動(dòng)里這條鏈路被抽象成三個(gè)角色角色作用VOP圖像輸出控制器負(fù)責(zé)把內(nèi)存中的 framebuffer 數(shù)據(jù)搬出來(lái)DSI Host Controller將并行圖像數(shù)據(jù)按 MIPI DSI 協(xié)議打包成差分串行信號(hào)DRM Panel Driver通過(guò) DSI 命令初始化屏幕配置時(shí)序提供 panel 狀態(tài)管理對(duì)于 0.23 寸 OLED 這種小屏圖像分辨率不高但因?yàn)樽叩氖?DSI 協(xié)議控制流程和普通 RGB 屏有明顯區(qū)別。關(guān)鍵在 panel 驅(qū)動(dòng)它在 probe 階段會(huì)建立 DSI 連接在 prepare 階段發(fā)送屏幕規(guī)格書里給定的一長(zhǎng)串初始化命令然后在 enable 階段真正讓面板進(jìn)入顯示狀態(tài)。接下來(lái)配置設(shè)備樹(shù)時(shí)你是告訴內(nèi)核“這里有一塊 MIPI DSI 屏復(fù)位腳是哪個(gè)enable 腳是哪個(gè)DSI 的 lane 和時(shí)鐘如何配置”。真正點(diǎn)屏?xí)r還需要面板驅(qū)動(dòng)里的 init sequence 來(lái)配合。5. 設(shè)備樹(shù)配置與 Panel 驅(qū)動(dòng)框架5.1 設(shè)備樹(shù)示例下面是一段簡(jiǎn)化但完整的 Rockchip 平臺(tái) MIPI DSI 屏設(shè)備樹(shù)結(jié)構(gòu)。注意GPIO 編號(hào)、時(shí)序參數(shù)、速率、lane 數(shù)和 resolution 都必須按屏幕實(shí)際規(guī)格修改不能直接套用。dsi1 { status okay; #address-cells 1; #size-cells 0; panel0 { compatible vendor,023-oled; reg 0; reset-gpio gpio3 RK_PA5 GPIO_ACTIVE_LOW; enable-gpio gpio3 RK_PA6 GPIO_ACTIVE_HIGH; pinctrl-names default; pinctrl-0 lcd_rst_gpio lcd_en_gpio; port { panel_in_dsi: endpoint { remote-endpoint dsi1_out_panel; }; }; }; }; dsi1_out { remote-endpoint panel_in_dsi; status okay; };這段代碼表達(dá)的邏輯是DSI Host 綁定一塊面板面板節(jié)點(diǎn)自帶 GPIO 控制并通過(guò) port endpoint 與 DSI 控制器的輸出端口連接。實(shí)際的 RK3566 SDK 中VOP、DSI、面板之間的關(guān)系往往通過(guò)video_phy、mipi_dsi1、route_dsi1等節(jié)點(diǎn)完成綁定。不同 SDK 版本命名不同比如有的叫dsi1有的叫mipi_dsi1。最終以泰山派 SDK 內(nèi)核里的arch/arm64/boot/dts/rockchip/目錄下原廠 dtsi 為參照。5.2 Panel 驅(qū)動(dòng)骨架內(nèi)核里點(diǎn)一塊 MIPI DSI 屏最核心的是實(shí)現(xiàn)一個(gè)mipi_dsi_driver。下面給一個(gè)通用框架#include linux/module.h #include linux/of_graph.h #include drm/drm_mipi_dsi.h #include drm/drm_panel.h #include drm/drm_modes.h struct oled_023_panel { struct drm_panel base; struct mipi_dsi_device *dsi; struct gpio_desc *reset_gpio; struct gpio_desc *enable_gpio; }; static inline struct oled_023_panel *to_oled_023_panel(struct drm_panel *panel) { return container_of(panel, struct oled_023_panel, base); } static int oled_023_panel_prepare(struct drm_panel *panel) { struct oled_023_panel *oled to_oled_023_panel(panel); /* 先上電、拉高 enable再拉 reset時(shí)序必須按屏幕規(guī)格書 */ gpiod_set_value_cansleep(oled-enable_gpio, 1); gpiod_set_value_cansleep(oled-reset_gpio, 1); mdelay(10); gpiod_set_value_cansleep(oled-reset_gpio, 0); mdelay(10); gpiod_set_value_cansleep(oled-reset_gpio, 1); mdelay(120); /* * 這里調(diào)用屏廠提供的 DSI 初始化序列 * 例如 mipi_dsi_dcs_write_seq(oled-dsi, cmd, data...); * 如果初始化序列很長(zhǎng)一般做成常數(shù)表統(tǒng)一發(fā)送。 */ return 0; } static int oled_023_panel_enable(struct drm_panel *panel) { return 0; } static int oled_023_panel_disable(struct drm_panel *panel) { return 0; } static int oled_023_panel_unprepare(struct drm_panel *panel) { struct oled_023_panel *oled to_oled_023_panel(panel); gpiod_set_value_cansleep(oled-reset_gpio, 1); mdelay(10); gpiod_set_value_cansleep(oled-reset_gpio, 0); mdelay(10); return 0; } static const struct drm_display_mode oled_023_default_mode { /* 示例參數(shù)實(shí)際以屏幕規(guī)格書為準(zhǔn) */ .clock 24000, .hdisplay 320, .hsync_start 320 40, .hsync_end 320 40 20, .htotal 320 40 20 20, .vdisplay 240, .vsync_start 240 10, .vsync_end 240 10 5, .vtotal 240 10 5 5, .type DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED, }; static int oled_023_panel_get_modes(struct drm_panel *panel, struct drm_connector *connector) { struct drm_display_mode *mode; mode drm_mode_duplicate(connector-dev, oled_023_default_mode); if (!mode) return 0; drm_mode_set_name(mode); drm_mode_probed_add(connector, mode); return 1; } static const struct drm_panel_funcs oled_023_panel_funcs { .prepare oled_023_panel_prepare, .enable oled_023_panel_enable, .disable oled_023_panel_disable, .unprepare oled_023_panel_unprepare, .get_modes oled_023_panel_get_modes, }; static int oled_023_panel_probe(struct mipi_dsi_device *dsi) { struct device *dev dsi-dev; struct oled_023_panel *oled; oled devm_kzalloc(dev, sizeof(*oled), GFP_KERNEL); if (!oled) return -ENOMEM; oled-reset_gpio devm_gpiod_get_optional(dev, reset, GPIOD_OUT_LOW); oled-enable_gpio devm_gpiod_get_optional(dev, enable, GPIOD_OUT_LOW); drm_panel_init(oled-base, dev, oled_023_panel_funcs, DRM_MODE_CONNECTOR_DSI); oled-dsi dsi; dsi-lanes 1; dsi-format MIPI_DSI_FMT_RGB888; dsi-mode_flags MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_LPM; drm_panel_add(oled-base); return mipi_dsi_attach(dsi); } static void oled_023_panel_remove(struct mipi_dsi_device *dsi) { struct oled_023_panel *oled mipi_dsi_get_drvdata(dsi); mipi_dsi_detach(dsi); drm_panel_remove(oled-base); } static const struct of_device_id oled_023_panel_of_match[] { { .compatible vendor,023-oled }, { } }; MODULE_DEVICE_TABLE(of, oled_023_panel_of_match); static struct mipi_dsi_driver oled_023_panel_driver { .driver { .name oled-023-panel, .of_match_table oled_023_panel_of_match, }, .probe oled_023_panel_probe, .remove oled_023_panel_remove, }; module_mipi_dsi_driver(oled_023_panel_driver); MODULE_LICENSE(GPL);這段代碼不是讓你直接拿去編譯而是把 MIPI DSI panel 驅(qū)動(dòng)的結(jié)構(gòu)拆清楚。實(shí)際開(kāi)發(fā)中你只要把屏廠規(guī)格書里的時(shí)序參數(shù)填進(jìn)drm_display_mode把初始化命令按 DSI 協(xié)議順序補(bǔ)到prepare函數(shù)里即可。很多初學(xué)者死磕“為什么屏幕白屏”最后發(fā)現(xiàn)問(wèn)題不是時(shí)序不對(duì)而是 reset 拉低后沒(méi)有等夠屏廠要求的等待時(shí)間。上電時(shí)序、復(fù)位時(shí)序、初始化命令延時(shí)任何一個(gè)不對(duì)都可能白屏。5.3 初始化命令的組織方式小尺寸 OLED 屏的初始化命令往往非常長(zhǎng)可能包含幾十條、上百條 DCS 命令命令格式通常是“命令號(hào) 參數(shù) Delay 時(shí)間”。建議把所有初始化步驟整理成數(shù)據(jù)表而不是散落在代碼里。例如struct panel_init_cmd { u8 cmd; u8 addr; u8 len; const u8 *data; u32 delay_ms; };初始化命令由屏廠以文檔或參考代碼形式提供通常是 C 數(shù)組、Excel 表格或者類似0xFF 0x10 0x13 ...的預(yù)覽序列。逐條翻譯成上述結(jié)構(gòu)體數(shù)組即可。這里沒(méi)有捷徑越大的屏、越新的驅(qū)動(dòng) IC初始化序列越復(fù)雜。6. 編輯設(shè)備樹(shù)與編譯燒錄泰山派 SDK 里的內(nèi)核目錄是編譯和查看設(shè)備樹(shù)的主戰(zhàn)場(chǎng)。設(shè)備樹(shù)源文件一般在kernel/arch/arm64/boot/dts/rockchip/下泰山派對(duì)應(yīng)的板級(jí) dts 文件名以tspi開(kāi)頭具體名稱取決于 SDK 版本。設(shè)備樹(shù)改動(dòng)后建議先單獨(dú)編譯 dtb。cd kernel make ARCHarm64 CROSS_COMPILEaarch64-linux-gnu- rockchip/rk3566-tspi.dtb如果 SDK 使用build.sh管理也可以直接執(zhí)行內(nèi)核打包命令但不同版本命令差異較大以泰山派官方文檔為準(zhǔn)。編譯后將 boot.img 燒錄到開(kāi)發(fā)板。燒錄工具常見(jiàn)為瑞芯微官方燒寫工具或者命令行工具。燒錄前把板子退到 loader 模式或 maskrom 模式進(jìn)不了燒錄模式的話檢查 USB 驅(qū)動(dòng)和 adb/fastboot 狀態(tài)。許多 Windows 用戶遇到“泰山派識(shí)別到 RK3566 但是是 adb 設(shè)備”大部分是燒寫工具版本不對(duì)或者驅(qū)動(dòng)沒(méi)有完整安裝。換用官方燒寫工具重新插拔 USB 并檢查“設(shè)備管理器”里的設(shè)備狀態(tài)會(huì)更快。7. 點(diǎn)亮后的接口驗(yàn)證與批量穩(wěn)定性測(cè)試屏幕驅(qū)動(dòng)合入并啟動(dòng)后不要只看“屏幕有沒(méi)有亮”。在 Linux 系統(tǒng)中點(diǎn)屏成功與否由多個(gè)接口節(jié)點(diǎn)反映出來(lái)這也是后面寫自動(dòng)化驗(yàn)證腳本的基礎(chǔ)。7.1 查看 DRM 連接狀態(tài)啟動(dòng)后通過(guò)串口執(zhí)行cat /sys/class/drm/card0-DSI-1/status如果狀態(tài)是connected說(shuō)明鏈路已經(jīng)建立。如果顯示disconnected說(shuō)明 panel 沒(méi)有成功注冊(cè)到 DSI controller優(yōu)先查 compatible、probe 函數(shù)是否執(zhí)行、設(shè)備樹(shù)節(jié)點(diǎn)是否被正確 probe。7.2 查看 framebuffer 節(jié)點(diǎn)很多泰山派 Linux 系統(tǒng)默認(rèn)使能 DRM framebuffer 模擬層啟動(dòng)后會(huì)生成/dev/fb0。ls -l /dev/fb0 cat /sys/class/graphics/fb0/namefb0存在不代表屏幕內(nèi)容正常只能說(shuō)明顯示通道已經(jīng)分配了顯存。實(shí)際顯示測(cè)試可以往 framebuffer 里刷一張純色圖比如dd if/dev/urandom of/dev/fb0 bs1024 count64如果屏幕有隨機(jī)噪點(diǎn)或顏色變化說(shuō)明 framebuffer 到屏幕的像素通路是通的。注意這個(gè)操作會(huì)破壞當(dāng)前界面顯示測(cè)試完通常需要重啟顯示服務(wù)。7.3 DRM 調(diào)試狀態(tài)瑞芯微內(nèi)核的 DRM 調(diào)試信息很有用。查看當(dāng)前 VOP/DSI 狀態(tài)時(shí)可以執(zhí)行cat /sys/kernel/debug/dri/0/summary cat /sys/kernel/debug/dri/0/state輸出內(nèi)容會(huì)包含 active connector、encoder、crtc、plane 等信息。判斷標(biāo)準(zhǔn)是是否有DSIconnector是否有 active 的 plane分辨率與屏幕是否匹配。不同內(nèi)核版本路徑可能有差異必要時(shí)先ls /sys/kernel/debug/dri/確認(rèn)。7.4 批量穩(wěn)定性測(cè)試腳本0.23 寸 OLED 驅(qū)動(dòng)調(diào)試中常見(jiàn)的一個(gè)隱患是“首次能亮第二次黑屏”或“反復(fù)睡眠/喚醒后花屏”。這類問(wèn)題需要做批量開(kāi)關(guān)測(cè)試。下面是一個(gè) shell 循環(huán)示例#!/bin/bash CNT0 FAIL0 while [ $CNT -lt 50 ]; do CNT$((CNT 1)) echo cycle $CNT # 關(guān)閉顯示 echo 1 /sys/class/graphics/fb0/blank || true sleep 0.2 # 打開(kāi)顯示 echo 0 /sys/class/graphics/fb0/blank || true sleep 0.5 # 檢查 DRM 狀態(tài) STATUS$(cat /sys/class/drm/card0-DSI-1/status 2/dev/null) echo DSI status: $STATUS if [ $STATUS ! connected ]; then FAIL$((FAIL 1)) echo cycle $CNT fail fi done echo done, fail$FAIL如果循環(huán)里出現(xiàn)disconnected或屏幕亮滅狀態(tài)丟失就重點(diǎn)查 panel 驅(qū)動(dòng)里的unprepare/preprepare邏輯、GPIO 復(fù)位時(shí)序和開(kāi)機(jī)時(shí)初始化的命令是否在每次喚醒時(shí)都完整執(zhí)行了一次。8. 資源占用與顯示性能觀察8.1 分辨率小不代表內(nèi)存占用小0.23 寸 OLED 屏分辨率通常不高假設(shè)是 320x240 的 RGB888 顯示單幀顯存大約是320 x 240 x 4 307200 bytes ≈ 300 KB這個(gè)數(shù)值很低對(duì) RK3566 來(lái)說(shuō)完全無(wú)壓力。但實(shí)際顯示鏈路上還可能疊加 UI 合成、圖層縮放等內(nèi)存占用不能只看單層 framebuffer。8.2 CPU/GPU 占用觀察通過(guò)串口執(zhí)行以下命令觀察當(dāng)前負(fù)載top -n 1 cat /proc/meminfo靜態(tài)顯示一張全屏圖片時(shí)CPU 占用通常極低如果跑 Qt 或 Weston 動(dòng)畫渲染CPU 和 GPU 負(fù)載會(huì)上升。調(diào)試階段建議只用純 framebuffer 或簡(jiǎn)單 UI減少其他因素干擾。8.3 MIPI 速率與時(shí)序的關(guān)系DSI 屏驅(qū)動(dòng)穩(wěn)定性常受 lane rate 和 pixel clock 影響。pixel clock 與分辨率、刷新率和 blanking 參數(shù)有關(guān)。如果圖像閃爍、花屏或者只有部分區(qū)域刷新優(yōu)先懷疑時(shí)序參數(shù)與 MIPI 速率不匹配而不是 panel 驅(qū)動(dòng)里的初始化命令發(fā)錯(cuò)了??梢允褂靡韵路绞酱_認(rèn)當(dāng)前 DSI 參數(shù)dmesg | grep -iE dsi|lane|clock調(diào)試時(shí)可以降低 lane rate觀察是否變穩(wěn)定。如果下降后穩(wěn)定說(shuō)明鏈路質(zhì)量不足需要查接線、差分走線長(zhǎng)度、電源紋波而不是繼續(xù)加代碼。9. 常見(jiàn)問(wèn)題與排查方法驅(qū)動(dòng)泰山派 MIPI OLED 時(shí)會(huì)遇到很多相似現(xiàn)象。下面把高頻問(wèn)題整理成表格遇到時(shí)按順序排查問(wèn)題現(xiàn)象可能原因排查方式解決方案開(kāi)機(jī)日志沒(méi)有 DSI/panel 相關(guān)輸出設(shè)備樹(shù) status 沒(méi)打開(kāi)或 compatible 不匹配dmesggrep -i dsi 查看有沒(méi)有 probepanel probe 失敗GPIO 節(jié)點(diǎn)名不對(duì)、復(fù)用沖突、供電沒(méi)上查看 dmesg 中的 probe error、GPIO 占用狀況對(duì)比設(shè)備樹(shù)與驅(qū)動(dòng)中的 GPIO 名稱檢查 pinctrl屏幕白屏初始化序列未執(zhí)行或 RESET 時(shí)序不對(duì)查看 dmesg 是否有 DSI transfer 報(bào)錯(cuò)示波器量 reset按屏廠規(guī)格書調(diào)整 reset 高低電平順序和延時(shí)屏幕能亮但出現(xiàn)花屏timing 參數(shù)不對(duì)或 MIPI rate 偏快降低 lane rate對(duì)比分辨率、porch將 dts/driver 中的 hdisplay/vdisplay/porch 參數(shù)與 datasheet 逐項(xiàng)核對(duì)系統(tǒng)起來(lái)后沒(méi)有/dev/fb0內(nèi)核沒(méi)開(kāi) framebuffer 模擬層cat /proc/fb查看內(nèi)核配置打開(kāi)CONFIG_DRM_FBDEV_EMULATION循環(huán)睡眠喚醒后黑屏unprepare或prepare沒(méi)有完整復(fù)位面板查看 dmesg抓完整喚醒日志在每次 display on 時(shí)重新發(fā)送初始化命令燒錄后設(shè)備識(shí)別為 RK3566 但無(wú)法燒寫USB 驅(qū)動(dòng)異常或燒寫工具版本不一致設(shè)備管理器查看設(shè)備狀態(tài)重裝瑞芯微 USB 驅(qū)動(dòng)換官方燒寫工具開(kāi)機(jī)后 adb 狀態(tài)異常adb 驅(qū)動(dòng)沖突或 USB 線問(wèn)題重新插拔/換線檢查設(shè)備管理器中是否被識(shí)別成其他設(shè)備屏幕只有上半部分顯示hdisplay/timing 參數(shù)錯(cuò)誤或格式為 RGB565/RGB888 不匹配dmesg grep format把 dsi format 與面板支持顏色格式對(duì)齊屏幕亮但閃爍明顯blanking 參數(shù)不對(duì)或像素時(shí)鐘偏低用示波器看 DRDY/HSYNC/VSYNC按屏廠規(guī)格書改 porch 參數(shù)以上問(wèn)題在 RK3566、RK3588 等瑞芯微平臺(tái)點(diǎn)屏?xí)r都很常見(jiàn)排查順序建議是先看 dmesg 有沒(méi)有 panel probe再看/sys/class/drm/card0-DSI-1/status再量硬件 GPIO最后才去翻初始化命令。10. 最佳實(shí)踐與規(guī)范建議10.1 建立一套可回溯的配置基線每塊屏都有自己的 dts 配置、panel 驅(qū)動(dòng)、初始化命令表、GPIO 定義。強(qiáng)烈建議在工程目錄里建一個(gè)panel/文件夾把屏幕型號(hào)、datasheet 版本、初始化序列來(lái)源、修改日期和適配人記錄到 README。這個(gè)看起來(lái)多余但換人接手時(shí)會(huì)省下大量溝通成本。初始化命令表從屏廠拿到后不要直接在代碼里改。先把原始序列原樣保留然后通過(guò) git diff 對(duì)照每次修改。很多花屏問(wèn)題就是初始化序列中間差了一條命令而差的那一條往往是在“順手優(yōu)化”時(shí)刪掉的。10.2 用最小配置驗(yàn)證第一次接觸新屏幕不要一上來(lái)就接復(fù)雜 UI。建議先關(guān)閉 HDMI、關(guān)閉其他顯示輸出只保留 DSI 輸出使用 framebuffer 測(cè)試或者簡(jiǎn)單 DRM 程序顯示純色、漸變、網(wǎng)格圖。這樣能快速判斷鏈路不被應(yīng)用層干擾。10.3 硬件檢查順序優(yōu)先于代碼遇到白屏先量屏幕供電電壓再量 RESET 引腳是否有電平翻轉(zhuǎn)再看 MIPI 差分信號(hào)是否穩(wěn)定。如果 MIPI 總線沒(méi)有波形后面的問(wèn)題都談不上。很多時(shí)候“點(diǎn)亮失敗”的根本原因在硬件連接和電壓不穩(wěn)不在驅(qū)動(dòng)代碼。10.4 合規(guī)與授權(quán)0.23 寸國(guó)產(chǎn) OLED 的驅(qū)動(dòng)方式千變?nèi)f化如果屏廠提供的初始化序列帶保密標(biāo)識(shí)不要公開(kāi)到博客或開(kāi)源倉(cāng)庫(kù)。個(gè)人學(xué)習(xí)沒(méi)有太大風(fēng)險(xiǎn)但如果要產(chǎn)出技術(shù)文章、開(kāi)源工程或商業(yè)方案建議用官方允許公開(kāi)的驅(qū)動(dòng)代碼或自行反推驗(yàn)證后再分享。11. 總結(jié)與下一步泰山派通過(guò) MIPI 驅(qū)動(dòng) 0.23 寸 OLED 屏本質(zhì)是把瑞芯微 Linux 顯示鏈路從 VOP 到 DSI Host 再到面板完整打通。建議第一次調(diào)試時(shí)先用最小配置驗(yàn)證鏈路關(guān)閉多余顯示輸出、只保留 DSI、寫好設(shè)備樹(shù)、跑通 panel probe然后逐項(xiàng)補(bǔ)齊初始化命令。最容易踩的坑是 reset 時(shí)序、porch 參數(shù)和 GPIO 復(fù)用這幾項(xiàng)占用整個(gè)調(diào)試周期的大部分時(shí)間。如果你手頭正好有同樣的小尺寸 MIPI OLED 屏下一步優(yōu)先做兩件事第一完整閱讀屏廠規(guī)格書里的 timing 和初始化序列把數(shù)據(jù)整理成表第二在泰山派 SDK 里找到原廠 dtsi 中最接近的 DSI panel 節(jié)點(diǎn)復(fù)制一份出來(lái)改。這樣做會(huì)比從零寫驅(qū)動(dòng)快很多。最后提醒一句保存好每次修改后的 dts 和初始化命令標(biāo)注“改了什么、為什么改”。很多屏幕驅(qū)動(dòng)問(wèn)題不是一次性寫出來(lái)的而是在反復(fù)嘗試中一點(diǎn)點(diǎn)調(diào)出來(lái)的。建議收藏備用后續(xù)換屏或者換平臺(tái)時(shí)可以直接復(fù)用這套調(diào)試思路。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
你操综合| 欧美另类色图片| 青草伊人久久| 99re6久热只有精品6在线直播| 蜜臀视频网站| 91成人亚洲色图| 久久久久久久久久久久久久久性生活视频 | 日韩二三区| 欧美国产伊人久久久久| 亚洲欧洲日本精品中文a∨| 亚洲在钱| 小骚逼被操的爽不爽| 亚洲激情在线一区二区| 操逼日批| 久久精品国产亚洲av水密被窝| 麻豆AV短剧| 色情五月综合婷婷| 色呦呦呦在线观看视频| 影音先锋每日最新资源在线观看| 国产精品96| 熟女精品一区二区在线观看| www.天天干| 天天草夜夜草高潮片| 亚洲天堂另类| 91麻豆一二三区| 亚洲影视综合网| 欧美人妻久久精品二区三区| 搡老女人老熟女91| 99re视频这里只有精品| 国产欧洲精品亚洲午夜拍精品| 国产精品天美传媒| 亚洲天堂男人在线| 成视频在线观看免费看| 亚洲最大AV网| 国产伦乱91| 人人 操人人 操人人| 久久尹人大香焦视| 97精品一区| 啊嗯嗯啊好大好爽| 日日噜噜夜夜久久亚洲一区二区 | 人人喜人人妻| 日本韩欧美在线播放a| JIZZJIZZ亚洲女人被躁| 久久久久久久人妻丝袜| 夜夜躁狠狠躁日日躁av| 国产精选视频| 九久精品| 亚洲无码久久久久久久| AA丁香综合激情| 激情第四色| 狠狠干狠狠色| 人妻天天夜夜爽一区二区| 看日韩操逼| 亚洲欧洲日韩国产自在线| 日欧亚洲二三区大片不卡| 欧美人体性爱互联网第一页婷婷日本| 蜜臀无码一区二区| 97亚洲欧美| 99久久99九九99九九九| 大奶的诱惑| 综合久久97| 日韩三级在线观看网站| 国产又操| 国产a级精品| 中文字幕 av v| 999日韩中文精品观看视频。| 日本人体九九九九九九| 色第一页| 蜜臀久久99'精品久久久| 搡老熟女国产1000部| 人妻少妇无码 | 成人av性爱电影在线观看| 日韩亚洲欧美中文字幕| 亚洲免费成人在线高清无码视频| 亚洲无码久久久久久久| 九久久九精品视频| 天堂俺去俺来也www久久婷婷| 亚洲麻豆av一区二区| 亚洲日韩视频二区| 亚洲成人网站在线观看| 91oumei| 一区二区 韩日AV| 五月色综合| 99免费视频| 深爱激情五月天| 人人妻人人操人人乐| 熟妇一区二区三区| 九七人妻在线| 少妇熟女一区二区三区| 一级性爱视频免费在线| 无码乱人伦中文视频| 亚洲精品乱码久久久久久蜜桃麻豆 | 一级乱伦网站| 野狼激情网| 九一综合网| 九九九九九精品视频| 中文AV制服乱伦| 91粉嫩萝控精品福利网站_精品影音先锋国| 日韩有码免费视频| 熟妇高潮二区三区| 乱伦av国产| 久久综合中文国产| 竹菊一区二区三区AV线| 嫩草美女久久| http://qxhbdz.com| 9久精品视频在线观看| 精品视频一区二区| 久草视频制服诱惑| 蜜臀va69| 久草精品国产99| 色爱三区| 欲色综合| 国语对白在线播放视频| 日韩人妻少妇中文字幕| 色与欲影视天天看综合网| 欧美亚洲综合高清在线| 婷婷综合在线| 97操综合| 中文字幕aⅴ在线视频| 夜夜一区二区| 一个人免费视频观看在线WWW| 啪啪一区| 精品日韩人妻精品一二三区| 亚洲 中文 女同| 亚洲色婷婷综合久久一区二区三区| 亚洲成人在线高清| 精品超碰中文在线| 啊啊啊啊免费视频| 国产99 中文字幕日韩小视频| 狠狠图片青青草| WWW.操逼.COM| 综合干干干av久久久综合网| 97欧美日韩| 激情五月婷婷综合| 屁股久久久久久| 日韩人妻少妇 一区二区三区| 国产精品夜夜夜| 日韩一级特黄av毛片| 最新亚洲风情电影| .精品人妻一区二区三| 射 色综合| 另类欧美色| 国产九九九九九九九九| 懂色影视久久| 麻豆国产原创AV色哟哟| 翔田千里A片一区二区| 亚洲日本加勒比在线| 97超碰超| 97玖玖超碰| 亚洲,日韩,欧美,成人播放| 91 国产丝袜在线放观看| 五月丁香激情四射| 欧美激情久| 太久视频| 超碰在线91| 91色女| 国产又黄又粗又猛大片| 2019AV天堂| 国产精品人妻熟女aⅴ| 91少妇香蕉久久精品| 爽 好舒服 无码刺激久久| 新怡红院| 91麻豆天美国产欧美日| ji熟女.com| 久久久久久久久久精| a v网站在线播放| 欧美,日韩,中文,另类| 国产男人又猛又粗又爽| 亚洲熟妇A V黑人| 国产精品对白内射| 日韩一级特黄av毛片| 久久久久幕乱码| 狠狠操狠狠| 国内偷拍精品一区二区| 久久少妇视频| 久久草草欧美精品| 婷婷五月天丁香| 日韩无码精品综合久久| 日韩精品一区二区人人人| 青青草吊丝| 国产视频不卡在线观看| 亚洲成人精品在线一区| 91黑人狂躁丰满熟妇| 亚洲欧美日韩电影网站一区| 国产丝袜视频| 久久久久久精品免费看A级| 亚洲极品| 九九热这里只有在线精品视 伊人草 成人菠萝蜜视频在线观看 | 亚洲最大AV网| 超碰精品国产无码| 亚洲黄色电影| 在线五区| 91男人天堂网| 无码人妻丰满熟妇奶水区毛片| 韩国一级做A片免费的| 中文操逼字幕| 欧美性夜| 五月天婷婷社区| 99色日| 精品一区二区啪啪啪| 神马久久久久久伦理片| 欧美性爱日韩性爱| 日本免费一级AAA大片器| 青草精品视频-日本久久久久网站| 人澡逼| 老汉网| 亚熟在线| 精产国品一区二三产品| 国产自产91区13区| 日韩精品三区四区| 久久久久婷婷| 99久久综合网| 五月婷婷六月激情| 九久9精品| 中文字幕在线日亚洲9| 大香蕉黄色一级片免费看| 日韩亚洲欧美中文字幕| 日本色日夜干| 亚洲伊人久久综合97| 青青青草原| 亚洲AO在线| 色色五月婷婷| 国产亚洲日本精品在线| 全球成人中文在线| 十八禁视频一区二区| 国产内射爽爽大片| 亚洲欧洲成人在线电影| heyZO天然素人无码AⅤ专区| 人人妻人人狠人人| 亚洲无码99| 草b在线| 乱精品一区字幕二区| 97人人草| 国产精品对白内射| 偷拍亚洲高清图片| 亚洲爱爱视频一区二区| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 亚洲狠狠入| 啪啪啪男女亚洲中文字幕99| 97这里有精品| 一级一性爱免费视频| 免费人成毛片乱码| 亚洲天堂中文字| 欧美日韩精品一区二区三区高清| 久久99午夜精品一区人妻| 影音先锋中文字幕日本好一区二区| 久久精品国产免费观看99| www.99热| 伊人991| 久操影视| 一区二区 日韩 欧美 国产 传媒| 亚洲骚男同com| 99re这里只有精品9| 激情天天视频| 91大胆欧美| 日日做夜狠狠爱欧美黑人| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 97超碰色五月| 天堂亚洲精品久久老牛| 亚洲不雅视频1区二区| 国产JDAV无码视频在线观看| 丁香五月性| 69视频福利导航| 亚洲高潮影院| 国产欧美一级在线观看| 加勒比在线视频| 中文字幕午夜精品久久久| 国产精品美女| 国产 码在线成人网站| 日韩一999精品| 天天影视91看看| 懂色AV一区二区三区| 中国黑人三级片网站上区| 加勒比99999| 蜜乳AV网址| 大香蕉欧美伊| 97在线观看| 久草福利在线资源站| 乱理日韩中文| 91免费看一区二区三区| 91美女中出| 福利五区| 日韩在线76| 亚洲97资源| 亚洲成人福利电影免费| 国产中文福利| 100啪啪视频大全| 中文字幕二区日韩天堂| 亚洲影视综合| AV天天在线观看| 欧美九九九九九| 亚洲一区中文字幕一区| 久9综合在线| 欧美不卡二区| 99热日| 隔壁邻居波多野结衣中文字幕| 九九九久千久久激情蜜桃在线看 | 99久久无码| 麻豆 欧美 日韩| 欧美高清色| 超碰97护士| 狠狠综合| 国产精品国产亚洲区艳妇糸列| 狠狠躁AV| 日韩无码三级影院| 亚洲宗合网| 最新中文字幕精品在线| 天天干夜夜| 丁香五月电影| 欧美精品二区视频在线| 97久久免费| 国产极品99热在线播放69| 亚洲老司机123专区| 日韩中文字幕精品一区在线| 激情四射五月天| 一起草日韩| 午夜精品久久久99热蜜桃的功能特点| 国产女性无套 免费观看| 男人天堂最新手机版在线青青草| 六月丁香五月婷婷| 欧洲黄色网| 五月天加勒比啪| 精品超碰国产| 亚洲欧美一区二区网址| 韩国国产欧美情侣视频在线| 亚洲五月婷婷| 午夜福利无毒不卡| 久草免费在线视频| 久久九精品| 97色婷| 99久久99久久免费精品蜜臀| 91伊人影视综合| 精品视频久久区| 国产精品岛国片在线观看| 大香久久| 91国精产品| 婷婷久草| 激情综合二| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 九九精品美女高溯喷水| 东北丰满熟女国产一区| 欧美日韩中文视频播放| 视频二区熟女人妻| 99热精品青草在线 | q2午夜理论片夜色av| 丰满人妻一区二区三区免费,| 性饥渴少妇av无码毛片| 国产人妻久久精品一区二区三区| 日韩啪啪啪视频| 婷婷五月天成人网| 亚洲天堂人妻熟妇视频| 激情综合网亚洲| 夜夜爽夜夜摸夜夜操免费视频| 九九久久九九久久| 一级免费啪啪片| 成人无码在线视频网站| 97在线免费视频| 天天色综亚洲91污| 人妻天天爽天天爽三区| 中文字幕视频在线观看| 大香蕉伊然在亚洲91| 综合国产97| 久久精彩免费视频| 欧美麻豆成人同性GⅤ在线| 翔田千里无码一区| 国产午夜精品在线观看| 东京热双插| 校园春色 亚洲| 极品AV网站在线观看| 精品久久久久9999| 久久久久精| 五月综合视频| 天堂种子在线www网资源| 精品九九国产无码| 综合久久久久久久久91| 亚洲一区二区在线观看91| 亚洲色图日韩丝袜制服一区二区五月在线| 激情五月天校园春色网| 欧美九一精品久久久熟妇| 中国黑人三级片网站上区| 中文高清一区二区的| 九色婷婷| 亚洲天堂综合AV| 99久久99久久综合| 色五月亚洲| 午夜婷婷| 亚洲另类久操网| 色五91| 91AV老熟女视频| 精品无码久久久久久久久果冻糖心 | 国产高清自拍视频| 精品无码欧美三级| 亚洲欧洲自拍图片专区满春格| 久久大黄片| 欧美国产精品久久九九| 91精品人妻偷情| Av手机版天堂网| 国产成年女人免费视频播放a| 国产精品亚洲色婷婷久久久| 大香网站| 成功精品影院| 日本淫色网| 中文字幕少妇色| 欧洲乱码一区二区| 国产精品久久久久久久久久久久久久久久 | 岛国片在线播放| 亚洲色系另类精品国产| 手机看av网站在线看| 久久婷婷亚洲| 天天综合AV| 中文字幕十五区| 东京热99999| 欧美综合色图片| 欧美综合网在线| 日本色色视频网站| 综合一区中亚洲国产成人综合精品| 色五月综合| 亚码激情| 精品无码一区二区人妻久久蜜桃| 色婷五月天| 精品一区二区三区四区女| 超碰日韩美妻| 一区二区高清视频| 最新日产中文在线麻豆| 欧美极品女人的天堂| 国产不卡中文字幕免费avi| 国内成人圈中文字幕无码视频| www.91视频网| 黄片com.| 婷婷五月天久久精品视频一区二区三区 | 亚洲中文字幕妇伦久久| 欧美激情久久久久| 高潮精品| 久热9| 99热这里只有是精品10| 成·人免费午夜在线观看| 国产一区二区a毛片| 一区二区激情国产熟女| 天天操天天日天天干| 97欧美| 欧亚性爱视频免费看| 黄页大片在线观看| 肥佬影院91| 制度丝袜99| 嗯嗯嗯好爽| 大干人妻| 国产树林里野战在线看| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 精品少妇高潮久久| 亚洲性爱免费电影| 亚洲、日韩、综合、另类| 91天天综合在线观看| 操www| 国产无遮挡| 99999久久精| 久久久久国产一区二| 精品国产国产AV| 亚洲网站一区二区在线| 91neishe| 伊人国产成人av网站| 任你爽视频| 日韩青久久| 操逼片中文| 91麻豆一二三区| 亚洲图片日本AⅤ欧美在线| 九九玖玖精品| 91露脸熟女专区| 欧洲射精91| 毛片久久| 国产a级精品| 亚洲网站一区二区在线| 淫色网综合| 久久久新亚洲AV| 91欧美高清| 亚洲在线91| 天天欧美色| 天天噜| 神马久久久久眼| 亚洲无码电影久久久| 久久精品亚洲婷婷| 日本中文字幕不卡视频| 九九视频黄色片| 快点操死我| 97色冈| 天天欧美色| 97在线青| 天堂а√在线最新版在线| 美腿丝袜偷拍亚洲欧美| 精品高清一区二区三区三州| 成人久久久精品| 亚洲女毛多水多21P| 人妻少妇久久| 亚洲一区二区三区久久 亚洲一区二区| 欧美色图第一页| 密臀在线免费观看| 国产亚洲女v在线观看| 啊嗯嗯啊好大好爽| 男人的天堂亚洲| 黄色免费一级在线毛片| 亚洲区限制级| 亚洲久热| 影视综合无码少妇| 好湿好紧视频| 亚洲 欧美 小说| 精品中文字幕一区二区l - 百度| 久久精品国产亚洲粉嫩| 午夜性| 日韩乱插| 日本αv| 丰满丝袜少妇AV| 亚洲色色色| 自拍偷拍国产欧美日韩韩| a片亚洲一本通视频| www.久久爱| 韩国手机不卡无码三级视频| 亚洲双插| 午夜欧美神马久久久久| 中文字幕 国产区| 久久成人国产精品| 91亚洲欧美激情| 亚洲无码超碰免费| 欧美久久人体| 97资源欧美| 婷婷综合网| 隔壁邻居波多野结衣中文字幕| 欲色综合| 伊人少妇久久久| 观看视频图片一区二区三区| 日本一级黄色电影| 中日韩久久久| 无码精品久久| 色姑娘综合网| 日韩精品-原创伙伴| 青草影院内射高潮| 99精品热| 国产性感在线观看| www.狠狠干.coom | 国产熟妇一区二区| 99国产天美| 超碰97起碰| 我爱大香蕉| 婷婷视频在线免费观看| 欧美一级特黄淫片在线观看| 国产一区二区成人av在线播放| 78m啪啪啪| 亚洲色图欧美色图在线播放| 99热日| 成人热久久精品| 色诱中文字幕| 色 婷97| 久热久一区二区三区| 日本免费中文一区二区三区四区| 90后性网国产欧美| 黄色av一区二区在线| 无码精品蜜桃一区二区三区ww| 俄罗斯一区二区视频在线观看| A级片一区| 亚洲无线观看久久| 亚洲中文字幕在现观看| 亚洲综合在线高清| 一二三啪啪专区| 久久的网站啊啊啊啊啊| 欧美天天谢综合网| 欧美中文狠| 欧美伦乱爱| 久久夜夜夜| silk lablo在线观看一区二区| 99操| 91AV天美在线视频| 久久精品成人| 唯美清纯 妖精视频| 亚洲资源站| 天美传媒精品一区二区| 91精品无码久久久久久久| 日韩精品在线放| 天天插夜夜操| 日韩乱伦视频| 天天看综合网| 制服少妇欧美| 亚洲乱熟女一区二区| 91精品导航| 青娱乐休闲视频在线观看| 国语对白露脸XXXXXX| 日本性一区| 国产精品欧美激在线| 久久97资源 网| 免费超碰97久久| 色综合超碰超| 久久久无码精品人妻二区 | 色爱天堂| 操国产高清| 99久国产精品午夜性色福利| 亚洲小电影免费涩涩成人在线高清| 性做久久久久久久| 九九热超碰| 久久久久无码| 91九色丰满高潮| 不卡视频一区蜜桃视频 | 国产久久日| 在线 欧美 亚洲| 欧成人精品H无码| 午夜a成v人电影| 亚洲暴力强奸AV| 国产11页| 97视频在线免费播放| 97美日韩视频| 青青免费在线视频一区| 26uuu最新| 天天躁日日躁AAA片李宗瑞| 99色综合| 国模91| 午夜毛片亚洲精品片国产久久久| 美国aaaaa一级黄片| 深爱激情五月天| 大香蕉伊人在线成人AV在线观看| 久久精品成人| 都市久久精品激情亚洲| 超碰人人妻| 欧美78| 欧美综色欧| 国产高清吃奶免费视频网站| 久久女婷| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 国产免费永久精品无码| 久久蜜桃综合网| 91五十路| 激情六月天| 爱丝福利| 午夜偷拍久久熟女| 欧美 日韩 另类 亚洲| 97综合| 人人妻人人狠人人| 大香蕉综合久久| 97操b| 国产一区二区三区导航| 熟妇高潮一区二| 91福利网在线观看| 香蕉视频欧美一卡二卡| 亚洲精品人妻吞精av| 老女人碰碰在线碰碰视频| 欧美亚洲中文| 精品无码久久久| 天天躁日日躁狠狠狠躁| 一个色导综合| 一级黄碟在线观看| 久操视频在线观看| 丝袜熟女2P| 久久精品区| 精品久热| 超碰天天去日穴| 一起草av| 久久久精选| 熟女人妻一区二区三区| 超碰9 7女人| 你想操日本小逼吗| 国产自产22区| 欧美黑人精品一区二区| yazhouzaixian| 欧美日本国产日韩激情视频| 99热免费| 一级片在线观看高清无码| 色老汉色| 久久av成人无码免费| 91天美传媒在线观看| 午夜福利精品| 欧美色图97| 亚洲黄色影视| 欧美人妻制服| 五月色网| 婷婷超| 丝袜综合色图| 韩国成人精品久久久免费看| 超碰一区二区| 免费观看有码高清视频| 国产精品福利视频| 神马久久久久久久久久久久| 日本三级A片网站com| 久久人体一区二区| 欧美性爱在线无码| 78精品| 中文字幕片| www..com操老师| 91久热| 亚洲男人天堂Av| 亚洲麻豆av一区二区| 97干在线看| 国产精品永久免费10000| 黄色不卡视频| 黑丝少妇| 在线播放成人高清免费视频| 亚洲情色综合网| 丁香五月综合| 欧美经典一区二区三区| 欧美丝袜亚洲| 久草资源在线视频官方总站日韩丝袜美腿| av天堂精品久久| 日韩精品 欧美激情| 九九玖玖精品| 夜夜久久| 九九在线视频| 女同女同恋久久级三级| 酒色综合网| 中文字幕人妻色偷偷久久皮| 91黑丝在线播放| 亚洲密乳AV| 欧美91变态| 国产精品久久久久久久免牛肉蒲团| 97五月天| 性在久久久久久| 日本孕妇一区二区视频操逼免费看| 欧美情色贴图| 蜜桃无码AV一区二区| 人人操 欧美| 日本高清视频在线观看黄已三辽| 超硑97精品| 99热欧美| 熟女人妻一区二区三区| 操屄日韩| 蜜臀网 一区| 91精品国久久久久久无码| 伊人影院中文字幕| 欧美黄色大香蕉一区二区| 777AV电影| 超碰97人妻| 国产精品欧美在线观看| Aa东京男人的天堂| 色哟哟-国产专区| 97AV爱| 久久精品性| 人、人、摸,人、人、草| 人人看黄色视频| 亚洲另类天堂| 97欧美资源| 99草精| 亚洲 综合 第一页| 久久久久久久六六| 久久蜜色情在线视频xxx免费观看| 亚州少妇| 熟女精品一区二区三区| 人妻少妇精品一区二区三区| 中国一区二区亚洲人妻| 国产熟女乱论| 国产av又色又爽又黄| 国产高清精品一区二区三区毛片 | 九九久久一区二区伦理| 一牛影视成人片免费| a片 xxxx受爽视频| 亚洲无码电影久久久| 亚洲全色网| 黄片www视频免费| 在线亚洲欧美| 日韩欧美操逼xxx| 精品免费视频国产一区| 超碰精品日韩欧美国产| 日本成a人v网站在线观看| 狠狠婷婷亚洲中文综合久久| 翔田千里AV无码秘 三区| 毛片一区二区| 亚洲欧美国产va在线播放频| 情趣丝袜无码操逼视频| 中文字幕美女91| 成人a大片在线观看| 国产一级高跟丝袜| 亚洲成A∨人影院在线欢看| 日本高清有码网址视频| 丁香六月婷| 91狠| 中文字幕在线高清男人的天堂| 91操碰| 久久亚洲精品成人av| 日本色婷婷| 欧亚综合一卡二卡中文字幕| 射丝袜高跟鞋99| 96精品久久久久中文字幕| 精品少妇后入一区二区三区四区人妻巨乳| 婷婷六月色| 玖玖97综合| 大乔未久88一区| 人妻美腿丝袜日韩| 91精片| 两女互慰AV高潮喷水在线观看| 嫩草影院在线观看精品| AV九九| 加勒比无码一区二区三区| 97久久精品亚洲中六字幕| 久操 高清| 蜜桃臀一区二区三区久久| 狠久久| 久久精品国产亚洲5555| 一类av片在线看| 日韩999| 高跟伊人julia ann| 中文字幕精品亚洲熟女| 无码久久亚洲高清,| xxx0国产在线播放| 黑丝91视频| 丝袜美腿射精91| 好色综合| 久久久久久国产精品免费网站| 美女啊啊啊啊啊啊啊| 久久、1234| 久久超碰日韩精品| 无码人妻精品一区二区中文| 噜噜噜狠狠色综合| 性老妇一区二区三区| 亚洲熟女av中文字幕| 国产亚洲精品激情| 啪啪91| 加勒比综合a∨| 欧美日韩啪啪电影| 99精品久久| 久久高清无码夜夜操| 中文久久久| 久热大香蕉| 好舒服视频| 亚洲人妻中文在线视频| 欧美啪啪女女| 日本黄页视频在线观看| 91亚洲高清| 99热91| 有码人妻系列| 性91| 国产一区二区三区白丝| 色婷婷丁香五月| 日本道人妻久久久在线不卡色视频| 欧美成人一级麻豆| 欧美人妻精品| 啊啊啊啊免费视频| 激情丁香婷婷| 欧洲自拍色图gif在线| 免费啪啪av| 天美国产精品| 97精品国产| 日韩欧美亚洲国产日韩| 亚欧洲日韩国产精品| 免費黃色視頻觀看一| 狠色婷婷久久一区二区三区_| 一二三四视频中文字幕在线看| 伊色综合天堂色97| AV中亚| 日本熟妇一区二区三区| 中文字幕精品码亚洲| 青娱乐日韩无码| 欧洲亚洲人妻无码高清久久三区四区| 国产AV激情无码久久无码 | 美女被啪到深处抽搐视频| 人妻天堂综合网| 91东北熟女| 精品超碰中文在线| 九九碰九九爱97超| 3571色综合一区二区二区| 大香蕉综合网| 欧美日韩超碰在线| 国产无码精品无码| 91 丝袜在线| 草莓精品视频在线免费观看| 国产黄色动态精品| 欧美一区二区三区另类精品| 久草在| 毛片电影一区二区三区| 99只有精品| 国产自偷自拍一区| 亚洲一二三四区| 97精品国产97久久久久久免费| 国产精品成久久久久午夜午夜| 久久色激情一区二区三区| 亚洲一区在线观看欧洲| 欧美曰韩国产精品| 日韩av影片在线观看| 久久久精品,3| 男人的天堂2018.| 国产一区二区免费福利片| 欧美影音在线| 飘花国产午夜精品不卡| 18禁久久| 佐山爱中文字幕| 啪啪视频亚洲第一| 欧美伊人电影| 99re6国产精品99re在线| 很黄很色的视频在线观看| 嗯嗯啊啊的视频| 欧美第一页性| 26uuu欧美日韩| 97精品一区二区视频在线观看| 久久久精品日本一道| 日韩欧美大力操| 日韩综合97p| 夜夜狼人妻| 天天做日日爱夜夜爽| 婷婷激情四射| 91人妻久久久久久久久久久久久| 思思热国产在线视频| 男女国产精品| 少妇内射视频| renqi久久久久久久久久久久| 91深夜夜| 九九九精品美女| 91视频综合在线| 91 刺激在线| 天天做日日做天天欢。| 国产婷婷综合在线观看| WWW美腿丝袜香蕉中文| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 超碰在线1234区| 亚州情色j区| 亚洲无码一区二区三区三州| 欧美综合天堂| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 99re6国产精品99re在线| 东北丰满熟女国产一区| 无码高清操逼| 精品美女少妇一区二区| 狠狠躁天天躁日日躁97| 99色| 国产成人www免费人成看片| 亚川综合视频| 五月丁香激情四射| 色臀AV| 久久久精| av草草在线电影| 日本中文字幕一区| 日韩内射视频| 99热超碰| 亚洲黑丝在线| 五月婷婷六月丁香| 国产第25页在线观看| 岛国黄| 亚洲字幕一区二区| 美日韩男女操屄视频| 蜜臀久久99精品久久久久| 青青草在线视频美女| 色偷偷人人玩人人舔人人操人人摸人人爽| 久久丁香五月婷婷| 六十路日本| 免费啪啪啪网站18岁| 亚洲国产精品9999在线观看| 中国农村熟妇毛片视频| 欧州一区二区三区四区| 人人操欧美风骚| 性色亚洲| 操逼A∨| 少妇色| 12一15性XXXX粉嫩国产| 麻豆国产97在线| 欧美综合91| 青青草国产欧美非洲黑人| 亚洲人妻色图| 欧美人妻少妇| 国内精品久9| 国内外激情在线| 亚洲欧美91| 国产精品欧美在线观看 | 婷婷久久综合| 午夜精品99久久久久传媒| 99久久无色码| 欧美九九99久久精品| 91亚洲欧美色图| 国模不卡一本二本三电影| 中文字幕AV片| WWW4虎| 亚洲射综合网| 欧美在线大香蕉| 男人的天堂在线有码| 4399成人黄A片| 91国产精品在线看| 中文字幕片| 香蕉久久精品| 亚洲在钱| 亚洲有码视频二区| 国产成人91一区二区三区| 日本熟女中文字幕一区| 日本国产高清色www视频在线| av在线资源| 亚洲精品蜜桃久久久一区二区三区| 日韩丝袜人妻AV| 久神马| 日本高清一本二本免费不卡| se..亚洲欧美| 国产精品美女在线一区| 91三级理论片播放器| 殴美性色a级欧美| 亚洲AO在线| 97 国产精品| 欧美高清18A片| 欧美亚洲色图另类国产| 午夜天堂啪啪| 蜜臀AV一区二区三区激情综合| 亚洲色图综合网| 亚洲色图欧美色图另类图片| 亚洲AV秘无码一区..| 亚洲午夜AV| 在线天堂999| 97ai亚洲| 国产专区第一页| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 久久久久久久久久久久黄色| 熟妇人妻一二三区免费| 精品久久久久久中文字幕视频免费 | 无码免费精品高清| 亚洲精品一二三四区| JULIA人妻风俗店中出电影| 亚洲不卡一| 午夜国产乱伦视频| 六月丁香婷| 激情人妻另类| 乱抡国产91| 国产91久久九九免费精品无码| 亚洲网自拍| 日韩本不卡视频在线观看| 日本日逼高清| 欧美色图亚州激情| 欧美性少妇| 国产精品久久久无码AV网站| 91色综合激情| 亚欧洲日韩国产精品| 强奸乱伦中文字幕AV| 天堂蜜桃无码视频一区二区| 婷婷20月天青娱乐| 大香网站| 成人综合视频久久| 起碰97| 国产精品久久久久久片| 东北女人| Av手机版天堂网| 人妻啊啊人妻啊| 欧美狠狠狠| 亚洲国产一区二区三区四区国产| 亚洲美欧999| 国产精品白领在线观看| 色综合天天| 伊人操操| 午夜操逼不卡| 69AV女优男人的天堂| 好爽要喷了| 色天使亚洲综合在线观看| 亚洲综合小视频小说在线观看| 人妻精品视频一区二区三区| 天天日天天色| 一级AAA片一区二区三区| 亚洲日韩美国人妻| 69人妻精品丰满熟女区| 两女互慰AV高潮喷水在线观看| 60秒试看最爽10分钟网站| 丁香九月婷婷| 射丝袜高跟鞋99| 无码操逼视频一下| 一区二区三区国产精产| 欧美人人操人人插| 一级黄色影片| 四虎av在线| 丁香六月综合激情| 98久久超碰| 亚洲人在线成线成人| 强奸乱伦AV网址| 啊啊啊97视频| 国产亚洲精品玖玖玖在线观看| 欧美综合自拍亚洲综合图| 强奸乱伦Av网| 正宗无毛一线天嫩逼| 一区二区三区精品黑丝白丝酒店对鸡| 美女十八禁| 久无码| 性爱乱伦视频免费| 美性中文综合网| 国产AV久久久蜜爱影集| 中文字幕在线免费观看| 亚洲五月丁香花狠狠干一区二区三区| 啊啊啊网站| 伦在线97| 激情啪啪拍91| 日韩少妇无码| 亚洲欧美一区二区不卡视频播放 | 国产精品女同| 在线播放一级无码视频| 91久久久久| 丁香五月激情五月| 伊人五月天婷婷| 啊啊啊啊在线播放| 国产 码在线成人网站| 你懂的在线观看区国产| 久久综合女优| 性爱1区| 亚洲人妻中文在线视频| 欧亚日本情色| 青草视频在线看看看看看看看看看| 三级日韩一区二区三区| 激情文学小说一区二区| 超碰在线在公开超碰在线在公开| 久热这里| 免费簧片在线观看| 欧亚日韩中文在线| 精品成人女人久久| 久久黄黄| 先锋激情∨在线视频播放| 美女好片色日本| 久久免费精品96| 99超级碰免费视频| 久久久久亚洲AV无码专区少妇| 久久久日本电影| 天天α片| 亚洲91av| 91chinese在线| www.91理论| 男人天堂网站| 欧美草草高清日韩视频| 欧美大片天天看| 99热精品在线观看| 久久久久国产精品喷潮免费观看臀| 国产精品女aA片爽爽视频| 内射中国少妇高清视频免费视频 | 4tube欧美女厕所| 97色涩| 久久久久久久久久久久久9999| blacked精品一区国产| 粉嫩av平台| 色妇综合网| 亚洲高清男人天堂| 九九拍拍精品视频在线播放| 超碰av人人人| www国产天美久久久| 天天干天天燥| 欧美性爱日韩高清| 久草电影网| 粉嫩久久久久| 青春草A| 亚洲欧美综合色| 开心五月婷婷| 亚洲经典啪啪| 欧美网站免费| 中文字幕五月婷婷免费| 亚洲中文字幕熟女| 婷婷超| 天美麻花大全视频| 自拍偷拍亚洲熟女妇人精品| 国产综合久久久麻桃个| 99re99在线视频| 国产一| 久久精品99久久久久久| 老司机久久| 久久久久久久久久久久久9999| 亚洲丝袜二区| 色播五月婷婷| 亚欧国产无码精品在线| 日本一级性爱| 六月色色| 欧美淫乱视频| 亚洲欧美91√| 久久精品无码熟妇一区二区三区视频导航 | 无码一区二区三区四区五区六区七区八区九区十区视频 | 日日干日日| 日韩精品99999| 九九无码| 狠狠久久四虎| 亚洲五区熟女| 婷婷丁香一区二区三区| 性欧美体内射精| 亚洲男人的天堂在线看| www. 男人天堂成人在线| 久久同城AV| 日韩专区久久久|