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.

[参考译文] TSC2004:TSC2004和 IMX8MP 之间的连接错误

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1187086/tsc2004-connection-error-between-tsc2004-and-imx8mp

器件型号:TSC2004
主题中讨论的其他器件: TSC2005

您好!

我们已通过将 TSC2004连接到 IMX8MP 来检查该操作、但连接未成功。

Linux 使用5.10基址、通过参考以下内容来实现器件树。

 - kernel-source/Documentation/devicetree/bindings/sinput/touchone/tsc2005.txt

e2e.ti.com/.../tsc2005.txt

下面是我们环境中的 DTS。 它被连接至 I2C1总线(TSC2004的 AD0/AD1 = 49)。

e2e.ti.com/.../DTS.txt

下面是错误。 我想获得一些有关如何修复错误的建议。

------------------------

[5.728597]   GPIO gpiochip4:(30240000.GPIO):gpiochip_lock_AS_IRQ:已尝试

将 GPIO 设置标记为 IRQ 输出

[5.740564]   GPIO-mxc 30240000.GPIO:无法锁定硬件 IRQ 4

[5.757522]   genirq:为上的 tsc200x (IRQ 201)请求资源失败

irqchip gpio-mxc.

[5.767092]   tsc2004 0-0049:无法请求 IRQ、错误:-22

----------------------

如果您需要任何其他信息、请告诉我。

谢谢、

