This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Linux/AM3358:触摸屏在最新 SDK 中不起作用

Guru**** 2999690 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/681342/linux-am3358-touchscreen-doesn-t-work-in-latest-sdk

器件型号:AM3358

工具/软件:Linux

下一个问题是触摸屏。 硬件可与 SDK 3.2配合使用、但在更新到 SDK 4.3后、我看不到 evtest 发生的任何事件。 我将使用与 SDK 3.2相同的 DTS 文件

TSC 模块已加载:

烟雾
模块 使用的大小
BC_example 7262 0
pvrsrvkm 403500 1 bc_example
TI_EMIF_SRAM 5663 0
RTC_OMAP 9662 0
OMA_WDT 4634 0
TI_AM335x_TSC 5965 0 
dmesg | grep -i TSC
[7.400112]输入:TI-TSC 作为/devices/platform/ocp/44e0d000.tscadc/TI-am335x-tsc/input/input0 


&tscadc{ status ="确定"; tSC{ ti、wire =<5>; ti、x-state-charge =<200>; ti、coorder-readouts =<5>; ti、wire-config =<0x00 0x11 0x22 0x33>; ti、charge 延迟=<0x400>; } ;ADC{ TI、ADC 通道=<5 6 7>; }; };

那么、我错过了什么时间?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    请查看本指南:
    software-dl.ti.com/.../How_to_Recalibrate_the_Touchscreen.html

    "通过删除 ws-calibrate.rules"进行重校准"章节

    并检查以下主题也可能有所帮助:
    e2e.ti.com/.../646771

    BR
    玛格丽塔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    问题是、即使 evtest 也看不到任何触摸事件、因此我不需要校准它(目前)。 SDK 未附带 slib、也未附带 SDK3.2、我触控的地方也是如此。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我交叉编译了 tslib。 如果在/dev/input/touchscreen0中没有注册任何事件、这将不起作用
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我知道我的观点是检查基于 Weston 的图形系统、因为您可以看到非 Weston 之间存在差异。

    但是、我不确定您是如何执行 evtest 工具的、因此我将链接您有关该工具的指南:
    processors.wiki.ti.com/.../Evtest
    如果您执行 evtest /dev/input/event1、则必须轻触/单击触摸屏。
    如果有需要、请更改事件编号。

    以下是一些建议、您可以检查:


    1.是否确定已复制与配置连接的所有内容。 例如:
    tscadc:tscadc@44e0d000{
    兼容="ti、am3359-tscadc";
    REG =<0x44e0d000 0x1000>;
    interrupt-parent =<&INTc>;
    中断=<16>;
    ti、hwmods ="adc_sc";
    STATUS ="禁用";
    DMA =<&EDMA 53 0>、<&EDMA 57 0>;
    dma-names ="fifo0"、"fifo1";

    TSC{
    兼容="ti、am3359-TSC";
    };
    AM335x_ADC:ADC{
    IO 通道电池=<1>;
    兼容="ti、am3359-adC";
    };
    };

    2.您可以使用/proc/interrupts 进行检查、这也可以显示中断的数量。

    我强烈建议您检查配置。 您还可以看到以下文档:
    touchscreen.txt 和 ti-TSC-ADC.txt。

    BR
    玛格丽塔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您为我提供的配置已经来自 #include "am33xx.dtsi"。 该 DTS 适用于旧的 SDK 3.2。  

    2.  

    CAT /proc/interrupts
    CPU0
    16: 1108885 INTC 68电平 GP_TIMER
    20: 0 INTC 12级 49000000.EDMA_ccint
    22: 0 INTC 14级 490000.EDMA_cerrint
    26: 0 INTC 96电平 44e07000.GPIO
    59: 0 INTC 98级 4804c000.GPIO
    92: 0 INTC 32级 481ac0.gpio
    125: 0 INTC 62级 481ae000.gpio
    158: 4763. INTC 72级 44e09000.serial
    168: 0 INTC 75电平 rtc0
    169: 0 INTC 76电平 rtc0
    171: 6288 INTC 41电平 4a100000以太网
    172: 605 INTC 42级 4a100000以太网
    174: 0 INTC 4级 48080000.elm
    175: 156508 INTC 36级 tilcdc
    176: 0 INTC 16级 TI-AM335x-ADC、TI-AM335x-TSC
    177: 0 INTC 100级 GPMC
    178: 0 INTC 109电平 53100000.sham
    180: 0 INTC 111级 48310010.rng
    181: 370 INTC 37级 SGX ISR 

    触摸显示屏不会执行任何 evtest 操作:

    evtest /dev/input/touchscreen0
    输入驱动程序版本为1.0.1
    输入设备 ID:总线0x0供应商0x0产品0x0版本0x0
    输入器件名称:"TI-TSC"
    支持的事件:
    事件类型0 (EV_SYN)
    事件类型1 (EV_KEY)
    事件代码330 (BTN_touch)
    事件类型3 (EV_ABS)
    事件代码0 (ABS_X)
    值 0
    最小 0
    最大 4095
    事件代码1 (ABS_Y)
    值 0
    最小 0
    最大 4095
    事件代码24 (ABS_PRESSURE)
    值 0
    最小 0
    最大 4095
    属性:
    正在测试... (中断以退出) 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    更改了 ti、电线=<5>;-> ti、电线=<4>;现在可以正常工作。 我不知道为什么它在 SDK 3.2中与5配合使用。