24 May, 2019

1 commit


11 Mar, 2019

1 commit

  • Changing voltage and enabling regulator might require delays so the
    regulator stabilizes at expected level.

    Add support for "regulator-ramp-delay" binding which can introduce
    required time to both enabling the regulator and to changing the
    voltage.

    Signed-off-by: Krzysztof Kozlowski
    Tested-by: Anand Moon
    Signed-off-by: Minkyu Kang

    Krzysztof Kozlowski
     

10 Feb, 2019

1 commit

  • regulator_set_enable() api throws an error in the following three cases:
    - when requested to disable an always-on regulator
    - when set_enable() ops not provided by regulator driver
    - when enabling is actually failed.(Error returned by the regulator driver)

    Sometimes consumer drivers doesn't want to track the first two scenarios
    and just need to worry about the case where enabling is actually failed.
    But it is also a good practice to have an error value returned in the
    first two cases.

    So introduce an api regulator_set_enable_if_allowed() which ignores the
    first two error cases and returns an error as given by regulator driver.
    Consumer drivers can use this api need not worry about the first two
    error conditions.

    Signed-off-by: Lokesh Vutla
    Reviewed-by: Simon Glass

    Lokesh Vutla
     

10 Dec, 2018

1 commit

  • Those driver are not DM drivers per se (not using the PMIC/regulator
    framework) and are using the legacy I2C API. Make them compatible with
    the DM_I2C API.

    This impacts the following drivers:
    - palmas (used by am57xx/dra7xx evms)
    - tps65218 (used by am43xx evms)
    - tps65217 and tps65910 (used by am335x evms and am335x boneblack vboot)
    - twl4030 (used by omap3_logicpd)
    - tps65217 (used by brppt1)
    - twl6030

    Signed-off-by: Jean-Jacques Hiblot
    Reviewed-by: Tom Rini
    Reviewed-by: Heiko Schocher

    Jean-Jacques Hiblot
     

20 Jul, 2018

1 commit


27 Jun, 2018

1 commit

  • The PFUZE3000 uses registers addresses up to 0xff.

    The DM pfuze100 driver supports both pfuze100 and pfuze3000. Allow it
    to use the device type to return the correct number of registers.

    Also rename the too generic PMIC_NUM_OF_REGS enumeration value for
    pfuze3000 to match the other "PFUZE3000_" prefixed enumerations and the
    pfuze100 enumeration value PFUZE100_NUM_OF_REGS.

    Cc: Peng Fan
    Cc: Jaehoon Chung
    Cc: Stefano Babic
    Cc: Fabio Estevam
    Signed-off-by: Trent Piepho
    Reviewed-by: Fabio Estevam

    Trent Piepho
     

18 May, 2018

1 commit


11 May, 2018

2 commits


07 May, 2018

