9.1.1. RTP调试配置

9.1.1.1. 概述

相比CTP电容触摸屏,RTP电阻触摸屏的配置和调试稍微简单,因为不需要额外的触摸屏驱动,只需要根据原理图设置对应的dts参数,然后把系统自带的RTP控制器驱动加载即可。

详细的原理介绍请参考 接口部分关于RTP的说明

9.1.1.2. 内核配置

参考快速入门 - 编译概述 - Kernel配置,进入kernel的功能配置,按如下选择:

Linux
    Device Drivers
        Input device support
            [*] Touchscreens
                <*> ZX resistive touchscreen controller support

9.1.1.3. DTS参数配置

board.dts中的参数配置时请确保硬件连线和所配置参数一致,示例如下:

&rtp {
    aic,max-pressure = <800>;       //最大压感值,超过此值的坐标事件被忽略,按压力度越小该值越大,即值越大触摸越敏感
    aic,x-plate = <235>;            //用万用表测量触摸板X+ 和 X-之间的电阻值获得
    pinctrl-names = "default";      //默认
    pinctrl-0 = <&rtp_pins>;        //RTP触摸板接线对应的PIN脚
    status = "okay";                //RTP驱动使能标志
};

其中rtp_pins定义在m4-pinctrl.dtsi,4个pin脚需要分别对应RTP屏的X+ 、Y+ 、X- 、Y- 需要硬件确认无误。

rtp_pins: rtp-0 {
    pins {
        pinmux = <AIC_PINMUX('A', 8, 2)>,
                 <AIC_PINMUX('A', 9, 2)>,
                 <AIC_PINMUX('A', 10, 2)>,
                 <AIC_PINMUX('A', 11, 2)>;
    };
};

硬件接线示例图如下:

../../../_images/rtp1.png

注意

请务必确保dts所配置的参数和引脚与硬件原理图一致

9.1.1.4. 调试

  • 测量硬件通路

    测量硬件通路是否正常,测量电压信号是否正常

  • 查看打印信息

    打开调试选项,系统启动时看是否有异常打印

    Linux
        Kernel hacking
            ZX Debug
                [*] RTP driver debug
    
  • 查看节点信息

    在RTP初始化成功后,会在sysfs中注册生成一个status节点,其中打印了当前的RTP配置及状态信息:

    # cat /sys/devices/platform/soc/19252000.rtp/status
    In RTP controller V1.00:
    Mode 0/2, RTP enale 0, Press detect enable 0
    Manual mode status 0
    Pressure enable 1, max 800, x-plate 235, y-plate 0
    Point num: 1, Sample period: 0, Fuzz: 0
    
  • 获取坐标信息

    如果系统有编译getevent工具,触摸屏有触摸时进行坐标的打印

    # getevent
    
  • 获取设备信息

    # cat /proc/bus/input/devices
    
    例如:
    I: Bus=0019 Vendor=0000 Product=0001 Version=0000
    N: Name="Power Button"
    P: Phys=LNXPWRBN/button/input0
    S: Sysfs=/devices/LNXSYSTM:00/LNXPWRBN:00/input/input0
    U: Uniq=
    H: Handlers=kbd event0
    B: PROP=0
    B: EV=3
    B: KEY=10000000000000 0
    
    I: Bus=0011 Vendor=0001 Product=0001 Version=ab41
    N: Name="AT Translated Set 2 keyboard"
    P: Phys=isa0060/serio0/input0
    S: Sysfs=/devices/platform/i8042/serio0/input/input1
    U: Uniq=
    H: Handlers=sysrq kbd event1 leds
    B: PROP=0
    B: EV=120013
    B: KEY=402000000 3803078f800d001 feffffdfffefffff fffffffffffffffe
    B: MSC=10
    B: LED=7