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/processor-SDK-AM335X:I2C 电容式 TSC 器件树设置

Guru**** 2613765 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/579603/linux-processor-sdk-am335x-i2c-capacitive-tsc-device-tree-setting

器件型号:PROCESSOR-SDK-AM335X

工具/软件:Linux

大家好、

我们的客户面临电容式触控 IC 的问题、他们将 AM335x 与 TI SDK 7.0配合使用。
此触摸 IC 使用 I2C 接口、需要 GPIO 中断引脚。

我们在 AM437x-gp-evm.dts 中设置基于电容式触摸设置的器件树、只需更改客户使用的 GPIO 引脚即可。
但是、触摸面板时不会触发中断引脚。
示波器可以捕获中断引脚的触发信号、但系统无法获取该中断。
下面是器件树设置、这是否出了问题?

PinMux:
     像素 cir_ts_pins:像素 cir_ts_pins{
          pinctrl-single、pins =<
               0x78 (PIN_INPUT_PULLUP | MUX_MODE7)/* GPMC_BE1n.GPIO1_28 *
          >;
     };

功能:
     像素 cir_ts@38{
          兼容="Pixcir、pixcir_tangoc";
          pinctrl-names ="default";
          pinctrl-0 =<&pixcir_ts_pines>;
          reg =<0x38>;/*请参阅数据表*/
          interrupt-parent =<&GPIO1>;
          中断=<28 0>;

          attb-gpio =<&GPIO1 28 GPIO_ACTIVE_HIGH_>;

          x 大小=<1280>;
          y 大小=<768>;
     };


此致、
郭恩

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

    您好!

    [引用 USER="Wayne Kuo"]我们 在 AM437x-gp-evm.dts 中将设备树基础设置为电容式触控设置

    当您声明正在使用 AM335x 时、为什么要修改 AM437x-gp-evm.dts?

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

    感谢您的回复。
    很抱歉、这是我的错、我没有明确表达。

    客户将 AM335x 入门套件用于其参考设计。
    我们参考 AM437X-gp-evm.dts i2c 触摸部件来修改 AM335x-evmsk.dts。
    原因 AM335x 没有 i2c 触控、AM437x 没有。

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

    我使用 BBB + SDK 7.0、并按如下方式设置器件树。
    我得到了这个日志格式 dmesg、有什么问题吗? 有什么想法吗?

    日志:
    [1.511904] pixcir_ts 1-0038:请求 IRQ 0失败
    [1.517242] pixcir_ts:探测1-0038失败、错误-22
    [3.079730]错误:已注册驱动程序"pixcir_ts"、正在中止...
    [3.167584]错误:驱动程序'pixcir_ts'已注册、正在中止...

    设备树:
    像素 cir_ts_pins:像素 cir_ts_pins{
    pinctrl-single、pins =<
    0x78 (PIN_INPUT | MUX_MODE7)/*(U18) GPMC_BE1n.GPIO1[28]*/
    >;
    };

    i2c1_pins:pinmux_i2c1_pins{
    pinctrl-single、pins =<
    0x15c (PIN_INPUT | MUX_Mode2)/*(A16) spi0_cs0.I2C1_SCL *
    0x158 (PIN_INPUT | MUX_Mode2)/*(B16) spi0_D1.I2C1_SDA *
    >;
    };
    i2c1{(&I)
    pinctrl-names ="default";
    pinctrl-0 =<&i2c1_PINs>;

    状态="正常";
    时钟频率=<200000>;

    PIXcir_探戈:PIXcir_探戈@38{
    //#interrupt-cells =<1>;
    //#size-cells =<0>;
    兼容="Pixcir、pixcir_tangoc";
    pinctrl-names ="default";
    pinctrl-0 =<&pixcir_ts_pines>;

    reg =<0x38>;

    interrupt-parent =<&GPIO1>;
    中断=<28 0>;


    attb-gpio =<&GPIO1 28 GPIO_ACTIVE_HIGH_>;
    //attb-gpio =<&GPIO1 28 GPIO_ACTIVE_LOW_>;
    //attb-gpio =<&GPIO0 26 GPIO_ACTIVE_LOW_>;

    x 大小=<1280>;
    y 大小=<768>;

    状态="正常";

    };
    };

    此致、
    郭恩
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我已要求软件团队查看这一点。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    我们将对此进行研究。

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

    您好!

    代码看起来正常。 确保 GPIO 未在代码中的任何其他位置使用、或检查引脚 GPMC_be1n 是否未像 DTS/dtsi 文件中的任何其他内容那样进行多路复用。

    此外还进一步调试内核错误:
    [3.079730]错误:已注册驱动程序"pixcir_ts"、正在中止...
    这表示由于某种原因,此驱动程序已注册,请参见 drivers/base/driver.c,特别是 driver_register()函数:
    其他= driver_find (drv->name、drv->bus);
    如果(其他){
    printk (Kern_ERR)"错误:驱动程序'%s'已注册、"
    "正在中止...\n",drv->name);
    return -EBUSY;

    确保在 defconfig 中调用的唯一 ts 驱动程序是 pixcir_ts...

    此致、
    Yordan

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

    我同意 Yordan 的评论。 此外、x 大小和 y 大小属性对我来说似乎不正确。 我认为客户应该尝试触摸屏大小 x触摸屏大小 y 属性。

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

    Yordan 和 Kemal、您好!

    感谢您的帮助。
    客户在进行 I2C 电容式触控时工作正常。
    它们修改了像素驱动程序并采用.dts 中的以下行:
        interrupt-parent =<&GPIO1>;
        中断=<28 0>;
    现在、中断正常工作、Touch 也正常工作。
    我将尝试询问他们如何修改像素红外驱动程序。
    如果我获得任何信息、我将在这里提供反馈。

    谢谢、此致、
    郭恩