3 commits

  • When U-Boot started using SPDX tags we were among the early adopters and
    there weren't a lot of other examples to borrow from. So we picked the
    area of the file that usually had a full license text and replaced it
    with an appropriate SPDX-License-Identifier: entry. Since then, the
    Linux Kernel has adopted SPDX tags and they place it as the very first
    line in a file (except where shebangs are used, then it's second line)
    and with slightly different comment styles than us.

    In part due to community overlap, in part due to better tag visibility
    and in part for other minor reasons, switch over to that style.

    This commit changes all instances where we have multiple licenses (in
    these cases, dual license) declared in the SPDX-License-Identifier tag.
    In this case we change from listing "LICENSE-A LICENSE-B" or "LICENSE-A
    or LICENSE-B" or "(LICENSE-A OR LICENSE-B)" to "LICENSE-A OR LICENSE-B"
    as per the Linux Kernel style document. Note that parenthesis are
    allowed so when they were used before we continue to use them.

    Reviewed-by: Fabio Estevam
    Signed-off-by: Tom Rini

    Tom Rini
     
  • When U-Boot started using SPDX tags we were among the early adopters and
    there weren't a lot of other examples to borrow from. So we picked the
    area of the file that usually had a full license text and replaced it
    with an appropriate SPDX-License-Identifier: entry. Since then, the
    Linux Kernel has adopted SPDX tags and they place it as the very first
    line in a file (except where shebangs are used, then it's second line)
    and with slightly different comment styles than us.

    In part due to community overlap, in part due to better tag visibility
    and in part for other minor reasons, switch over to that style.

    This commit changes all instances where we have a single declared
    license in the tag as both the before and after are identical in tag
    contents. There's also a few places where I found we did not have a tag
    and have introduced one.

    Signed-off-by: Tom Rini

    Tom Rini
     
  • A common voltage of 1.35V was being programmed for all am43 board
    versions. EPOS-EVM Needs 1.20V for LPDDR2.

    Fixes: fc69d472621b5 (“board: ti: AM43XX: Add ddr voltage rail configuration”)
    Reported-by: James Doublesin
    Signed-off-by: Keerthy
    Reviewed-by: Tom Rini

    Keerthy
     

20 Mar, 2018

1 commit

  • This driver implements register read/write operations for STPMU1.

    The STPMU1 PMIC provides 4 BUCKs, 6 LDOs, 1 VREF
    and 2 power switches. It is accessed via an I2C interface.
    This device is used with STM32MP1 SoCs.

    Signed-off-by: Patrick Delaunay

    Patrick Delaunay
     

24 Jan, 2018

1 commit


29 Dec, 2017

1 commit


13 Dec, 2017

2 commits

  • Texas Instrument's TPS65910 PMIC contains 3 buck DC-DC converts, one
    boost DC-DC converter and 8 LDOs. This patch implements driver model
    support for the TPS65910 PMIC and its regulators making the get/set
    API for regulator value/enable available.
    This patch depends on the patch "am33xx: Add a function to query MPU
    voltage in uV" to build correctly. For boards relying on the DT
    include file tps65910.dtsi the v3 patch "power: extend prefix match
    to regulator-name property" and an appropriate regulator naming is
    also required.

    Signed-off-by: Felix Brack
    Reviewed-by: Simon Glass

    Felix Brack
     
  • This patch extends pmic_bind_children prefix matching. In addition to
    the node name the property regulator-name is used while trying to match
    prefixes. This allows assigning different drivers to regulator nodes
    named regulator@1 and regulator@10 for example.
    I have discarded the idea of using other properties then regulator-name
    as I do not see any benefit in using property compatible or even
    regulator-compatible. Of course I am open to change this if there are
    good reasons to do so.

    Signed-off-by: Felix Brack
    Reviewed-by: Simon Glass

    Felix Brack
     

01 Aug, 2017

1 commit


29 Jul, 2017

3 commits

  • Convert this PMIC driver to driver model and fix up other users. The
    regulator and GPIO functions are now handled by separate drivers.

    Update nyan-big to work correct. Three boards will need to be updated by
    the maintainers: apalis-tk1, cei-tk1-som. Also the TODO in the code re
    as3722_sd_set_voltage() needs to be completed.

    Signed-off-by: Simon Glass
    Reviewed-by: Lukasz Majewski
    Tested-by: Marcel Ziswiler
    Tested-on: Jetson-TK1
    Tested-by: Stephen Warren

    Simon Glass
     
  • This pmic includes GPIOs which should have their own driver. Add
    a driver to support these.

    Signed-off-by: Simon Glass
    Reviewed-by: Lukasz Majewski
    Tested-by: Marcel Ziswiler
    Tested-on: Beaver, Jetson-TK1
    Tested-by: Stephen Warren

    Simon Glass
     
  • This pmic includes regulators which should have their own driver. Add
    a driver to support these.

    Signed-off-by: Simon Glass
    Reviewed-by: Lukasz Majewski
    Tested-by: Marcel Ziswiler
    Tested-on: Beaver, Jetson-TK1
    Tested-by: Stephen Warren

    Simon Glass
     

19 Jul, 2017

1 commit


11 Jul, 2017

1 commit


09 Jun, 2017

3 commits


01 Jun, 2017

1 commit


29 May, 2017

1 commit

  • Currently while setting the vsel value for dcdc1 and dcdc2
    the driver is wrongly masking the entire 8 bits in the process
    clearing PFM (bit7) field as well. Hence describe an appropriate
    mask for vsel field and modify only those bits in the vsel
    mask.

    Source: http://www.ti.com/lit/ds/symlink/tps65218.pdf

    Signed-off-by: Keerthy
    Fixes: 86db550b38 ("power: Add support for the TPS65218 PMIC")
    Reviewed-by: Jaehoon Chung

    Keerthy
     

12 May, 2017

1 commit

  • Update MPU frequencies and voltages as per the latest
    DM[1] dated: OCT 2011 Revised APRIL 2016, Section 5.4.
    Below is the consolidated data:

    MPU values for PG 2.0 and later(Package ZCZ and ZCE):

    -------------------------------------------------------
    | | ZCZ | ZCE |
    |-------------------------------------------------------|
    | | VDD[V] | ARM [MHz] | VDD[V] | ARM [MHz] |
    |-------|----------|------------|----------|------------|
    | NITRO | 1.325 | 1000 | NA | NA |
    |-------|----------|------------|----------|------------|
    | TURBO | 1.26 | 800 | NA | NA |
    |-------|----------|------------|----------|------------|
    |OPP120 | 1.20 | 720 | NA | NA |
    |-------|----------|------------|----------|------------|
    |OPP100 | 1.10 | 600 | 1.10 | 600 |
    |-------|----------|------------|----------|------------|
    | OPP50 | 0.95 | 300 | 0.95 | 300 |
    -------------------------------------------------------

    There is no eFuse blown on PG1.0 Silicons due to which there is
    no way to detect the maximum frequencies supported. So default
    to OPP100 for which both frequency and voltages are common on both
    the packages.

    [1] http://www.ti.com/lit/ds/symlink/am3356.pdf

    Signed-off-by: Lokesh Vutla
    Reviewed-by: Tom Rini

    Lokesh Vutla
     

11 May, 2017

3 commits


19 Jan, 2017

2 commits


16 Dec, 2016

1 commit


26 Nov, 2016

1 commit


12 Oct, 2016

4 commits