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/TPS65217CEVM: TPS65217C Sleepmod

Part Number: TPS65217CEVM
Other Parts Discussed in Thread: TPS65217,

Tool/software: Linux

I would like the default values ​​for your Power Management tps65217C arbitrarily pretend! Is that possible ?


I have a Beaglebone Black and this one has in status register (STATUS) Address- 0x0Ah
The D7 Bit when I come from the OFF State always 1 in the User Guid but that it should be set to 0 by default!

Thanks for your time!
  • Nico,

    The default state of Reg. 0x0A, Bit D7 is indeed '0'.

    It is set to '1' by the AM335x processor during the Boot process, so that anytime PWR_EN is pulled low, the TPS65217 will transition to the OFF state.

    If Reg. 0x0A, Bit D7 = 0 when PWR_EN is pulled low, then the TPS65217 will transition to Sleep state instead.

    As a result, the bit is set to '1' early on by the AM335x and only set back to '0' if Sleep state is required.

    You can verify the true Default bit settings on a TPS65217CEVM that is not initialized by a processor, like it is on the BBB.

    The function where AM335x sets this bit to '1' is in the "drivers-mfd-tps65217.c" file in the Linux kernel and is called by the "drivers-regulator-tps-65217-regulator.c" file.

    /* Set the PMIC to shutdown on PWR_EN toggle */
    if (status_off) {

    ret = tps65217_set_bits(tps, TPS65217_REG_STATUS,

    TPS65217_STATUS_OFF, TPS65217_STATUS_OFF,
    TPS65217_PROTECT_NONE);

    if (ret)

    dev_warn(tps->dev, "unable to set the status OFF\n");

    }

     

    Please review the Linux Core Power Management User's Guide (v4.4) for more info, or post a new question to the AM335x forum instead of the PMIC forum for driver-related questions.

  • Hey,

    and how can i change the Driver for the beaglebone?
    i must be compile the U-boot again is that right ?

    Thanks for your time!
  • i want to charge the Battery in the sleep-Mode with 700 mAh but all Registers are in the Sleepmode in default how can i fix that ?
  • Nico,

    You do not need to modify the driver. It is called a "driver" because it gives you, the programmer, the ability to drive the TPS65217 using the code already written and tested for the AM335x so the the whole system works as one unit.

    There is a 'SLEEP mode' command that can be executed which will handle the Sleep needs of the system. It will execute all processes needed to go to sleep before setting the bits correctly in the TPS65217 before pulling PWR_EN signal low.

    Since I am not an expert on the Linux kernel for the AM335x, you will need to post this type of question on the AM335x e2e forum and you can reference this thread: 

  • Nico,

    I have split your last Reply off into the Sitara (AM335x) forum.

    "Yes but in Sleep Mode the Device do not Charge my Battery but that is that what i want .... And the I2C is OFF so i cant say to the Modul Charge my Battery ! SO i HAVE to Modify my Driver but how can i do that ???"

    I am not a firmware expert so I cannot assist you with modifying drivers.

    Please reply here if you have any questions related to the TPS65217 behavior.
  • Hey Braian ,

    when i put on the onother VCC like 5V on the VINLDO PIN 2 is it always because VSYS is shut down in the OFF state so is that correct ?