I.MX6开发板移植Linux4.1.15内核之TSC2007触摸屏设备树信息的添加
之前寫過一篇3.0.35內核移植關于TSC2007觸摸屏驅動移植的文章。里面對TSC2007.c驅動程序的分析比較清晰,點擊鏈接查看:點擊鏈接查看
本篇文章,主要記錄在4.1.15內核移植的過程中,對于TSC2007設備的添加,需要如何添加設備樹信息。
1、TSC2007硬件原理圖分析
先看相關原理圖:
tsc2007控制器芯片的原理圖。
由tsc2007芯片原圖與核心板相關連接的引腳知:
- 觸摸屏與CPU通過I2C總線進行數據傳輸,且為I2C3
- I2C3有兩條線,SCL與SDA,分別于核心板的GPIO_3與GPIO_6連接
- 中斷引腳為GPIO6_IO7,與核心板的連接為NAND_CLE系列引腳
2、TSC2007設備樹的添加
本次主要修改imx6qdl-sabresd.dtsi文件,該文件是與具體外設相關的文件
在i2c3節點下:
&i2c3 {clock-frequency = <100000>;pinctrl-names = "default";pinctrl-0 = <&pinctrl_i2c3>;status = "okay";//添加tsc2007@48 {compatible = "ti,tsc2007";reg = <0x48>;pinctrl-names = "default";pinctrl-0 = <&pinctrl_i2c1_tsc2007_int>;interrupt-parent = <&gpio6>;interrupts = <0x7 0x8>;gpios = <&gpio6 7 0>;ti,x-plate-ohms = <180>;}; };在iomuxc節點下的imx6qdl-sabresd節點下:
&iomuxc {pinctrl-names = "default";pinctrl-0 = <&pinctrl_hog>;imx6qdl-sabresd {................pinctrl_i2c3: i2c3grp {fsl,pins = <MX6QDL_PAD_GPIO_3__I2C3_SCL 0x4001b8b1MX6QDL_PAD_GPIO_6__I2C3_SDA 0x4001b8b1>;};pinctrl_i2c1_tsc2007_int: i2c1_tsc2007_int {fsl,pins = <MX6QDL_PAD_NANDF_CLE__GPIO6_IO07 0x80000000>;};................}; };3、觸摸屏的校準
校準的目的:為了與顯示屏的坐標一一對應。我們一般采用軟件校準,使用Tslib庫里的校準軟件進行校準們首先需要移植Tslib庫。
- 將Tslib庫編譯安裝到文件系統中
我的這一步驟是放到開發的環境中做的,其實可以直接在單板上搞,如果單板上是有編譯器的話。
- 然后將系統燒寫到單板,在單板上操作:
- 測試
備注:如果出現段錯誤,解決辦法如下:
1、ts.conf文件中的各個設置選項之前不能有空格,否則會出現: Segmentation fault 錯誤
2、不要在pointercal對應的目錄下,建立一個空的pointercal文件,否則在運行ts_calibrate時,
也可能會出現Segmentation fault
4、總結
不要放棄,下一次就會成功!!!
學習探討加:
qq:1126137994
微信:liu1126137994
總結
以上是生活随笔為你收集整理的I.MX6开发板移植Linux4.1.15内核之TSC2007触摸屏设备树信息的添加的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php的两种复合数据类型是什么意思_2.
- 下一篇: linux系统下安装两个或多个tomca