国产成人欧美一区二区三区vr_久久国产精品人人爽人人爽_国产精品永久免费播放_肉欲啪啪a∨无码精品一区二区_国产超短裙jk丝袜在线_亚洲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
返回資訊列表
无码欧美有限公司| 黄网站黄视频网站进入口 | 天天激清| 哑洲在线| 九9热伊人| 久久啊哟| 亚洲s在线观看| 国产操偷| 中文字幕国产| 男女激情黄色网址| 黄色免费一级在线毛片| 91天天综合日韩欧美| 精品久久大胆人体| 91性感网站| 黄污污污污| 免费一级黄色录像影片| 亚洲欧洲综合成人av一区| 国产夫妻性生活视频| 色好看av| 亚洲AV资源| 麻豆人妻少妇在线免费观看| Julia在线播放亚洲久久| 久久一区二区三区入口| 久久成人午夜精品影院| 日本一区二区做爱的视频| 可以在线观看的黄色网址| 日韩综合无码一区久久92| 97中文综合| 色香91| 成人色女网| 大香蕉AV丝袜| 天天碰操中国年青熟妇| 黑丝日韩av丝袜av| 嗯嗯嗯不要不要免费视频| 亚洲精品三| 超碰人人干| 新婚人妻扶着粗大强行坐下| 亚洲导航深夜福利| 香蕉婷婷| 国产不卡精品91| 日本 欧美 亚中文字幕| 青青草在线成人视频| 在线啊啊啊啊| 国产午夜福利视频在线| 大香蕉国产中文自拍| 宅男91视频在线播放| 丁香五月影院| 国产自产91区13区| 夜夜综合| 怡红院久久老司机| 无码人妻一区二区三区色欲aⅴ | 精品国产污一区二区三区| 六月丁香五月婷婷| 日韩精品高清资源在线| 夜夜久久| 性感美女啊啊啊在线| 中文字幕精品专区搜索结果91| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 久久久久96| 热久久无毒不卡| 蜜臀久久99精品久久久久电影| 亚洲男人天堂2| 亚洲图片第一页| 国产亚洲福利第一页丝袜| 少妇啪啪自拍| 国产精品交换一区二区| 艾草av| 99re8超碰| 日本免费一区二区不卡| 久久久精品无码亚免费| 久久色情| 色综合超碰超| 欧洲黄色网| 亚洲欧美中文一区二区三| 首页中文字幕中文字幕免费| 夜夜爽爽爽| 美女淫穴| 中国91AV| 中文字幕一区二区三区字幕| 中文字幕一区av| 亚洲素人网| 综合亚洲欧美| 天天躁日日躁AAAAXXXX国产| 亚洲国产无码精品首页久久久| 久久极品一区二区| 九九九草| 欧美日韩啪啪电影| 色蜜AV| 九九自拍伦理| 以及麻豆国产入口在线观看免费| 久久亚洲婷婷| 天天情欲宗合网| 无遮挡一级毛片视频免费的| 97电影院超碰| 日韩干B| 懂色中文一区二区三区| 91女在线观看| 超碰午夜| 激情文学网伊人| 1024午夜激情男人的天堂| 亚洲欧美日韩偷拍色图| 国产刺激视频| 国产成人精品网站| 成人三级片无码| 精品然女一区二区| 国产精品久久久久久久无码AV| 亚洲操人| 久9爱精品| 精品高清一区二区三区三州| 999九九精品| 中国操逼无码| 嗯嗯,好大,好爽,好骚| 精品999一区二区| 97碰在线视频| 91少妇人妻| 99热在线播放| 日韩精品在线视频,日韩精品……| 久久美女福利是上海美女| 亚洲日产专区婷婷| 精品久久久久久中文| 亚州久久9| 国产偷人伦激情在线观看| 天天操狠狠日夜夜干超碰撸com视频在线观看 | 这里都是精品| 蜜桃臀一区二区三区久久| 日韩免费一级性爱视频| 中文字幕天天操| 亚洲春色欧美激情自拍| 国产精品。| 欧美精品另类人妖xxxx| 中文字幕一二区二三区人妻专区| 免费视频在线观看啊啊啊啊啊| 超碰色图| m欧洲一级午老| 84YTCOM性无码| 口爆综合网| 好吊色青靑草| 性欧美天天| 欧美国产精品久久九九| 黄久在线| 精品超碰中文在线| 国内偷拍精品一区二区| 亚洲欧美另类少妇精品| 亚洲熟女性高潮久久久| 情色五月天就去干| 亚洲熟妇乱女区二区三区| 九九九精品| 亚洲欧美爆| 囯戸精品高潮呻吟旡码| 日本免费一区二区不卡| 日韩AV片| 亚洲一曲日韩精品| 密臀成人视频久久久| 五月丁香六月婷| 亚洲另类天堂| 国产成人啪一区二区| 97人人干| 亚州免费啪啪视频| 国产精品一区二区三区在线| 嗯~啊~轻一点 视频| 日韩99神马视频播放片在线播放| 1级黄色夫妻对换性交免费看| 330dv亚洲成年视频网| 睡产熟女乱伦| 婷婷丁香激情| 天天干夜夜操一区二区| 91网18| 一级久久久久久久久久久| 亚洲图片另类| 欧美色图在线视频少妇| 久久偷拍人| 丁香九月激情| 强奸乱伦Av网| 97久久久| 精品人妻一区二区三区免费视频| 色婷婷蜜臀av| 国产又黄又猛又粗又爽的网站| 日韩精品碰碰| 超碰色综合| 97网址97| 国产无码久久高清| 欧美日韩系列| 日本熟妇精品九九| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | Av色五月| 亚洲麻豆精品二区三区| 狠狠操夜夜操蜜桃视频三区| 日韩不卡在线一区二区| 无码区蜜乳| 青青草福利视频| 国产超碰97| 91性| 亚洲欧美日韩中文久久自慰| 亚洲另类色综合网站| 伊人网在线观看| 人妻碰碰碰碰碰碰| 日韩久久超碰色| 婷婷在线播放| 国产精品久久久亚洲一区| 91人妻做a观看视频| 亚洲 小说 欧美 激情 另类| 97在线免费视频| 777超碰| 台湾佬大香蕉| 91欧美www| 日韩在线观看AV| 啊嗯嗯啊好大好爽| 老鸭窝日丰县女人| 日本幼女18+| 久久久国产护士丝袜美腿一| 日韩97超碰| 欧美,日韩,中文,另类| 91网站在线播放| 91 亚洲情侣偷拍 久久| 成熟熟女国产精品一区二区| 亚洲综合草草| 久9综合在线| 黄色香蕉视频网站一区| 一区二区三| 午夜天堂精品久久| 综合97久久| 欧美色图97| 安微少妇操BBB| 丰满人妻-区二区三区免费看 | 懂色Av| 日本在线观看网址| 亚洲男人久久综合天堂| 啪啪免费| 大香蕉久| 97综合在线观看| 亚洲国产精品乱码在线观看| 欧美丝袜激情| 男女无套 免费网站| 亚洲丝袜少妇在线| 日本操逼视频免费| se01国产在线视频| 久久久国产三级黄色片| 久久久久久午夜男人的天堂| 日本孕妇孕交| 99re视频在线播放青草| 亚洲国产一区二区日韩专区| 中亚精品极乱| a人欧美综合天堂麻豆| 91老熟女老女人国产老太| 91N综合网在线| 日韩无限资源| 小视频玖玖| 操一区| 欧美丝袜激情| 大逼色网站| 黄色免费网| 日韩欧美字幕亚洲一区二区| 丰满欧美少妇| 色婷婷一区二区三区久久午夜 | 99操| 久久国模av| 一本色道久久综合精品婷婷| 亚欧毛片基地国产毛片基地| 久久9视频| 欧美精品偷拍| 免费在线视频97| 九月激情婷婷| 欧美久久草熟女| 人妻精品一区一区三区蜜桃91| 97爱爱| 国产情侣自拍在线播放| 麻豆性爱视频在线播放| 激情黄色片在线观看| 色色色欧美| 久久久久国产| 欧洲成人性爱视频| 大香蕉在线86| 欧美中文字幕日韩在线| 99热99re超碰精品| 亚洲国产天堂| www.久久爱| 亚洲精品 欧美精品| 亚州一区二区| 婷婷五月天社区| 啊啊啊啊啊啊啊在线| 国产 日韩,欧美 自拍| 国产又爽又黄| 五十路熟女人妻一区二区三区四区五| 亚洲色诱惑| 91影视亚洲| 亚洲精品一区二区精品| 人人操天天爽| 秋霞网—男女啪啪亚洲免费体验区 | 亚洲另类久操网| 极品少妇久久久久| 久久久久9999妇女| 欧美裸体美女日麻屄| 曰韩无码777| 日本超碰色精品| 日熟女| 艾草av| 中文字幕天堂在线| 亚洲精品天天影视综合网 | 日韩亚洲国产视频| 久久久久大香青草精品综合| 午夜一区二区三区国产| 国产嫩草精品A88AV| 亚洲成人综合在线| 亚洲综合20p| 91狠狠综合久久久久久| 欧美91精品国产自产| 亚洲天堂男人在线| 无遮挡又黄又刺激的视频| 淫色网综合| 日本韩国国产精品一区| 操逼精品视频| 日本操逼视频导航| 最新AV在线| 91蜜臀熟女| 在线日韩日本亚洲国产| 超碰这里只有精品| 色色综合网站| 99久久亚洲精品无码毛片潘甜甜| baiduhicn.com。| 操逼逼福利视频| 大鸡巴久久| 久久9精品视频| 成人一级性爱| 黑人精品欧美一区二区蜜桃| 日韩美一区| 久久亚州精品成人Av无| 无码二级三级| 91久久伊人婷婷青青草| 97欧美性爱| 久久这里只有精品9| 超碰99热中文字幕| 日韩乱伦视频| 精品国产Av无码久久久伦古装| 欧美老妇女内射网址| 国产中文字幕曰本毛片| 探花精品 一区二区| 佐山爱中文字幕| 色色色欧美| 国产9 9在线 | 亚洲| 久久精品视| 亚洲国男人的天堂| 日本欧美亚洲高清在线看| 男人精品区| 精品国产国产AV| 久久丁香五月天| AV天堂国产| 91中文字幕制服丝袜免费视频| 国产精品网站免费| 日本有码久久| 欧美疯狂做爰xxxx| 天天天天操| 精品偷拍13p欧美dodk视频| 97欧美日韩综合| 中文字幕超碰CAO| 激情五月激情综合网| 国产www色在线观看| 99re98| 91N综合网在线| 亚洲淫乱骚妇AV| 久久精品国产精品亚洲艾通辽熟妇| 国产成年女人免费视频播放a| 精品少妇一区二区三区| 日韩色女精品| 超碰地址97| 歐美一級亂黃99在綫精品| 日本岛国黄色网址| 9999免费精彩视频| 亚洲一卡2卡3卡4卡乱码网站| 日日爱99| 天天做天天爱| 精人妻一区二区三区| 欧洲亚洲天堂精品| 国产小炒后入式| 欧洲乱码视频| 自拍二页| 日韩图区| 国产精品久久久999| 欧美一区二区三区大综合| 美女露胸露奶头| 殴美牲| 欧美有码激情视频一区二区三区| av中文在线| 偷窥自拍亚洲天堂网爆| 在线观看国产黄色| 免费综合亚洲中文| 丁香五月成人| 色爽爽文学| 91色碰| 麻豆天美国美国产| 日韩av熟女一区二区三区成人| 嗯啊不要啊在线| 久久久com| 旡码电影特区| 日韩精品第3页| 中文字幕伊人| 亚洲欧美国产精品久久久久久久| 老熟女综合网 | 立川理惠无码一区二区| 亚洲熟女中文字幕在线| 亚洲日韩一区电影| 97爱爱影院| 大香蕉欧美国产日韩高潮| 校园春色中文字幕AV| 丝袜翘臀后入欧美校园亚洲自拍另类小说一区中文字幕少妇诱惑 | 伊人在线大香蕉视频久久| 欧美精品欧美精品系列| 亚洲九九视频| 麻豆三极片| 午夜a成v人电影| 精品人妻av在线播放| 男人的天堂一区三区| 在线视频免费播放一区| 国模精品一区二区三区苹果色戒 | a'v在线资源| AAAA欧美日韩| 激情网色| 67914亚洲精品| 欧美综合骚| 极品粉嫩少妇视频| 青青操国产夫妻| 国产视频一区二区三区在线免费观看| 人人做人人妻人人夜视频| 激情综合亚洲| 久久久久久波多野吉衣高潮| 精品日日人妻| 日本不卡高清视频| 920日本午夜免费| 小明看看网址| 亚洲情色欧美| 91动漫操逼视频| 久久久人体| 秋霞鲁丝午夜无码一区二区三| 91女日逼| 韩国黄片aaaa| 天天综合亚在线| 亚洲文学偷乱拍啪啪啪啪 | 夜夜高潮夜夜爽| 伊人网一本| 午夜男女爽爽爽影院视频| 亚洲色图殴美色图激情乱伦| 美女露胸露尿口| yazhouzaixian| 岛国在线国产| 欧美性爱97超碰| 老司机午夜精品福利视频一区二区| 中文字幕乱亚洲美女精品一区| 把腿张开老子CAO烂你| 人人喜人人妻| 丰满人妻一区二区三区四区| 国产 三级自拍| 国产精品第二页| 中文字幕精品免费一区二区| 青娱乐亚洲热| 欧美后入| 第四色色综合91| 大香蕉综合网| 五月丁香婷婷综合| 午夜爽爽爽| 婷婷丁香在线| 99草精| 午夜一区二区三区国产| 5252色欧美在线| 欧美色图 色综合图| 亚洲精品视频在线播放| 性欧美| 五月天玖玖资源站| 黑人粗大V S日韩女优视频| 二男一女成人A片| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 中文字幕在线观看AV| 91欧美情色| 亚洲成人性爱在线观看| 一区二区三区四区在线不卡| 国产亚洲色婷婷久久99精品91葵花宝典| 插插综合网天天影视网| 亚洲综合中文字幕有码| 久久久一区二区三区麻豆| 91一起操| 日本不卡一区| 麻豆福利视频导航| 无码最新| 91真人天天在线| 豆花视频操逼网址| 久久99精品九九久久久婷婷| 黄色视频特级毛片| 狠狠入| 吻戏激情性巴克| 女沟厕偷窥piss小便| 国产最新AV| 九九九精品成人免费视频小说| 亚洲av总站| 人人 操人人 操人人| 色香伊人| 99精品久久| 在线视频免费观看午夜| 五十路熟女工口| 国产亚洲精品av一区| 91精品人妻五十路| 亚洲色天堂日韩中| 亚洲精品影视老司机| 91久久久久| 大香蕉男女超碰精品在线| 国产乱伦视频污| 午夜福利在线合集| 色五91| 岛国福利在线精品播放| 91精品操美女| 超碰97在线 欧美 国产| 全球成人中文在线| 国产在线视频午夜精华在| 久热久| 开心五月婷婷| 亚洲图片欧洲图片aⅴ| 色爱亚洲| 日韩欧美偷拍美女视频| 91在线|亚| 久久久国产亚洲精品系列| 久久久性爱| 麻豆一区二区三区精品| 天天射影院| 黄色AAAAA欧美| 日本道不卡| 国产av色网| 久久中文色图| 超碰久久中文| 岛国精品视频在线观看| 操婢日韩| 一级二级在线观看| 乱人乱色一区二区三区免费| 国产第11页| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 日本操逼视频导航| 国产大学生高潮在线播放| 黄骗免费网站| 亚洲天堂另类| 欧美在线中M| 五月天春色激情网| 99热这里只有精品9| 成人av在线播放| 亚洲开心网| 好一吊区二区| 日本熟妇精品九九| 东北老女人的激情视频| 97日本超碰综合| 免费黄色视频网址| 牛牛aV| 久久欲| 乱伦熟女论坛| 久久久人妻| 亚洲高潮影院| 香蕉精品二区二区| 风间由美日韩欧美久久| 大但人体久久久久| 青青草无码视频| 亚洲91网站| 久久久久一本一区二区青青蜜月| 麻豆区99999| 国产丝袜美女诱惑| 亚洲国产综合久久久性感熟妇| 婷婷六月色| 伊人激情| 美女诱惑爱爱| 婷婷伊人一区| 9久久9综合| 欧美亚洲一区二区久久久婷精品大包诱| 99re9在线| 性感女人网页在线观看视频| 久久久久日本视| 清纯唯美激情四射| 国产欧美日韩臀 | 色综合1991| 欧美日韩国产精品久久色婷婷| 99热国产| 91亚洲综合在线| 国产精品福利视频| 亚洲精品一区二区精华| 啪啪视频亚洲第一| 久久婷婷综合国际产色怕| 青娱乐日韩无码| 91美女丝袜诱惑视频| 97超级久久强资源| 91黑丝美女| 亚洲熟女少妇免费视频| 亚洲丝袜少妇在线| 99re免费视频精品全部| 精品一区二区综合熟妇| 激情色播| 美女淫穴| 日本幼女18+| 国产操逼网站亚洲一级黄色| 精品人妻中文字幕4399| 日本欧美国内在线| 色婷婷综合久久中文字幕雪峰| 欧美少妇性乱| 久久啊啊| 日韩精品1区2区中文字幕| 国产在线精品偷| 国产人伦精品一区二区三区| 视频在线观看青青99国产| 亚洲国产熟妇综合色专区| 久久伊人亚洲AV无码网站| 无码抄逼网| 国产精品久久久啊| 亚洲av无线观看| 日韩乱码Av| 国产精品国产| 97在线免费视频| 亚洲免费人妻在| 97综合在线观看| 999 久久久| 久久久久久人| 十八禁视频一区二区| a级理论午夜日本| 精品熟女一区=区三区| 使劲用力艹少妇视频一区二区| 亚洲色电影在线| 国产成人精品无码久久| 九九热视频在线观看| 无码外流操逼视频| 国产激情久久| 在线观看十八禁| yy少妇精品久久| 亚洲色图图片| 五月天综合在线| 天天综合网在线| 1240青青草一区二区三区视频天爱| 黑人操一区二区| 国产亚洲 中文欧美久久| 亚洲自拍青操视频| 国产欧美精选激情视频| 天天色综合图片| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 精品亚洲国产成人AV制服丝袜| 97超久碰| 97视频在线播放| 天天插天天射| 骚货操死你| 综合在线导航一区| 夜夜福利| 欧美日韩日产免费网站看| 日本免费一区二| 日本孕妇孕交| 伊人网青青| 长长久久88视频| 九九热午夜欧亚国产视频| 日韩精品免费高清视频在线| 操b网站亚洲无码| 性夜影院爽黄A爽免费动漫| 天天插天天插| 亚洲欧美黄| 99久久精品无码一区二区| 亚洲天堂第一页| 91伊人久| 加勒比伊人综合| 国产日逼视频| 99精品久久久久久| 入口操逼网站| 亚欧美色图| 欧美日韩91| 麻豆成人影音在线| 极品色社| 综合久久久久久久久91| 91在线丝袜视频| 一级黄色视频网| 日本一久是| 亚洲av乱伦色图网站| 欧美92| 91|九色|国产熟女| 国产精品自拍视频| 大香蕉草草| 久久精品中文字幕无码l| 欧美日韩精品青青| 亚洲nv男人的天堂网| 欧美狠狠干| 欧美激情超碰777| 日韩亚洲中文字幕在线| 人妻91少妇| 1024久久高清视频| ,成人免费啪啪视频| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 三级三级三级a级全黄三| 91天堂丝袜美腿| 色穴精品| 日本免费中文字幕在线| 久久老熟女| 中文字幕乱碼在线| 亚洲高清无码AAA久久久精品| 熟妇无码视频三区| 91在线限制级| 国产树林里野战在线看| 色综合91好| 污污污8888| 99色色网| 国产成人亚洲精品无码古代早漏男| 男人的天堂日韩| 久久超碰爱| 国产三区免费在线观看| 少妇蹲下露出大唇5| 九九热在线精品视频| 狠狠操狠狠| 97超碰欧美| 国产后入内射| 欧洲中文字幕| 黄片在线免费在线观看| 91天天看| 日韩久射综合| 超碰97在线色男人??| 婷婷综合网站| 无码人妻精品一区二区中文| 91亚洲人| 亚洲加勒比色图| 日韩AV中文字幕电影| 岛国精品视频在线观看| 中文字幕精品一区二区精| 色香在线| 夜夜嗨av午夜成人| www.91色综合| 精品国产精品一区二区| 国产野战露脸在线播放| 东北少妇高潮zzzz| 亚洲人天堂| 尤物视频网 刘玥| 蜜桃视频精品一区二区三区| 日韩欧美女优电影| 激情综合色| av午夜影院在线播放| AV和黑人在线播放| 熟女激情综合网| 亚洲色狠| 久久精品国产亚洲av水密被窝| 伊人在线大香蕉二。| 91老熟女老女人国产老太| 欧美九九爱| 天天日天天爽| 爽爽淫人网| 99色视频| 亚洲,欧美,春色,另类| 人人做人人妻人人夜视频| 强歼乱伦资源网| 亚洲暴力强奸AV| 操婢日韩| 性爱Av免费| 亚洲国产精品无码AV在线| 91人妻最真实刺激绿帽| 天天日天天干天天色| 韩国免费播放一级毛片| 中日韩免费看男女操逼大全| 国产精品对白自产拍| 欧美热图99| 色爱亚洲| 大香蕉伊人网| J?P?NESEHD熟女熟妇伦| 翔田千里爆乳巨臀无码| 国产在线激情视频| 91成人在线免费视频| 国产精品久久久久久久毛片1| 手机在线人成免费视频| 亚洲精品日韩国产欧美| 欧美精品999| 国内精品999| 欧美久久毛片基地| 中文字幕AV片| 国产AB视频| 欧美色图亚洲色| 亚洲欧美日韩免费观看| A 在线网址| 国产偷拍自拍在线视频| 亚洲激情四射| 天天摸夜夜摸| 人人爽天天爽| 欧美情色贴图| 97超碰精品图片| 91精品人妻偷情| 日韩黄色片子| 亚洲国产一区二区三区四区国产| 99热在线观看| 青青草国产盗摄一二三区| 97碰碰日本乱偷人妻中文的| 天干天干天干天天做| 偷拍综合网| 国产一进一出视频网站| 亚洲aV无码成人在线观看| 超碰人人乐97| 久草久日| 99久久99久久免费精品蜜臀| 草草影院最新网址| 情色AV电影| 偷拍五区| 啊啊啊啊啊啊好多水| 日韩成人精品视频自拍| 午夜男人天堂| 99最新日韩偷拍视频| 人妻一区二区三区熟女| 欧美性爱一级操| 国产不卡片| 欧美日韩国产精品久久色婷婷| 97AV在线观看| 1769一区二区| 四虎884a| 国产亚洲色婷婷久久99精品91葵花宝典| 国内外色色色色色成人视频| 亚码人妻| 精品国产av一区二区三区四区入口| 亚洲欧美在线丝袜| 一,爱啪啪,在线免费视频| 国产欧美一区二区| 国产一二三福利视频网| 老司机深夜18禁污污网站| 99热精品在线| 久久久久久久9最新免费视频观看| 中欧人妻丝袜中文字幕 | 天天操天天看| 国产午夜福利专区综合| 91美女丝袜诱惑视频| www.男人天堂| 高清一区AV无码| 久久久影院| 欧美日韩欧美| 亚洲图片欧洲图片aⅴ| 天天干天天日天天射黄色片| 综合网欧美| 欧美日韩成人| AV色五月| 国产精品视频一区二区三区八戒| 大香蕉综合| 老熟妇乱轮| 亚洲激情网一二三四区| 精品十八在线观看| 免费看日产一区二区三区| 亚洲国产亚洲天堂| 日韩欧美成人综合在线| 欧美色日本| 秋霞成人做爱| 嫩草影院永久在线制服丝袜| 91福利网在线观看| 亚洲棕合电彰| 成人AV超碰免费在线| 麻豆AV一区二区| 九九九免费视频| 1024久久高清视频| 色激情综合网站| 动漫片子网站3黄| 91色拍| 国产原创精品| 国产丝袜欧美在线视频| 日韩av色图综合| 精品丝袜无码一区二区三APP| 超碰1024久久| 影音先锋视频在线| 九九九草| 一级免费啪啪片| 九九九成人| 五月天丁香欧洲日韩| 亚洲中文字幕在线视频一区二区| 久久精品小视频| 天天日天天干天天操| 打av高清| 天天色,天天干,天天干| 欧亚日韩综合精品国产| 亚洲AV无码乱码在线观看性色| 亚洲图片视频小说| 性色一线| 午夜成人爽爽爽爽A片李冰冰| 97这里都是精品| 人妻中文字幕日韩电影| 精品人妻一区二区三区不卡断 | 久久婷婷六月综合| 久草新在线| 91av天美性媒精品视频| 免费av大片| 三久久久四久久久久| 日欧美色| 国产成人www免费人成看片| 国产欧美另类久久久精品课程| 大稥蕉免费视频这里只有精品| 一起草在线视频| 色综合20p| 91粉芽高清在线一区二区| 国产丝袜欧美在线视频| 亚洲素人综合| 精品妇女一区二区三区| 约操熟妇| 少妇久久久久久| 久久国产999| renqi久久久久久久久久久久| 看免费一级在线播放毛片| 丰满熟女人妻一区二区三五十一路| 青青草日韩无码| AV一起草在线| 色香欲综合| 亚洲熟女乱色一区二区三区久久久 | 日韩av电影成人在线| 九九久精品| 大香交伊人网| 能在线播放的国产三级| 91网站18| 蜜臀Av一区二区三区| 99re在线观看| 91站街按摩店老熟女熟女| 综合少妇网| 97中文天堂| 性色av蜜臀av色欲aV| 野狼福利社区| 亚洲欧美综合网站| 嗯嗯啊啊啊好舒服| 欧亚在线视频| 亚洲另类欧美精品| 久久久999国产| 好舒服视频| 国产男女无套97| 久久精品欧美一区蜜桃| 亚洲一卡2卡3卡4卡乱码网站| a男人的天堂久久一级A毛片| 精品国产乱子伦一区二区三区,精品一| 一二三四视频在线社区中文字幕| 婷婷大香蕉| 肉嘟嘟www视频在线观看高清| 欧美性爱第一页久久| 亚洲自拍97| 97在线视频免费看| 91nbbbbbb| 欧洲精品在线播放| 97国产精品国| 一区二区三区 丝袜 高跟 美腿| 日韩av不卡在线观看| 日韩精品一区二区高清| 自拍偷拍 日韩欧美| 成·人免费午夜在线观看| 天天做日日做天天欢。| 国产精品不卡一区二区三区av| 免费试看60秒| 青青色在线观看| 上特色A在线| 欧成人精品H无码| 国产一区二区在线看| 加勒比色99999| 欧中美三级一区二区三区| 久热99999| 最新9久久久9免费视频| 日韩淫色网| 青操影院| 97超碰影音| 国产精品午夜福利| 97欧美久久久久久久| 激情久久日韩精品中文字幕麻豆| 中文无线日韩一区| 97超碰色中文字幕| 久久久久国产| 中文字幕久久亚州无码| 任我爽在线视频免费观看| 97天天在线| 中文字幕乱妇免费视频| 啊啊啊慢点| 火箭成精品视频884必出精品| 亚洲欧美不卡线| 天天射天天| 日本三级A片网站com| 亚瑟国产精品久久无码| 亚洲日韩美女中文字幕乱| 国内毛片无码一级毛片| 可以免费观看的AV| 大香蕉伊人亚洲| 欧美成人精品一区二区三区| 99抽插| 福利五区| 97超碰欧美| 人人看人人爰人人操| 综合操逼| 激情文学网伊人| 大香蕉在线86| 久久久久幕乱码| 亚洲综合伊人无码久久| 丁香九月婷婷| 26UUU欧美激情一区二区| 乱色视频中文字幕| 顶级少妇BT天堂| 天天综合网91入口| 一区二区亚州激情久婷婷欧美| 97在线视频网站| 四虎午夜影院| 亚洲综合婷婷| 国产高潮AA片免费看| 久久久噜噜噜久久久| 丝袜高跟澳门91视频| 综合 亚洲 欧美| 91在线视频免费播放| 综合色图区| 少妇六月天| 拍拍拍拍大尺度黄色三级片拍拍拍拍拍照 | 国产白丝av| 色综合av男人天堂| 精品大久久| 伊人久日| 翔田千里Av在线| 熟女六十路| 91天堂视频| 日本不卡一二区| 97人人夜夜精品视频| caorenqi shipin| 大香蕉欧美国产日韩高潮| 91性网| 特级丰满少妇一级AAAA爱毛片| 美女露胸露屁股| 日本二区不卡| 乱性AV| 熟妇人妻精品一区二区视频色欲| 青青青草伊人精品| 岛国A V在线免费看| 五月激情在线| 天天天乱色综合全| 搡老女人老熟女91| 任你艹| 欧美在线第五页| 亚洲国产一区二区入口| 江都AV在线| 色路综合| 国产黄色av大片网站| 久草男人天堂| 国产家庭乱伦性爱视频| 伊人久久亚洲中文字幕| 草久在线| 亚洲操逼网| 亚洲蜜臀精品视频久久| 亚洲1区2区三区高清中文字幕| 欧美日韩淫加| 精品欧美乱码久| 99无码视频| 中文字幕青青草| 秋霞一级视频在线观看免费| 午夜精品人妻二区三区| 日本免费一级AAA大片器| 67914在线精品观看| 亚洲色图91| 麻豆蜜桃视频在线观看| 人妻一区二区三区熟女| 色99色| 91美女精品| 天天日夜夜爽| 色色九区| 久久久999日本大片| 在线97视频| 亚洲第一页色| 777超碰| 亚洲综合网电影91| 欧美狠狠| 蜜臀人妻少妇久久在线观看| 日韩免费高清大片在线| 国产13区| 影音先锋少妇| 免费看污网址| 国产三级中文有码在线视频| 91日日夜夜| 去干网最新版| 精品在线78| 伊人影院中文字幕| 国产日韩精品suv| 国产午夜视频| 国产色呦呦| 麻豆区久久久久亚| 丁香九月激情| 婷婷色综合欧美日韩| 白丝AV网站| 日韩Va亚洲va欧美Ⅴa久久| 国产人妻精品一区二区三区秋霞 | 高清不卡一二三区视频......| 1000部熟女视频在线观看| 日韩AV电影网站| 夜夜操美女| 日韩大香蕉精品在线视频| 免费AV播放| 色视频蜜乳| 日韩丨制服丨中文|在线| 国产18精品亚洲精品| 九九九九热| 欧美色图 人妻| 九九色影院| 日韩操啪| 欧美黑人91| 久久久中文| 99老司机精品视频在线观看| 人妻大香蕉| http://qxhbdz.com| 狠日操| 淫淫综合网| 国产传媒美日韩av| 日本午夜久久电影| 国产91亚洲精品一区二区三区| 亚洲日韩欧美一区二区| 亚洲91少妇| 乱论91| 97se亚洲综合自| 亚州久久9| 天天流夜夜操| 亚洲国产精品成人无码久久久| 中文久久久| 丝袜狂射91| 九九视品黄色| 亚洲第一无码播放立川理惠| 欧美激情综合| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 高凊专区人人操| 国语对白在线播放视频| 射久久| 九九九九97| 精品人妻二区三区| 午夜寂寞欧美| 国产精品第一页国产大屁股视频免费区| 啊好大好舒服| 国产激情在线观看| 欧亚无码视频| 超碰色大香蕉| 亚洲熟女一区| 精品久久99| 岛国黄| 97啪啪| 天干天干天干天天做| 亚洲色图自拍| 天天澡天天爽日日av| 在线啊啊啊啊| 婷婷五月丁香五月| 大香蕉丝袜一级片| 先锋激情∨在线视频播放| V A在线| 久久久久久久97| 玖玖爱视频网站| 99re6在线视频精品免费完整版安卓版| 五月天伊人| 免费的av网| 亚洲天堂,男人| 国产 码在线成人网站| 亚洲日韩国产欧美综合v| 日本免费中文字幕在线| 国产又黄又爽又刺激久久久久久| 九九九九精品| 亚洲成成熟女人综合一区二区| 久久精品国产97欧美精品亚洲 | 亚洲精品性爱片| 国产高清视频无码在线| 中文字幕乱码在线| 国产综合久久久麻桃个| 欧美日韩狠狠爱| 国产精品乱码久久久| 神马麻豆福利院| 欧美激情专区| 久艹99| 亚州精品人妻一二三区| 一区二区播放| 99热一区二区三区四区| 91性网| 国产成人在线观看网址| 99久久精品国产系列| 国产400孕妇孕交群| 中文字幕蜜乳av| 日韩免费中文字幕视频| 久久久久久久久久久免费精品| 亚洲色系另类精品国产| 中文字幕一区电影在线观看| 欧美三级中文字幕hd| 探花一区在线| 曰韩精品九九无码|