您的位置 首页 新能源

AM335x(TQ335x)学习笔记——LCD驱动移植

TI的LCD控制器驱动是非常完善的,共通的地方已经由驱动封装好了,与按键一样,我们可以通过DTS配置完成LCD的显示。下面,我们来讨论下使用D

TI的LCD操控器驱动是十分完善的,共通的当地已经由驱动封装好了,与按键相同,咱们能够经过DTS装备完结LCD的显现。下面,咱们来评论下运用DTS方法装备内核完结LCD驱动的思路。

(1)开始剖析

因为TQ335x运用的芯片是AM335x,故依然能够参阅am335x-evm.dts。当然,am335x-evmsk.dts、am335x-beagbone.dts都能够。本文以am335x-evm.dts为例。大体上阅览下DTS文件,能够发现两个夺目的节点:一个是panel,一个是backlight。接下来咱们逐一剖析。

(2)panel节点信息剖析及装备

从panel节点能够获得如下信息:

  1. 1.匹配内核驱动的关键词是:”ti,tilcdc,panel”,能够经过这个关键字找到相应的驱动。
  2. 2.管脚装备在节点lcd_pins_s0内
  3. 3.panel-info中能够装备LCD的硬件信息,如LCD的分辨率等
  4. 4.display-times中记录了LCD刷屏的相关时序。

其间,panel-info和display-times需求去LCD手册中查找,管脚装备需求依据AM335x的芯片手册、数据手册及TQ335x的原理图承认,驱动则需求去内核的driver目录下查找。下面,我逐个处理上述几个问题:
首先是设置panel-info和display-times。我的TQ335x是用的我调试TQ210时运用的触摸屏,类型是TN92,这个屏是800*480的分辨率,因而,panel-info与evm开发板的装备是相同的,能够不做任何修正。可是,不同屏幕的display-times一般是不相同的,因而,需求查阅触摸屏的手册来承认display-times。

TN92的水平扫描时序如下表:

笔直扫描时序如下图:

可是,假如对LCD各参数不怎么了解的话,很难树立这两个表与DTS中display-times的联系,这时应该去查阅一下linux内核的文档和芯片手册。在内核文档:”Documentation/devicetree/bindings/video/display-timing.txt”有相关的记载,该文件中有形象的描绘,详细如下:

  1. +———-+————————————-+———-+——-+
  2. ||↑|||
  3. |||vback_porch|||
  4. ||↓|||
  5. +———-#######################################———-+——-+
  6. |#↑#||
  7. |#|#||
  8. |hback#|#hfront|hsync|
  9. |porch#|hactive#porch|len|
  10. |<-------->#<-------+--------------------------->#<-------->|<----->|
  11. |#|#||
  12. |#|vactive#||
  13. |#|#||
  14. |#↓#||
  15. +———-#######################################———-+——-+
  16. ||↑|||
  17. |||vfront_porch|||
  18. ||↓|||
  19. +———-+————————————-+———-+——-+
  20. ||↑|||
  21. |||vsync_len|||
  22. ||↓|||
  23. +———-+————————————-+———-+——-+

AM335x的技能参阅手册中能够找到相关的寄存器解说,如下:

归纳这三份材料,很简单承认下LCD的屏的时序参数的规模(需求着重的是,上述参数不一定准确,还需求运用图片实机测下作用),经过屡次试验,终究承认下了LCD的时序参数,概况如下:

  1. panel{
  2. compatible=”ti,tilcdc,panel”;
  3. status=”okay”;
  4. pinctrl-names=”default”;
  5. pinctrl-0=<&lcd_pins_s0>;
  6. panel-info{
  7. ac-bias=<255>;
  8. ac-bias-intrpt=<0>;
  9. dma-burst-sz=<16>;
  10. bpp=<32>;
  11. fdd=<0x80>;
  12. sync-edge=<0>;
  13. sync-ctrl=<1>;
  14. raster-order=<0>;
  15. fifo-th=<0>;
  16. };
  17. display-timings{
  18. 800x480p62{
  19. clock-frequency=<30000000>;
  20. hactive=<800>;
  21. vactive=<480>;
  22. hfront-porch=<214>;
  23. hback-porch=<40>;
  24. hsync-len=<4>;
  25. vback-porch=<20>;
  26. vfront-porch=<23>;
  27. vsync-len=<4>;
  28. hsync-active=<0>;
  29. vsync-active=<0>;
  30. };
  31. };
  32. };

时序承认下来之后需求重视的便是管脚装备,因为am335x集成了LCD操控,该操控器与LCD的衔接方法是经过GPIO管脚复用完成的,而evm开发板与TQ335x的LCD都接在了同一个LCD操控器上,因而,直接运用原有的管脚装备即可。这一点也能够经过阅览TQ335x的原理图承认,这儿我就不再剖析了。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/xinnengyuan/256227.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部