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.

TCA8418: TCA8418 failure problem

Part Number: TCA8418

Hi team,

We are using TCA8418 this IC to realize the keyboard function in Qualcomm MSM8953, and the Android system is 9.0
Occasionally there will be key failure problems. Checking the interrupt processing content in the log does not reveal the problem, but checking the IC related registers and pin status, it can be inferred that key press events have been cached, causing the next interrupt to fail to enter. Some methods have been adopted to greatly reduce the probability of problems, but recently it has been discovered that they will still occur.
Our code is ported from the previous platform. Is there a driver that is compatible with the current system platform.

  • Hi Dane,

    Just to verify, which version of the device are you using, (E or non E?)

    "Is there a driver that is compatible with the current system platform."

    We don't have any drivers for this device.

    Is the issue something that you can recreate?

    Can you provide the register readings when you run into the issue?

    Thanks,

    -Bobby

  • Hi BOBBY,

    what's the E/non E means?


    The probability was large before, but the probability is small after we optimize the code. This is the abnormal regs:

    REG_CFG[0x1]=[0x19]

    REG_INT_STAT[0x2]=[0x1]

    REG_KP_GPIO1[0x1d]=[0x1f]

    REG_KP_GPIO2[0x1e]=[0x1f]

    REG_KP_GPIO3[0x1f]=[0x0]

    REG_DEBOUNCE_DIS1[0x29]=[0x0]

    REG_DEBOUNCE_DIS2[0x2a]=[0x0]

    REG_DEBOUNCE_DIS3[0x2b]=[0x0]

    REG_GPIO_DIR1[0x23]=[0xe0]

    REG_GPIO_DIR2[0x24]=[0xe0]

    REG_GPIO_DIR3[0x25]=[0x3]

  • Hey Dane,

    There are two versions of this device, the TCA8418E and The TCA8418. The non-E versions have errata (can be found in the datasheet) such as the INT not triggering when an overflow event occurs (you may want to check this since I see you did set the overflow INT but not the overflow mode enable in register 0x01)

    I don't immediately see an issue with the provided registers. Are you able to provide a schematic either here or offline -->  duynguyen@ti.com

    -Bobby