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.

TPS65910 probe failed

Other Parts Discussed in Thread: TPS65910, TPS65911, DM385

TPS65910 probe function is failed with below errors

[    1.469596] tps65910 0-002d: Failed to set masks in 0x51: -121
[    1.475480] tps65910 0-002d: Failed to add irq_chip -121
[    1.481975] tps65910 0-002d: Error in configuring external control EN1
[    1.488542] tps65910 0-002d: Failed to initialise ext control config
[    1.495530] vrtc: failed to enable
[    1.499135] tps65910 0-002d: failed to register tps65910-pmic regulator
[    1.505809] tps65910-pmic: probe of tps65910-pmic failed with error -121

I did I2C detect and its working fine but when i used tried i2cset its failed with below error

/ # i2cset -f -y 0 0x2d 0x01 0xFF
i2cset: write failed: Remote I/O error

Thanks,

Shiva

  • Hi Shiva,

    DM814x TI EVM comes with TPS659113 PMIC, while you have custom DM814x board with TPS65910 PMIC and try to make it work?

    Regards,
    Pavel

  • I think, i2c bus enumeration in kernel started from "1" not from "0".

    So try to run next:

    i2cset -f -y 1 0x2d 0x01 0xFF

  • For 1 i am getting controller timeout error

    / # i2cset -f -y 1 0x2d 0x01 0xFF
    [ 14.198966] omap_i2c 4802a000.i2c: controller timed out
    i2cset: write failed: Connection timed out

    for i2cdetect cmd on 0 as below

    / # i2cdetect -r -y 0
     0
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
    00:          -- -- -- -- -- -- -- -- -- -- -- -- --
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    20: -- -- -- -- -- -- -- -- -- -- -- -- -- UU -- --

  • Shiva,

    On DM814x TI EVM, the TPS65911 PMIC is attached to I2C0 (0x48028000) at addr 0x2D. What about your custom board?

    Make sure you are aligned with the below wiki page:

    processors.wiki.ti.com/.../TI81xx_PSP_Porting_Guide

    Regards,
    Pavel
  • Ours is DM385 and PMIC is attached to same addr ,I2C0 (0x48028000) at slave addr 0x2D

    Thanks,
    Shiva
  • Shiva,

    We have two probe functions related with PMIC:

    1. tps65910_i2c_probe() in file tps65910.c
    2. tps65910_probe() in file tps65910-regulator.c

    Which probe function fail at your side?

    Can you share your board file (board-dm385ipnc. or board_dm385evm.c or esle)?

    In DM814x TI EVM (as it use TPS65911) we are in the TPS65911 cases in the tps65910-regulator.c:

    tps65910_probe() -> case TPS65911:

    tps65910_get_voltage_dcdc() -> case TPS65911_REG_VDDCTRL:

    tps65910_set_voltage_dcdc() -> case TPS65911_REG_VDDCTRL:

    tps65910_list_voltage_dcdc() -> case TPS65911_REG_VDDCTRL:

    Make sure you code is in the TPS65910 cases in the tps65910-regulator.c file.

    Regards,
    Pavel

  • We are using tps65910_i2c_probe() in file tps65910.c .

    We are using device tree and pin configuration as below
    i2c0_pins: pinmux_i2c0_pins{
    pinctrl-single,pins =<
    0x418 (MUX_MODE1)
    0x41c (MUX_MODE1)
    >;
    };

    &i2c1 {
    pinctrl-names = "default";
    pinctrl-0 = <&i2c0_pins>;

    tps: tps@2d {
    reg = <0x2d>;
    };

    we are using tps65910

    failure is coming from
    ret = regmap_add_irq_chip(tps65910->regmap, tps65910->chip_irq,
    IRQF_ONESHOT, pdata->irq_base,
    tps6591x_irqs_chip, &tps65910->irq_data);
  • Shiva,

    DM385 is usually used with IPNC RDK which is based on linux kernel 2.6.37, where we do not have device tree, but board files.

    Do you use IPNC RDK? If yes, which version? If not, what SW you are using?

    Regards,
    Pavel