Astro

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

    应在星期二作出答复

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

    您好、Sanjay

    周二您没有收到回复、能否告诉我进度?

    谢谢、

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

    您好!

    Sanjay 不在办公室、将有另一位音频专家尽快回答您的问题。

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

    您好!  

    谢谢你。 我们正在等待您的回复。

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

    我对您的帖子感到困惑。 我想知道哪条总线适用于 TSC2004、SPI 或 i2c?

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

    您好、胜豪

    TSC2004的总线使用 I2C1。 器件树的实现方法如下。
    https://www.ti.com/tool/ja-jp/TSC200XSW-LINUX

    谢谢、

    Evee

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

    您好、 胜豪

    经我们确认、我们已与 TSC2004建立了通信。 无法进行通信、因为用于中断的 GPIO 端口被 U-Boot 设置为输出。

    然而、通信已经建立、但是到 TSC2004的命令已经超时。
    为了解决超时问题、我们正在对器件树执行试用和错误、但未解决。 我将向您发送设备树和 dmesg 日志、您能告诉我如何处理它吗?

    e2e.ti.com/.../TSC2004.zip

    谢谢、

    Evee

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

    您好、Eve、

    盛豪的团队总部设在中国、由于休假、他们的反应将会延迟

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

    您好!

    请尽快回复。 我们正在等待您的回复。

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

    您好!

    请注意、盛豪及其团队是我们的 Linux 驱动程序专家、他们的回答将因中国新年而延迟。

    我将在内部询问我们是否能够在他们缺席的情况下提供支持。

    此致、

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

    大家好、Daveon

    感谢您分享您的内部支持情况。

    谢谢、

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

    您好、Eve、  

    我们注意到您的紧迫性、请在下周之前给盛豪回复

    此致、

    Arthur

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

    你(们)好

    很抱歉耽误你的回答。 根据您的帖子、我想知道 i2c 通信问题是否存在?

    如果是这样、您是否会这样亲切并帮助确认 AD0与 AD1引脚的连接是什么?

    在 DTS 中、它将 i2c 地址设置为0x49。

    BR

    丁胜豪

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

    大家好、 丁胜豪

    [引用 userid="460493" URL"~/support/data-converters-group/data-converters/f/data-converters-forum/1187086/tsc2004-connection-error-between-tsc2004-and-imx8mp/4487435 #4487435"]如果是,您是否愿意帮助您确认 AD0与 AD1引脚的连接是什么?

    这话什么意思? 我应该特别检查什么?

    谢谢、

    Eevee

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

    您的项目中确认 TSC2004的 corret i2c addr。

    至于 ADX 引脚、请参阅下图。

    您也可以向您团队的硬件工程师寻求帮助。

    另外一件事是、您能否对 d 运行以下命令etect all the device on i2c bus 1并与我共享日志。

    # i2cdetect -y 1
    

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

    您好、 胜豪  

    [引用 userid="460493" URL"~/support/data-converters-group/data-converters/f/data-converters-forum/1187086/tsc2004-connection-error-between-tsc2004-and-imx8mp/4487611 #4487611"]确认项目中 TSC2004的 corret i2c addr。

    AD0/AD1引脚设置被设定为0x49。 AD0 =高电平(3.3V)、AD1 =低电平

    [引用 userid="460493" URL"~/support/data-converters-group/data-converters/f/data-converters-forum/1187086/tsc2004-connection-error-between-tsc2004-and-imx8mp/4487611 #4487611"]还有一件事,您能否运行以下命令到 detect all the device on i2c bus 1 并与我共享日志。

    由于 I2C 使用总线0、我收集了 i2cdetect -y 0的日志。

    # i2cdetect -y 0

    对数采集结果如下。

    ----

    0 1 2 3 4 5 6 7 8 9 A b c d e f
    00:------------ ------
    10:------------ ------------ ---- UU --------
    20:-------- UU ------------------ ------------
    30:------ 33 ------------ ------------ ----
    40:------------ ------ UU -------------- --
    50:-- UU -- UU -- UU -- UU ---- UU -------- ------
    60:------------ ------------ ------------ --
    70:------------ ------

    ----

    谢谢、

    Eevee

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

    你(们)好

    根据“i2cdetect -y 0”的日志,它披露在 i2c-1上只有0x48,没有0x49。 请与您的硬件工程师合作、了解 i2cdetect 为何无法检测到0x49器件?

    BR

    丁胜豪

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

    您好、胜豪

    很抱歉、我错误地按下了"已解决"按钮。

    我将就当前情况与您联系。
    启动时的超时错误尚未解决。
    在这种状态下可以进行触摸操作、但面板的响应较差。

    我已经连接了 Evtest 日志、是否可以将其与器件树的内容一起检查?

    e2e.ti.com/.../TSC2004_5F00_TOUCH_5F00_LOG.txt

    LCD 面板是一个 Kyocera 800x480电阻面板。

    要运行 evtest、请按顺序单击右上→右下→左下→左上→LCD 面板的中心部分。
    在此期间似乎没有出现超时错误。

    谢谢、

    Eevee

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

    您好、 胜豪

    我收到一条通知、说"我收到了您的回复"。 但是,论坛上没有你的答复。 您能否再次发送答案?

    谢谢、

    Eevee

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

    您好、Eevee、

    我已经检查了代码、发现 在 整个系统启动期间将调用 tsc2004_probe。

    在  tsc2004_probe 中 、将调用 tsc200x_stop_scan。 在 tsc200x_stop_scan 中、它将具有 i2c 通信、您能否确认 i2c-1总线在 该 i2c 通信期间是否就绪? 如果 i2c-1总线未就绪、则 i2c 通信必须为错误。 请确保在 i2c 通信之前为 i2c1总线做好准备。 您也可以向平台供应商咨询此类启动问题。

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

    您好、胜豪

    关于 I2C-0通信、我可以在 TSC2004通信之前与同一总线上的其他器件进行通信、因此我认为通信状态没有问题。
    示例)
    0x25 NXP-PCA9450
    0x51 RTC-pcf85063

    此外、TSC2004的从器件地址、但在0x49处有一个器件
    还确认可以使用 i2cget 命令访问该文件。

    |~# i2cdetect -y 0
    |0 1 2 3 4 5 6 7 8 9 A b c d e f
    |40:-------------- ------ UU -------------- --

    谢谢、

    Eevee

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="465179" URL"~/support/data-converters-group/data-converters/f/data-converters-forum/1187086/tsc2004-connection-error-between-tsc2004-and-imx8mp/4496898 #4496898"]|~# i2cdetect -y 0
    |0 1 2 3 4 5 6 7 8 9 A b c d e f
    |40:-------------- ------ UU --------------------[/引述]

            0 1 2 3 4 5 6 7  8  

    UU 实际上位于0x48、您认为吗?

    我还会感到困惑 的是、为什么使用"i2cdetect -y 0"而不是"i2cdetect -y 1"?

    还有一点、在探头阶段复位引脚和 PINTDAV 引脚的状态是什么?

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

    您好、 胜豪

    [引用 userid="460493" URL"~/support/data-converters-group/data-converters/f/data-converters-forum/1187086/tsc2004-connection-error-between-tsc2004-and-imx8mp/4497042 #4497042"] UU 实际位于0x48,您认为是吗?

    下面是捕获日志的图像。
    就该映像而言、已确认器件位于0x49、并可使用 i2cget 命令进行访问。

    [引用 userid="460493" URL"~/support/data-converters-group/data-converters/f/data-converters-forum/1187086/tsc2004-connection-error-between-tsc2004-and-imx8mp/4497042 #4497042"]我还会感到困惑的是,为什么使用"i2cdetect -y 0"而不是"i2cdetect -y  1"?

    使用 I2C 总线0会有问题吗?

    [引用 userid="460493" URL"~/support/data-converters-group/data-converters/f/data-converters-forum/1187086/tsc2004-connection-error-between-tsc2004-and-imx8mp/4497042 #4497042"]另一件事是,探测阶段中的复位引脚和 PINTDAV 引脚的状态是什么?

    我想确认一下。 探头相位是什么意思?

    谢谢、

    Eevee

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

     我是说函数 tsc2004_init 的时间被调用。

    以下文档仍然非常有用。

    TSC2004 LinuxRegistered驱动程序(TI.com)

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

    您好、 胜豪

    Linux 环境中使用的驱动程序源与可从以下 URL 下载的源代码使用相同的级别。
    https://www.ti.com/tool/ja-jp/TSC200XSW-LINUX

    时间戳大约是2015年、我们的驱动程序源比您提供的源代码新、但我应该使用哪一个?

    我们的环境中不存在 tsc2004_init。
    具体而言、我是否应该在初始化时检查信号状态(tsc2004_probe)、中断时的信号状态(tsc200x_IRQ_thread)复位以及 PINTDAV 引脚状态?

    谢谢、

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

    您好、Eevee、

    到目前为止、您将在启动期间超时锁定块、我对吗?

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

    您好、 胜豪

    是的、您在这种感觉上是正确的。

    谢谢、

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

    那么、除了启动问题、一切都运行良好、对吧?

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

    您好、 胜豪

    问题是、TSC2004的命令在启动时超时。 为了解决超时问题、我们正在为器件树执行试错操作、但未解决。触摸操作在超时状态下是可能的、但面板的响应较差。
    主要问题是有关此超时。 此外、由于触摸后的坐标可能未对齐、我们正在咨询其他线程。

    谢谢、

    Eevee

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

    对于 TSC2004、100kHz 或400kHz、i2c clk 频率是多少?

    还有一件事、您能帮助检查哪个函数发生超时吗? i2c_smbus_write_byte?  

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

    您好!  

    我稍后将向您介绍与 I2C 的通信速度。 以下是什么意思? 您显示的代码是什么?

     > i2c_smbus_write_byte?

    谢谢、

    Eevee

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

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

    您好、胜豪

    [引用 userid="460493" URL"~/support/data-converters-group/data-converters/f/data-converters-forum/1187086/tsc2004-connection-error-between-tsc2004-and-imx8mp/4509059 #4509059"]对于 TSC2004、100kHz 或400kHz、i2c clk 频率是什么?

    它当前使用400kHz 进行通信。

    [引用 userid="460493" URL"~/support/data-converters-group/data-converters/f/data-converters-forum/1187086/tsc2004-connection-error-between-tsc2004-and-imx8mp/4509059 #4509059">另外一件事,您能帮助检查哪个函数发生超时吗? i2c_smbus_write_byte? 

    您的看法是正确的。 超时发生在上述函数中。

    谢谢、

    Eevee

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

    请尝试100kHz 的 i2c clk 频率。