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.

Check if pads/pull-ups of bus 1 are properly configured

Other Parts Discussed in Thread: TPS65910

Hello TI

u-boot (2015 7)

I have a problem with i2c. Because tps65910 is on i2c1, so I need add 

 else {
        int sil_rev;

        /*
         * The GP EVM, IDK and EVM SK use a TPS65910 PMIC.  For all
         * MPU frequencies we support we use a CORE voltage of
         * 1.1375V.  For MPU voltage we need to switch based on
         * the frequency we are running at.
         */
        i2c_set_bus_num(1);
   
        if (i2c_probe(TPS65910_CTRL_I2C_ADDR))
            return;

        /*
         * Depending on MPU clock and PG we will need a different
         * VDD to drive at that speed.
         */
        sil_rev = readl(&cdev->deviceid) >> 28;
        mpu_vdd = am335x_get_tps65910_mpu_vdd(sil_rev,
                              dpll_mpu_opp100.m);

        /* Tell the TPS65910 to use i2c */
        tps65910_set_i2c_control();

        /* First update MPU voltage. */
        if (tps65910_voltage_update(MPU, mpu_vdd))
            return;

        /* Second, update the CORE voltage. */
        if (tps65910_voltage_update(CORE, TPS65910_OP_REG_SEL_1_1_3))
            return;

        /* Set CORE Frequencies to OPP100 */
        do_setup_dpll(&dpll_core_regs, &dpll_core_opp100);
    }

    /* Set MPU Frequency to what we detected now that voltages are set */
    do_setup_dpll(&dpll_mpu_regs, &dpll_mpu_opp100);

to let it pass to set core opp100, if we skip this step, there are no ethernet to use.

=====================================================================================

We retain this revise, and use sd card to boot, there are work fine, but if we flash MLO to nand, there is error occured:

SD card boot:

U-Boot SPL 2015.07 (Oct 22 2015 - 16:25:51)

reading args
spl_load_image_fat_os: error reading image args, err - -1
reading u-boot.img
reading u-boot.img

NAND boot:

U-Boot SPL 2015.07 (Oct 22 2015 - 16:25:5)

Timed out in wait_for_event: status=1100
Check if pads/pull-ups of bus 1 are properly configured
Timed out in wait_for_bb: status=1000
The Expected Linux image was not found. Please check your NAND configuration.
Trying to start u-boot now...

We add some logs, it is not passing to set core opp100, so I indeed have no ehternet to use.

I tried add

      +enable_i2c1_pin_mux();
        i2c_set_bus_num(1);

      +i2c_init(CONFIG_SYS_OMAP24_I2C_SPEED, 2);

This issue is still persisted. I need some suggestion. Thank you.

  • Hello Bernie,

    I suggest you to take a look in this link - elinux.org/Building_BBB_Kernel

    Could you check in u-boot for following:

    + /* Tell the TPS65910 to use i2c */
    + tps65910_set_i2c_control();
    +

    See in this link - lists.denx.de/.../160776.html

    Check if you are using this - CONFIG_SPL_POWER_SUPPORT in make file

    +LIBS-$(CONFIG_SPL_POWER_SUPPORT) += drivers/power/libpower.o \
    + drivers/power/pmic/libpmic.o
    LIBS-$(CONFIG_SPL_NAND_SUPPORT) += drivers/mtd/nand/libnand.

    Best regards,
    Yanko
  • Dear Yanko

    I have checked our u-boot has these patch you mentioned.

    What is confused me is the behavior that is different between booting from sd and nand.

    My code:

    int sil_rev;

            /*
             * The GP EVM, IDK and EVM SK use a TPS65910 PMIC.  For all
             * MPU frequencies we support we use a CORE voltage of
             * 1.1375V.  For MPU voltage we need to switch based on
             * the frequency we are running at.
             */
            +puts("HHHHHHHHHHHHHHHIIIIIIIIIIII\n");
            +i2c_set_bus_num(1);

            if (i2c_probe(TPS65910_CTRL_I2C_ADDR))

                                 return;
            +puts("123\n");

    then I boot from sd card:

            U-Boot SPL 2015.07 (Oct 26 2015 - 12:51:41)
    HHHHHHHHHHHHHHHIIIIIIIIIIII
    123

    reading args
    spl_load_image_fat_os: error reading image args, err - -1
    reading u-boot.img
    reading u-boot.img
    ==========================================================

     and I boot from nand:

          U-Boot SPL 2015.07 (Oct 26 2015 - 12:51:41)
    HHHHHHHHHHHHHHHIIIIIIIIIIII
    123
    Timed out in wait_for_event: status=1100
    Check if pads/pull-ups of bus 1 are properly configured
    dddddddddddddddddddddddddone1
    Timed out in wait_for_bb: status=1000
    The Expected Linux image was not found. Please check your NAND configuration.
    Trying to start u-boot now...

    Thanks

  • Dear Yanko


    I note that you say "+LIBS-$(CONFIG_SPL_POWER_SUPPORT) += drivers/power/libpower.o \
                                    + drivers/power/pmic/libpmic.o"

    Did you mean the file of "u-boot/scripts/Makefile.spl"?


    This is my content:

       libs-$(CONFIG_SPL_POWER_SUPPORT) += drivers/power/ drivers/power/pmic/

  • Dear Yanko

    lists.denx.de/.../161727.html

    But we have no file of u-boot/spl/Makefile

    Thanks
  • Dear Yanko

    I have solved this problem, I reduced the speed of i2c, so it can go through tps65910_set_i2c_control()