作者:chenzhufly QQ:36886052 (转载请注明出处)
硬件环境:Beaglebone black+ AT070TN83(群创7寸屏)
软件环境:Angstrom-Cloud9-IDE-GNOME-eglibc-ipk-v2012.12-beaglebone-2013.06.20.img.xz
相关链接:
6、 《AM335X触摸屏的硬件连接及Linux驱动》http://www.deyisupport.com/question_answer/w/faq/469.am335x-linux.aspx
硬件部分待补,呵呵。。。。。
还记得在《使用device tree管理我的BBB LCD CAPE(群创7寸屏)》中贴的cape-eeworld-lcd-00A0.dts吗?这个文件是我从debian系统里面拷贝出来的,显示部分没有什么问题,但是触摸部分是有问题的!
注意这部分的代码:
- tscadc {
- compatible = "ti,ti-tscadc";
- reg = <0x44e0d000 0x1000>;
- interrupt-parent = <&intc>;
- interrupts = <16>;
- ti,hwmods = "adc_tsc";
- status = "okay";
- tsc {
- ti,wires = <4>;
- ti,x-plate-resistance = <200>;
- <b> ti,coordinate-readouts = <5>;</b>
- ti,wire-config = <0x00 0x11 0x22 0x33>;
- };
- adc {
- <b> ti,adc-channels = <4 5 6 7>;</b>
- };
- };
我查阅了相关的资料,有详细的描述,感觉问题不大,但是触摸还是不行。
https://www.kernel.org/doc/Documentation/devicetree/bindings/input/touchscreen/ti-tsc-adc.txt
- * TI - TSC ADC (Touschscreen and analog digital converter)
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Required properties:
- - child "tsc"
- ti,wires: Wires refer to application modes i.e. 4/5/8 wire touchscreen
- support on the platform.
- ti,x-plate-resistance: X plate resistance
- ti,coordinate-readouts: The sequencer supports a total of 16
- programmable steps each step is used to
- read a single coordinate. A single
- readout is enough but multiple reads can
- increase the quality.
- A value of 5 means, 5 reads for X, 5 for
- Y and 2 for Z (always). This utilises 12
- of the 16 software steps available. The
- remaining 4 can be used by the ADC.
- ti,wire-config: Different boards could have a different order for
- connecting wires on touchscreen. We need to provide an
- 8 bit number where in the 1st four bits represent the
- analog lines and the next 4 bits represent positive/
- negative terminal on that input line. Notations to
- represent the input lines and terminals resoectively
- is as follows:
- AIN0 = 0, AIN1 = 1 and so on till AIN7 = 7.
- XP = 0, XN = 1, YP = 2, YN = 3.
- - child "adc"
- ti,adc-channels: List of analog inputs available for ADC.
- AIN0 = 0, AIN1 = 1 and so on till AIN7 = 7.
- Example:
- <b> tscadc: tscadc@44e0d000 {
- compatible = "ti,am3359-tscadc";
- tsc {
- ti,wires = <4>;
- ti,x-plate-resistance = <200>;
- ti,coordiante-readouts = <5>;
- ti,wire-config = <0x00 0x11 0x22 0x33>;
- };</b>
- adc {
- ti,adc-channels = <4 5 6 7>;
- };
- }
黔驴技穷的时候又打开了Angstrom下的BB-BONE-LCD7-01-00A2.dts 文件,终于发现问题所在,但这部分没有看到相关的文档支持。
- tscadc {
- compatible = "ti,ti-tscadc";
- reg = <0x44e0d000 0x1000>;
- interrupt-parent = <&intc>;
- interrupts = <16>;
- ti,hwmods = "adc_tsc";
- status = "okay";
- tsc {
- ti,wires = <4>;
- ti,x-plate-resistance = <200>;
- <b> ti,steps-to-configure = <5>;</b>
- ti,wire-config = <0x00 0x11 0x22 0x33>;
- };
- adc {
- <b> ti,adc-channels = <4>;</b>
- };
- };
放一段视频上来,供大家欣赏!