RK3288 dts和dtsi介绍

老子叫甜甜 提交于 2020-01-10 00:49:27

朱有鹏-触摸屏课堂笔记:
1.触摸屏分为电阻屏和电容屏
电阻屏:例如S3C2440芯片的SOC内部自带了TC控制器和A/D转换,该触摸屏驱动也就是SOC内部的
TC控制器的驱动
电容屏:

驱动方式,可以实现为:
1>MISC(杂散类设备,作为杂散类设备引入(系统))驱动,最终也是实现input子系统类驱动,才能用input子系统
往上上报数据。
2>platform平台类设备,用platform子系统来处理它,此情况只能用I2C子系统的方法来处理它。这种情况,对I2C
来说,整个的触摸屏设备其实就是一个I2C设备,I2C根本不管触摸屏是电阻/电容式,我们只认I2C,对于驱动来说只是
通过I2C接口来向I2C设备发送命令/接收数据,对于触摸屏的操作+A/D_TP芯片的实现完全不关心,我SOC只管I2C接口。

备注:
TP是 Touch Panel触摸屏的意思。
触控屏(Touch panel)又称为触控面板,是个可接收触头等输入讯号的感应式液晶显示装置,当接触了屏幕上的图形按钮时,屏幕上的触觉反馈系统可根据预先编程的程式驱动各种连结装置,可用以取代机械式的按钮面板,并借由液晶显示画面制造出生动的影音效果。Samuel Hurst 博士在1971年发明了一个触摸传感器,这个传感器就是触控屏的雏形。三年后,他设计了第一款透明的触控屏。1977年,触控屏技术得到了很大的改善,一直到今天仍在被广泛使用并且飞速发展。
手机触摸屏分为两种:电阻屏和电容屏,目前流行的触摸屏多数都为lens屏,就是纯平电阻和镜面电容屏,诺基亚多数都为电阻屏的,电容屏的代表为iphone。
电阻触屏俗称“软屏”,多用于Windows Mobile系统的手机;
电容触屏俗称“硬屏”,如iPhone和G1等机器采用这种屏质的。

对于触摸屏的基础理解——关于ft5x06(敦泰):
https://blog.csdn.net/ly601579033/article/details/42237913


RK3288 dts和dtsi介绍

    Device Tree 是一种描述硬件的数据结构,它起源于 OpenFirmware(OF)。在 Linux2.6 中,ARM 架构的板机硬件细节过多地被硬编码在 arch/arm/plat-xxx 和 arch/arm/mach-xxx,采用 Device Tree 后,许多硬件的细节可以直接透过它传递给 Linux,而不再需要在 kernel 中进行大量的冗余编码。

    Device Tree 由一系列被命名的结点(node)和属性(property)组成,而结点本身可包含子节点。所谓属性,其实就是成对出现的 name 和 value 。

    在 Device Tree 中,可描述的信息包括(原先这些信息大多被硬编码到 kernel 中):

  • CPU的数量和类别
  • 内存基地址和大小
  • 总线和桥
  • 外设连接
  • 中断控制器和中断使用情况
  • GPIO控制器和GPIO使用情况
  • Clock控制器和Clock使用情况

    它基本上就是画一棵电路板上(CPU、总线、设备组成)的树,Bootloader 会将这棵树传递给内核,然后内核可以识别这棵树,并根据它展开出 Linux 内核中的 platform_device、i2c_client、spi_device等设备,而这些设备用到的内存、IRQ 等资源,也被传递给了内核,内核会将这些资源绑定给展开的相应的设备。

    .dts 文件是一种 ASCII 文本格式的 Device Tree 描述。基本上,在 ARM Linux 中,一个 .dts 文件对应一个 ARM 的 machine,一般放置在内核的 arch/arm/boot/dts/ 目录。由于一个 SOC 可能对应多个 machine(一个SOC可以对应多个产品和电路板),势必这些 .dts 文件需包含许多共同的部分,Linux 内核为了简化,把 SOC 公用的部分或者多个 machine 共同的部分一般提炼为 .dtsi,类似于C语言的头文件。其他的 machine 对应的 .dts 就是 include 这个 .dtsi 。

 


***********《朱有鹏老师嵌入式linux核心课程》 ***********
《5.linux驱动开发-第9部分-5.9.触摸屏驱动移植实战》
--------------------------------------------------------
本课程由朱老师物联网大讲堂推出并提供技术支持,课件可打包下载
网盘地址:http://yunpan.cn/cjVy3RAgfDufK 访问密码 4ad7
技术交流QQ群:朱老师物联网讲堂1群 397164505
--------------------------------------------------------

    Device Tree 是一种描述硬件的数据结构,它起源于 OpenFirmware(OF)。在 Linux2.6 中,ARM 架构的板机硬件细节过多地被硬编码在 arch/arm/plat-xxx 和 arch/arm/mach-xxx,采用 Device Tree 后,许多硬件的细节可以直接透过它传递给 Linux,而不再需要在 kernel 中进行大量的冗余编码。

    Device Tree 由一系列被命名的结点(node)和属性(property)组成,而结点本身可包含子节点。所谓属性,其实就是成对出现的 name 和 value 。

    在 Device Tree 中,可描述的信息包括(原先这些信息大多被硬编码到 kernel 中):

  • CPU的数量和类别
  • 内存基地址和大小
  • 总线和桥
  • 外设连接
  • 中断控制器和中断使用情况
  • GPIO控制器和GPIO使用情况
  • Clock控制器和Clock使用情况

    它基本上就是画一棵电路板上(CPU、总线、设备组成)的树,Bootloader 会将这棵树传递给内核,然后内核可以识别这棵树,并根据它展开出 Linux 内核中的 platform_device、i2c_client、spi_device等设备,而这些设备用到的内存、IRQ 等资源,也被传递给了内核,内核会将这些资源绑定给展开的相应的设备。

    .dts 文件是一种 ASCII 文本格式的 Device Tree 描述。基本上,在 ARM Linux 中,一个 .dts 文件对应一个 ARM 的 machine,一般放置在内核的 arch/arm/boot/dts/ 目录。由于一个 SOC 可能对应多个 machine(一个SOC可以对应多个产品和电路板),势必这些 .dts 文件需包含许多共同的部分,Linux 内核为了简化,把 SOC 公用的部分或者多个 machine 共同的部分一般提炼为 .dtsi,类似于C语言的头文件。其他的 machine 对应的 .dts 就是 include 这个 .dtsi 。

 


***********《朱有鹏老师嵌入式linux核心课程》 ***********
《5.linux驱动开发-第9部分-5.9.触摸屏驱动移植实战》
--------------------------------------------------------
本课程由朱老师物联网大讲堂推出并提供技术支持,课件可打包下载
网盘地址:http://yunpan.cn/cjVy3RAgfDufK 访问密码 4ad7
技术交流QQ群:朱老师物联网讲堂1群 397164505
--------------------------------------------------------

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!