查看“Linux内核-RGB LCD驱动移植”的源代码
←
Linux内核-RGB LCD驱动移植
跳转至:
导航
、
搜索
因为以下原因,你没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
==实验原理== 前文介绍过LTDC的内容,本节只需为LTDC添加一个面板即可。内核中包含一个通用的面板驱动,驱动之包含大量各种各样的面板。<br> *驱动修改<br> 驱动路径为:drivers/gpu/drm/panel/panel-simple.c<br> 移植时可以在驱动中支持新的面板的内容,也可以找到一个与自己面板相仿的内容进行修改,本节即使用在原有面板修改的方法。如本节参考面板名称为zj070na-01p,对于一个面板最关键的内容在驱动通过drm_display_mode的结构体描述,zj070na-01p的描述如下: <pre><nowiki> static const struct drm_display_mode innolux_zj070na_01p_mode = { .clock = 51501, .hdisplay = 1024, .hsync_start = 1024 + 128, .hsync_end = 1024 + 128 + 64, .htotal = 1024 + 128 + 64 + 128, .vdisplay = 600, .vsync_start = 600 + 16, .vsync_end = 600 + 16 + 4, .vtotal = 600 + 16 + 4 + 16, .vrefresh = 60, }; </nowiki></pre> 这个结构体主要用来描述面板的时序相关信息,时序框图如下: [[Image:55-1-1-1.png]] <br> hdisplay:有效显示区水平像素数量,对应Active Width<br> hsync_start:水平同步开始,对应hdispay + HFP<br> hsync_end:水平同步结束,对应hdisplay + HFP + HSYNC width(HPW)<br> htotal:水平总像素,对应hdisplay + HFP + HSYNC width + HBP<br> vdisplay:垂直显示像素,对应Active Height<br> vsync_start:垂直同步开始,对应vdispay + VFP<br> vsync_end:垂直像素结束,对应vdisplay + VFP + VSYNC width(VPW)<br> vtotal:垂直总像素,对应vdisplay + VFP + VSYNC width + VBP<br> vrefresh:刷新率<br> 面板芯片手册中关于时序的描述如下: [[Image:55-1-1-2.png]] <br> 表中可以确认HBP=140、HPW=20、HFP=160、VBP=20、VPW=3、VFP=12,修改面板信息如下: <pre><nowiki> static const struct drm_display_mode innolux_zj070na_01p_mode = { .clock = 51501, .hdisplay = 1024, .hsync_start = 1024 + 160, .hsync_end = 1024 + 160 + 20, .htotal = 1024 + 160 + 20 + 140, .vdisplay = 600, .vsync_start = 600 + 12, .vsync_end = 600 + 12 + 3, .vtotal = 600 + 12 + 3 + 12, .vrefresh = 60, }; </nowiki></pre> *设备树修改<br> 增加ltdc输出端口: <pre><nowiki> <dc { status = "okay"; port { #address-cells = <1>; #size-cells = <0>; ltdc_ep1_out: endpoint@1 { reg = <1>; remote-endpoint = <&panel_in_rgb>; }; }; }; </nowiki></pre> 增加面板节点: <pre><nowiki> panel: panel-rgb { compatible = "innolux,zj070na-01p"; pinctrl-names = "default", "sleep"; backlight = <&panel_backlight>; status = "okay"; port { panel_in_rgb: endpoint { remote-endpoint = <<dc_ep1_out>; }; }; }; </nowiki></pre> ==实验目的== 熟悉基于Linux操作系统下的摄像头设备驱动移植配置过程。 ==实验平台== ==实验步骤==
返回至
Linux内核-RGB LCD驱动移植
。
导航菜单
个人工具
登录
命名空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
关于我们
联系我们
开发板资料
STM32F103开发板
STM32U575开发板
STM32MP157开发板
Hi3861鸿蒙开发板
WS63星闪开发板
HaaS EDU开发板
ESP32物联网开发板
i.MX8M Plus开发板
体系课试听
AI人工智能体验课
嵌入式STM32体验课
华清图书下载
嵌入式系列图书
物联网系列图书
Android系列图书
高校教仪设备
人工智能实训设备
嵌入式实训设备
物联网实训设备
虚拟仿真实训设备
行业应用实训设备
软件仿真平台
人工智能仿真系统
嵌入式仿真系统
物联网仿真系统
友情链接
元宇宙实验中心
华清远见研发中心
华清淘宝硬件商城
华清天猫课程商城
工具
链入页面
相关更改
特殊页面
页面信息