ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

LT6911C HDMI转MIPI DSI/CSI方案详解:从硬件设计到驱动调试

LT6911C HDMI转MIPI DSI/CSI方案详解:从硬件设计到驱动调试 LT6911C这颗芯片做显示方案的朋友应该不陌生。HDMI转MIPI DSI/CSI这类转换芯片在嵌入式显示、消费电子、车载娱乐系统里出现频率很高而LT6911C算是其中比较有代表性的一颗。简单说它的作用就是把HDMI输入的图像信号转成SoC或屏端能直接驱动的MIPI DSI显示接口或MIPI CSI摄像头接口信号。比如RK3567、RK3576这类平台原生接口不够用或者外接设备信号格式不匹配的时候用一颗LT6911C就能解决问题。这个方案在实际项目里踩坑不少从硬件设计到寄存器配置再到内核驱动适配环环相扣。这篇文章我把从理论到实操的完整链路梳理一遍既讲清楚原理也把调试中的坑和排查思路一并交代希望能让正在做类似方案的你少走弯路。当然技术细节这东西不同项目差异很大我会把通用性的思路和关键步骤拆开讲具体参数你可以对照自己的屏和主控来调整。1. 方案定位与选型逻辑为什么要用LT6911C1.1 LT6911C解决了什么问题先从这个芯片的本质说起。HDMI是一种高速串行音视频传输接口它的物理层是TMDSTransition Minimized Differential Signaling差分信号携带的是编码后的音视频数据包而MIPI DSI/CSI是移动设备内部常用的点对点串行接口采用D-PHY物理层协议栈也完全不同。一个是设备之间互连的“外部接口”一个是板级芯片之间互连的“内部接口”这两者直接对接是不可能的。所以你需要一个桥接方案把HDMI接收端的TMDS信号解出来经过内部视频处理再按MIPI DSI或CSI的时序规则发出去。LT6911C就是干这个的。它在功能上扮演的是一个协议翻译官的角色同时兼具格式转换、时序重建、EDID模拟等辅助能力。典型的使用场景有几个把HDMI输出的信号接到只有MIPI DSI接口的屏幕模组上比如ST7701S这类常见的MIPI屏。扩展SoC的显示通道在主控MIPI DSI接口已经被占用的情况下额外开一个HDMI输入口。将HDMI信号转成MIPI CSI给ISP或者视频采集单元处理用于无损采集外部视频源。工业设备中需要把标准HDMI信号推到特定分辨率、特定刷新率的屏上靠的就是寄存器层面对时序的重定义。这就不难理解为什么这颗芯片会在嵌入式显示、智能座舱、驱动板设计里这么常见了。1.2 LT6911C与其他桥接方案的横向对比做方案选型时很多新手容易陷入看到芯片就开干的误区忽略了对比环节。实际上把备选芯片放在一起比一比能帮你节约不少后期调试的时间。我拿LT6911C和市面上另两类常见方案做对比对比项LT6911C同类LT6911UX系列FPGA软核方案开发成本低寄存器配置即可低高需要写RTL和固件分辨率支持常见4K30/1080P级别视具体型号而定UX通常更高取决于FPGA资源上限高MIPI通道数通常支持2端口、每端口2/4 lane视型号有更高lane配置灵活可配置调试难度中等有标准寄存器手册相近高需要掌握FPGA逻辑外围电路简单晶振加电源即可相近复杂需要配置芯片选择LT6911C而不是FPGA方案核心原因是效率。FPGA方案虽然灵活性高但你要自己实现HDMI RX、MIPI TX、颜色空间转换、时序控制这些逻辑写起来耗时长而且即便做出来稳定性也需要大量时间验证。LT6911C把HDMI接收端、视频处理、MIPI发送端全集成好了你要做的是通过I2C把寄存器配置成预期的工作模式配合正确的硬件设计它就能稳定工作。当然LT6911C不是万能的。比如需要支持高帧率、高分辨率或者需要做复杂图像后处理那么FPGA方案的优势就会体现出来。选型时一定要评估项目最核心的那个点而不要一味追求参数最高。给自己留够设计余量但也不要把方案复杂化。1.3 方案关键组成与整体数据流一个完整的LT6911C方案按数据流走向可以分为四段。第一段是HDMI输入。外部HDMI信号经过连接器、 ESD保护器件、共模电感进入LT6911C的HDMI RX端。这里不需要额外的PHY芯片因为LT6911C内置HDMI PHY和TMDS解码逻辑。它会自动协商HDMI信号参数解析出像素时钟、行场同步、数据使能信号和视频数据流。第二段是视频处理。LT6911C内部包含缩放、色彩空间转换、画质调整等模块。比如输入是4K信号你想输出到1080P的屏就可以通过寄存器配置内部缩放器来改变分辨率。这里要强调一个概念——输入时序和输出时序是独立的由芯片内部的时序发生器各自管理所以你可以灵活组合不同输入输出分辨率。第三段是MIPI发送。视频数据被封装成MIPI DSI或CSI协议包按D-PHY规范发送。LT6911C支持多个data lane通常可以根据屏的参数配置成2 lane或4 lane。Clock lane始终有用于同步数据采样。第四段是控制通道。你可以通过I2C接口读写LT6911C的寄存器实现模式切换、状态查询、初始化配置等。SoC端一般会有一个I2C控制器连接到芯片的从机地址上驱动起来后通过标准的I2C读写命令来控制。理解了整体数据流后面无论是硬件调试还是驱动适配你都会清楚当前问题出在哪一段。我一直认为做这东西最怕的就是“整机点不亮但不知道卡在哪里”而数据流图就是你的第一张排查地图。2. 硬件设计要点几个容易踩的电路细节2.1 HDMI输入侧电路接口定义、ESD与阻抗匹配硬件设计是LT6911C方案的基础这部分做不好软件再怎么调也是白搭。我先从HDMI输入侧说起。HDMI接口的信号定义核心是四对TMDS差分线三对数据一对时钟加上DDCI2C用于EDID与HDCP通信、CEC、HPDHot Plug Detect等信号。LT6911C作为接收端连接的是HDMI源端的输出。所以在硬件上你会看到HDMI连接器出来之后信号会走一段到LT6911C的RX引脚。这里有两个关键点。第一个是ESD保护。HDMI是外部可插拔接口静电风险高。实际项目中我基本都会在连接器之后加专用的HDMI ESD保护阵列比如常见的ESD二极管阵列同时配合共模电感来抑制共模噪声。ESD器件要靠近连接器放置走线先经过ESD再到芯片这样保护路径最短防护效果最好。第二个是阻抗控制。TMDS差分线的差分阻抗是100Ω单端对地阻抗约50Ω。PCB设计时这对差分线需要严格保持100Ω的差分阻抗控制。走线要尽量短避免过孔同一对差分线内部要保持等长误差控制在5mil以内否则会造成时序偏移高速信号下容易表现出图像噪点或者闪烁。这里有个容易被忽略的细节HDMI源端的HPD信号和DDC通道需要接上拉电阻到5V电源。LT6911C的HPD输出或者是直连、或者是通过三极管控制具体参考芯片手册。如果HPD信号处理不好会出现设备插上但没有识别到显示器的问题也就是“HPD握手失败”。我个人习惯是画完原理图后先用万用表过一遍关键信号再投板。比如差分线有没有接反、电源引脚是否短路、晶振是否连接正确这些低级错误在PCB回来后排错最浪费时间。2.2 MIPI输出侧设计lane分配、差分阻抗与电容耦合MIPI DSI/CSI输出侧的硬件设计和HDMI输入侧有很大的相似性但也有自己的特点。MPI信号是D-PHY差分对差分阻抗同样是100Ω。输出侧包括1对clock lane和多对data lane。通往屏端的FPC连接器或直接焊接点信号路径同样要控制阻抗、保持等长。MIPI信号通常是交流耦合还是直流耦合这个要区分。对于MIPI DSI屏来说大多数是直流耦合也就是芯片的TX引脚可以直接连接到屏的RX引脚。但也有部分设计采用交流耦合这时要在每条信号线上串接电容一般是几百nF量级的贴片电容。一定要确认屏模组的参考设计是哪种模式因为电容会改变信号眼图和直流电平搞错了会出现“明明接线正确但就是不出图”的情况。LT6911C支持多组MIPI输出端口。比如有些项目用到双端口分别接屏的左右两半或者两个独立的屏。配置通道数和端口分配通过寄存器来控制。硬件设计阶段要根据目标屏的pin定义去合理规划lane映射尤其是FPC连接器的走线顺序如果你把lane顺序搞乱软件上有没有交换能力是个未知数大概率要改板。这里要特别注意一点MIPI信号的走线在PCB上不要跨分割参考平面。我看到过一些设计为了省地MIPI走线下方参考平面被掏空了结果信号回路由问题干扰严重表现出来就是花屏或者无显示。保持完整的参考地平面对高速信号来说是生命线。2.3 供电、时钟与复位稳定性的根基LT6911C的电源设计是整个硬件部分最容易被忽视、但出问题概率最高的环节。该芯片内部一般有多个电压域核心逻辑电压、IO电压、模拟电压、HDMI PHY电压、MIPI PHY电压等。手册上会给出每一路的具体要求比如1.2V核心、1.8V IO、3.3V接口等。设计时要用LDO或者DC-DC提供干净稳定的电源避免电源噪声耦合进模拟电路。我自己踩过一个印象很深的坑——用了一颗纹波较大的DC-DC给芯片模拟电源供电结果HDMI输入正常MIPI输出图像总有一条淡淡的纹波带在滚动起初怀疑是屏或FPC问题排到最后才发现是电源纹波导致的。后来换成低噪声LDO并联合适的去耦电容问题立刻消失。所以电源设计上多花一点成本能省下后面无数排查时间。时钟方面LT6911C通常需要一颗参考晶振常见的是25MHz。晶振的精度、负载电容容值要和芯片的要求匹配不然时钟频率偏差会导致输出时序不准。PCB布局时晶振要紧靠芯片对应的时钟引脚放置走线尽量短避免过长走线引来干扰。复位电路可以简单用RC复位也可以用专门的复位芯片。上电时序要与SoC的时序匹配必要时用GPIO控制复位引脚保证软件能灵活地进行复位操作。如果复位时序不对芯片可能处于不确定状态表现为I2C能读到设备但功能完全异常。硬件设计的核心思想就是不放过任何“看起来差不多”的细节。高速接口不比低速模拟电路一点点寄生、一点阻抗不连续、一点电源噪声最终都会体现在显示的稳定性上。3. 软件配置核心寄存器初始化与MIPI模式设定3.1 I2C访问方式从机地址与读写流程硬件做完软件调试就要开始了。LT6911C的控制通道是I2CSoC通过I2C控制器访问它的寄存器空间。首先确认I2C从机地址。这个地址由芯片的硬件pin脚电平决定或者规格书中直接给出默认值。常见的是0x2C、0x2D这类7-bit地址也有部分型号用0x58、0x5A等取决于具体版本。拿到芯片后第一件事是用I2C扫描工具确认在系统枚举时能找到设备并且读出来的设备ID寄存器和手册一致。I2C读写寄存器的流程本身不复杂// 读寄存器函数示意 int lt6911c_read_reg(struct i2c_client *client, u8 reg, u8 *val) { int ret; struct i2c_msg msg[2]; msg[0].addr client-addr; msg[0].flags 0; msg[0].len 1; msg[0].buf reg; msg[1].addr client-addr; msg[1].flags I2C_M_RD; msg[1].len 1; msg[1].buf val; ret i2c_transfer(client-adapter, msg, 2); if (ret ! 2) return -EIO; return 0; }写入则更简单把寄存器地址和值组合在一个buffer里一次发出去即可。调试初期我建议直接用perl或者python的smbus库、i2c-tools的命令行工具手动读写寄存器验证功能而不是一上来就写完整驱动。这样能快速确认芯片通信正常、初始化序列是否生效比在驱动里调试变量方便得多。3.2 工作模式配置输出分辨率、lane数与时钟参数LT6911C的核心功能是配置输出端的MIPI时序。你需要告诉它屏的参数——分辨率、色彩格式、lane数、时钟频率。以一块常见的MIPI DSI屏为例参数可能有分辨率1080x1920色彩格式RGB888Lane数4 lane刷新率60Hz像素时钟约 148.5MHzMIPI DSI的时钟lane频率简单估算公式是像素时钟 x 每个像素bit数 / lane数 / 2DDR采样。每种色彩格式对应的每像素bit数不同RGB888是24bit。为了让时钟余量充足实际配置时往往会略高于理论值。寄存器里这些参数并不是直接填“1080”“1920”这么直观而是要分解为水平有效像素、水平前肩、水平后肩、水平同步脉冲、垂直有效行数、垂直前肩、垂直后肩、垂直同步脉冲这些具体数值。这就对应到了MIPI DSI协议里的HFP、HBP、HSA、VSA、VFP、VBP等时序参数。这些参数不用全部手动计算一般屏厂会提供初始化代码里面包含完整的时序寄存器配置。你要做的是理解每个参数的含义以便在出现问题时能手动调整。输出时还要注意MIPI的video mode选择。常见的有Non-Burst with Sync Pulses、Non-Burst with Sync Events、Burst Mode。LT6911C需要和屏的时序要求匹配。比如ST7701S这类屏初始化代码里通常会搭配Burst Mode或Non-Burst Mode配置不一致会导致显示时亮时灭或者滚动条纹。3.3 初始化序列与调试手段i2c-tools实战有了芯片和屏的初始化序列调试时我有几个固定的操作习惯。首选工具是i2c-tools。在嵌入式Linux系统里装了i2c-tools之后可以用i2cdetect检查设备地址用i2cset写入寄存器、i2cget读取状态。比如验证芯片是否正常启动可以读取芯片ID寄存器# 扫描总线上所有设备 i2cdetect -y 3 # 读取芯片ID具体寄存器地址以手册为准 i2cget -y 3 0x2c 0x00如果返回值符合预期说明芯片上电和I2C通信都没有问题。接着就是按照初始化序列依次写寄存器i2cset -y 3 0x2c 0x01 0x80 i2cset -y 3 0x2c 0x02 0x10 ...我调试时会写一个简单shell脚本把整个初始化序列写进去然后反复执行观察寄存器回读值再配合示波器观察MIPI信号来进行调试。这个方式比直接改内核驱动再编译快得多能在几分钟内完成一轮“改配置-执行-观察结果”的循环。初始化序列顺序也很重要。有些寄存器必须在特定状态下写入比如先关闭输出、再配置PLL、最后使能输出。如果顺序不对可能寄存器值写进去了但功能不生效。手册里一般会给推荐的初始化流程图照着来是最稳的。需要特别留意的是很多转换芯片包含burst mode、auto standby等选项。必要时可以关闭一些省电功能以换取更稳定的输出。有时候屏幕“偶尔闪一下”就是这类后台机制在起作用。4. 系统集成与驱动适配从设备树到显示效果4.1 Linux设备树中如何描述LT6911C芯片寄存器调通之后就到了驱动适配阶段。在Linux下做LT6911C的驱动实际上要写两部分逻辑一部分是I2Cclient设备的驱动负责芯片自身的初始化、状态控制比如通过sysfs或ioctl接口供上层调用另一部分是和DRM子系统对接的代码让内核把它当作一个显示桥接器或连接器来管理。Linux设备树DTS里描述LT6911C的方式以I2C设备节点为主可选地描述为DRM bridge。一个典型的设备树片段类似这样i2c3 { status okay; lt6911c: lt6911c2c { compatible lontium,lt6911c; reg 0x2c; reset-gpio gpio4 16 GPIO_ACTIVE_LOW; interrupt-parent gpio4; interrupts 17 IRQ_TYPE_LEVEL_LOW; pinctrl-names default; pinctrl-0 lt6911c_pins; status okay; }; };其中reset-gpio用于复位控制interrupt用于热插拔检测。如果做HDMI热插拔芯片通常会有中断输出pin当HDMI源接入或拔出时芯片会通过该pin通知SoCSoC再决定是建立显示链路还是断开。如果SoC的DRM子系统支持bridge框架可以把LT6911C注册成bridge挂在某个显示controller后面。这样上层应用在使用DRM接口时会看到多了一个HDMI显示器节点方式比较标准。如果想快速验证简单的方式是在drivers/gpu/drm下新增一个小的bridge驱动把初始化逻辑放到bridge enable/disable回调里。但这种做法可维护性稍差适合前期功能验证。4.2 竖直屏幕改成横屏显示的处理思路热搜词里有个“mipi dsi drm竖屏改横屏显示”这是我在实际交流中被问得非常多的问题之一。先说结论竖屏物理面板显示横屏内容本质上是一个“旋转”问题涉及两个层面第一层是渲染层即上层应用绘制的内容是横向还是纵向。比如显示一张1920x1080的照片到一块1080x1920的竖屏上需要应用层做旋转或者使用系统的合成器比如DRM的rotation属性做旋转。第二层是时序层即屏的扫描顺序。MIPI DSI屏的数据发送顺序是逐行扫描的从左上角开始。如果你想让图像整体旋转90度或270度一种方式是在GPU/显示控制器层面完成旋转然后把旋转后的帧数据按原扫描顺序发给屏幕另一种方式是让转换芯片或者屏驱动IC在内部做旋转但不是所有屏都支持。在LT6911C方案的语境下如果你需要把HDMI输入的横屏信号输出到一块竖屏问题焦点其实在于你是让SoC在内部把图像旋转后再通过LT6911C输出还是直接以横屏时序输出给竖屏面板。前者需要在DRM层配置rotation属性主控如果支持硬件rotation则效率高否则是CPU/GPU介入会占额外开销。后者则因为LT6911C输出的时序是横屏的竖屏面板收不到匹配的时序无法正常工作所以不可行。所以实践中的建议是先明确你平台支持旋转的层级和方式再决定最终方案。一边调驱动一边到处改应用层的旋转代码很容易陷入“应用改了又改回来”的循环。4.3 兼容性与扩展RK3576、RK3567等平台适配要点因为热搜词里多次出现RK3576、RK3567这里补充一下在Rockchip平台上适配LT6911C时我积累的经验。Rockchip平台的显示架构一般是VOPVideo Output Processor输出到DSI控制器或者HDMI控制器。当你外接LT6911C时从SoC角度看LT6911C扮演的是“HDMI输入设备”SoC这边不需要做MIPI发送反而是要接收HDMI输入。注意这和把LT6911C当作DSI屏的桥接器是完全不同的数据流向。具体到驱动适配要区分两种角色若LT6911C用于把HDMI信号转发给SoC的ISP或视频处理器那么它在驱动里更像是一个MIPI CSI摄像头设备需要按V4L2子设备的方式接入。若LT6911C用于把SoC的HDMI输出信号转发给MIPI屏那么它属于显示链路的一部分需要在DRM的bridge链条上做好对接。Rockchip平台有自己的一套HDMI和DSI驱动如果你复用它的HDMI控制器输出信号到LT6911C再转给MIPI屏中间还涉及HDMI控制器的输出时序配置要与LT6911C的HDMI接收能力匹配。比如RK3576的HDMI输出可能默认带HDCP但LT6911C的部分版本可能不支持更高版本的HDCP这时要在驱动里显式关闭或降级。这类的兼容性问题得靠读写对方设备的能力寄存器去逐个确认没有捷径。另一个常见问题是媒体声音。热搜里有一条“rk3576 android14插上hdmi线后就没媒体声音”如果你用LT6911C做HDMI转MIPI且SoC同时还在对外输出HDMI音频处理音视频同步时也会遇到类似问题。LT6911C转换的是视频信号但HDMI同时也携带音频很多时候音频由SoC的另一条链路独立发送给功放这时音画同步就要依赖驱动和应用层共同保证。遇到插线后没声音优先排查音频路由策略而不是怀疑转换芯片。多平台适配的核心思想是找到芯片和SoC各自的能力边界然后在驱动里做匹配。同样一颗LT6911C在不同SoC上的驱动实现差异很大直接拷贝DTS是不行的。5. 信号完整性与故障排查从现象定位到根因5.1 上电无输出的排查路径“接上电源屏不亮什么反应都没有”是提问率最高的现象。这种情况按照以下顺序排查效率最高。先排除供电问题。用万用表测量LT6911C各路电压是否正常电压值是否在规格范围内纹波是否过大。我曾遇到过LDO输出被电容短路的问题引脚焊接时锡桥连到了旁边地焊盘导致整路电压不对。然后是I2C通信。用i2cdetect确认设备是否存在。如果扫描不到设备检查I2C地址是否配置正确、上拉电阻是否正确、芯片是否处于复位状态。有时因为复位引脚悬空芯片一直处于复位中表现就是I2C完全没有响应。接着检查初始化序列是否完整执行。芯片手册中一般会要求几组关键的寄存器必须在MIPI输出之前配置好比如PLL分频、lane number、lane rate等。遗漏任何一个关键寄存器输出都可能不工作。还不行就上示波器。测MIPI clock lane和data lane上有没有波形。如果clock有波形、data没有说明芯片在发时钟但数据通道异常如果clock都没有说明芯片可能没有产生输出时序问题在初始化或输入侧。5.2 花屏、闪烁、图像异常的定位方法如果图像能显示但花屏、闪烁或颜色异常这个问题往往更让人头疼。我积累的经验是分三类排查。第一类信号质量问题。用一个MIPI示波器探头测各lane的波形看眼图是否张开、信号幅度是否达标、有无明显噪声。这类问题常见于FPC过长、阻抗不连续、电源噪声耦合。换一条更短的FPC或者调整PCB走线是常见的解决方法。第二类时序参数问题。检查HFP、HBP、HSA、VSA等参数是否在屏的规格范围内。有些屏对时序的容限很窄参数稍微偏差一点就会出现条纹。这时候可以小幅调整这些参数观察显示是否恢复正常。第三类协议配置问题。确认MIPI的video mode、color format、lane数是否和屏端一致。比如屏是RGB888你却配置成RGB666颜色会明显偏色。或者是Burst Mode与Non-Burst Mode配置错乱也会造成横条纹或滚动。还有一种是“偶发性闪屏”这类问题往往最难查。优先考虑电源噪声、ESD干扰和芯片过热。如果芯片温度过高异常就会随机出现。散热设计有时会被忽略但值得重视。5.3 MIPI时钟信号示波器波形怎么看关于“mipi时钟信号示波器波形”这个话题这里多说几句。用示波器测MIPI差分时钟时要注意探头带宽。D-PHY的时钟频率根据分辨率不同几十MHz到上GHz都有如果探头带宽不够波形会被“衰减”看起来像一个正弦波而不是方波容易误判。正常工作时MIPI clock lane是一对持续翻转的差分信号波形应当稳定、周期一致。通过测量差分信号的频率你可以和寄存器里配置的lane rate换算值做对比确认芯片输出的时钟频率是否正确。如果频率偏差太大说明PLL配置有问题。数据lane在无数据传输时可能处于LP状态或HS终止状态并不是持续翻转这是正常现象。观察数据lane时重点关注HS突发传输时的信号幅度和边沿是否有过冲、下冲。有的项目通过加重或调整寄存器驱动能力来改善信号质量LT6911C一般会有相关的驱动强度配置。建议实验室备一台支持差分探头、带宽1GHz以上、采样率至少5GS/s的示波器对调试高速MIPI信号非常有必要。如果示波器性能不够至少可以借助逻辑分析仪配合协议解析来检查时序参数但只靠逻辑分析仪无法看到模拟信号质量最终确认还需要示波器。6. 实操心得与扩展思路项目做完之后我习惯复盘一遍哪些决策是对的哪些地方走了弯路。LT6911C方案的成败我认为核心在“三件事”上第一件事是硬件设计。HDMI输入、MIPI输出、供电、时钟、复位任何一个环节做不好后面软件再努力也救不回来。尤其是差分阻抗控制、电源噪声、ESD保护这三点一定要在设计阶段投入足够的注意力。第二件事是寄存器初始化序列的准确掌握。不要只看一两个配置要逐条核对。有些寄存器是“隐藏”的手册没讲得很清楚但不配置又不行。这种信息往往藏在厂家的应用笔记或参考代码里多在论坛、社区上搜一搜同类方案的做法能找到很多启发。第三件事是系统侧的主动配合。LT6911C只是一个转换器件最终能不能点亮、显示效果如何还要看SoC端的驱动怎么配合。设备树配置、DRM/V4L2子设备注册、中断处理、热插拔逻辑这些上下文都要理顺。还有一个建议找一颗“参考屏”把所有调试环节拆开。不要一开始就接上目标屏先用最普通、最成熟的屏调通芯片确认数据链路没问题再切换到目标屏。这样可以避免把“芯片问题”和“屏兼容性问题”搅在一起排查起来快很多。至于扩展方向LT6911C方案做完以后可以考虑把热插拔检测、EDID管理、HDCP状态上报等功能做成标准sysfs接口方便上层应用统一控制。也可以在驱动里加入调试fs节点实时读取芯片寄存器状态提升后续维护效率。芯片本身提供了不少有价值的功能只是需要花时间去挖掘和整合。回到最初那句话LT6911C方案的锻炼价值并不仅仅在于点亮一块屏而是让你完整理解HDMI、MIPI、DRM、I2C、信号完整性等多条知识线的交叉融合。实践经验告诉我能把这个方案吃透的人再去做其他显示接口转换、嵌入式显示调试都会从容很多。
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进