27 Apr, 2020
1 commit
-
The iMX8MM EVK board uses BD71837MWV pmic. Add its Non-DM driver to u-boot.
Signed-off-by: Ye Li
(cherry picked from commit e9a3bec2e95a4b2b4641223c8ee4ebd8da76d7f9)
28 Jan, 2020
2 commits
-
Add a driver for the regulators in the the DA9063 PMIC.
Robert Beckett: move regulator modes to header so board code can set
modes. Correct mode mask used in ldo_set_mode.
Add an option CONFIG_SPL_DM_REGULATOR_DA9063.Signed-off-by: Martin Fuzzey
Signed-off-by: Robert Beckett -
This adds the basic register access operations and child regulator
binding (if a regulator driver exists).Robert Beckett: simplify accesses by using bottom bit of address as
offset overflow. This avoids the need to track which page we are on.
Add an option CONFIG_SPL_DM_PMIC_DA9063.Signed-off-by: Martin Fuzzey
Signed-off-by: Robert Beckett
09 Jan, 2020
1 commit
-
---------------------------------------------------------------------
Add i.MX8MP SoC and EVK board
Update README for i.MX8MN EVK and fix mmc env
Add pca9450 driver
--------------------------------------------------------------------Travis: https://travis-ci.org/sbabic/u-boot-imx/builds/634211885
08 Jan, 2020
1 commit
-
PCA9450 PMIC series is used to support iMX8MM (PCA9450A) and
iMX8MN (PCA9450B). Add the PMIC driver for both PCA9450A and PCA9450B.Signed-off-by: Robin Gong
Signed-off-by: Ye Li
Signed-off-by: Peng Fan
15 Dec, 2019
1 commit
-
Intel x86 SoCs have a power manager/controller which handles several
power-related aspects of the platform. Add a uclass for this, with a few
useful operations.Signed-off-by: Simon Glass
Reviewed-by: Bin Meng
23 Nov, 2019
1 commit
-
SYR82X and SYR83X are almost identical to FAN53555, the only difference
is different die ID and revision, voltage ranges and steps.Signed-off-by: Vasily Khoruzhick
Tested-by: Anand Moon
Reviewed-by: Kever Yang
12 Nov, 2019
1 commit
-
- Add support for rockchip pmic rk805,rk809, rk816, rk817
- Add rk3399 board Leez support
- Fix bug in rk3328 ram driver
- Adapt SPL to support ATF bl31 with entry at 0x40000
- Fix the u8 type comparision with '-1'.
- Fix checkpatch warning for multi blank line and review signature.
10 Nov, 2019
5 commits
-
The RK809 is a Power Management IC (PMIC) for multimedia
and handheld devices. They contains the following components:
- Regulators(5*BUCKs, 9*LDOs, 2*SWITCHes)
- RTC
- ClockingSigned-off-by: Joseph Chen
Signed-off-by: Elaine Zhang
Reviewed-by: Kever Yang -
The RK817 is a Power Management IC (PMIC) for multimedia
and handheld devices. They contains the following components:
- Regulators(4*BUCKs, 1* BOOST, 9*LDOs, 1*SWITCH)
- RTC
- ClockingSigned-off-by: Joseph Chen
Signed-off-by: Elaine Zhang
Reviewed-by: Kever Yang -
The RK805 are a Power Management IC (PMIC) for multimedia
and handheld devices. They contains the following components:
- Regulators(4*BUCKs, 3*LDOs)
- RTC
- ClockingSigned-off-by: Elaine Zhang
Reviewed-by: Kever Yang -
The RK816 is a Power Management IC (PMIC) for multimedia
and handheld devices. They contains the following components:
- Regulators(4*BUCKs, 1*BOOST, 6*LDOs, 1*SWITCH)
- RTC
- ClockingSigned-off-by: Elaine Zhang
Reviewed-by: Kever Yang -
support parse regulator standard property:
regulator-off-in-suspend;
regulator-init-microvolt;
regulator-suspend-microvolt:
regulator_get_suspend_enable
regulator_set_suspend_enable
regulator_get_suspend_value
regulator_set_suspend_valueSigned-off-by: Joseph Chen
Signed-off-by: Elaine Zhang
Reviewed-by: Kever Yang
08 Nov, 2019
1 commit
-
Add support to bind the regulators/child nodes with the pmic.
Signed-off-by: Keerthy
27 Aug, 2019
2 commits
-
Use MISC u-class to export the NVM register (starting at 0xF8 offset)
and avoid specific API.
- SHADOW have offset < 0.
- NVM have register > 0Signed-off-by: Patrick Delaunay
-
Depending on backup register value, we maintain the debug unit
powered-on for debugging purpose.
Only BUCK1 is required for powering the debug unit, so revert
the setting for all the other power lanes, except BUCK3 that
has to be always on.Signed-off-by: Patrick Delaunay
19 Jul, 2019
1 commit
-
BD71837 and BD71847 is PMIC intended for powering single-core,
dual-core, and quad-core SoC’s such as NXP-i.MX 8M. BD71847
is used for example on NXP imx8mm EVK.Add regulator driver for ROHM BD71837 and BD71847 PMICs.
BD71837 contains 8 bucks and 7 LDOS. BD71847 is reduced
version containing 6 bucks and 6 LDOs. Voltages for DVS
bucks (1-4 on BD71837, 1 and 2 on BD71847) can be adjusted
when regulators are enabled. For other bucks and LDOs we may
have over- or undershooting if voltage is adjusted when
regulator is enabled. Thus this is prevented by default.BD718x7 has a quirk which may leave power output disabled
after reset if enable/disable state was controlled by SW.
Thus the SW control is only allowed for BD71837 bucks
3 and 4 by default. The impact of this limitation must be
evaluated board-by board and restrictions may need to be
modified. (Linux driver get's these limitations from DT and we
may want to implement same on u-Boot driver).Signed-off-by: Matti Vaittinen
Reviewed-by: Simon Glass
11 Jun, 2019
1 commit
-
https://source.codeaurora.org/external/imx/uboot-imx
cherry picked, styled and merged commits:
- MLK-18387 pmic: Add pmic driver for BD71837: e9a3bec2e95a
- MLK-18590 pmic: bd71837: Change to use new fdt API: acdc5c297a96Signed-off-by: Ye Li
Signed-off-by: Matti Vaittinen
Reviewed-by: Simon Glass
12 Apr, 2019
4 commits
-
Add functions to read/update the non volatile memory of STPMIC1
(8 bytes-register at 0xF8 address) and allow access
with fuse command (bank=1, word > 0xF8).For example:
STM32MP> fuse read 1 0xf8 8
Reading bank 1:Word 0x000000f8: 000000ee 00000092 000000c0 00000002
Word 0x000000fc: 000000f2 00000080 00000002 00000033Signed-off-by: Patrick Delaunay
-
Alignment with STPMIC1 datasheet
s/MAIN_CONTROL_REG/MAIN_CR/g
s/MASK_RESET_BUCK/BUCKS_MRST_CR/g
s/MASK_RESET_LDOS/LDOS_MRST_CR/g
s/BUCKX_CTRL_REG/BUCKX_MAIN_CR/g
s/VREF_CTRL_REG/REFDDR_MAIN_CR/g
s/LDOX_CTRL_REG/LDOX_MAIN_CR/g
s/USB_CTRL_REG/BST_SW_CR/g
s/STPMIC1_NVM_USER_STATUS_REG/STPMIC1_NVM_SR/g
s/STPMIC1_NVM_USER_CONTROL_REG/STPMIC1_NVM_CR/g
and update all the associated defines.Signed-off-by: Patrick Delaunay
-
Alignment with kernel driver name & binding
introduced by https://patchwork.kernel.org/cover/10761943/
to use the final marketing name = STPMIC1.Signed-off-by: Patrick Delaunay
Reviewed-by: Lukasz Majewski -
Prepare file modification for kernel alignment and
rename driver to stpmic1.Signed-off-by: Patrick Delaunay
Reviewed-by: Lukasz Majewski
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
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
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)
- twl6030Signed-off-by: Jean-Jacques Hiblot
Reviewed-by: Tom Rini
Reviewed-by: Heiko Schocher
20 Jul, 2018
1 commit
-
This patch adds a delay when regulators are disabled.
This delay is set to 5 ms to cover all use cases.
The worst use case actually seen is during a SD card power cycle.Signed-off-by: Christophe Kerello
Signed-off-by: Patrice Chotard
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
18 May, 2018
1 commit
-
The struct uc_pmic_priv's trans_len field stores the number of types to
be transmitted per PMIC transfer.Signed-off-by: Lukasz Majewski
Reviewed-by: Simon Glass
11 May, 2018
2 commits
-
Just like the already present as3722_sd_set_voltage() add the currently
missing signature of the as3722_ldo_set_voltage() function to its header
file.Signed-off-by: Marcel Ziswiler
Reviewed-by: Simon Glass
Signed-off-by: Tom Warren -
Fix ldo_get_enable() and ldo_set_enable() functions for LDOs with an
index > 7. Turns out there are actually two separate AS3722_LDO_CONTROL
registers AS3722_LDO_CONTROL0 and AS3722_LDO_CONTROL1. Actually make use
of both. While at it also actually use the enable parameter of the
ldo_set_enable() function which now truly allows disabling as opposed to
only enabling LDOs.Signed-off-by: Marcel Ziswiler
Signed-off-by: Tom Warren
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 -
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
-
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
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
24 Jan, 2018
1 commit
-
exynos5422 has the s2mps11 PMIC.
s2mps11 pmic has the 10-BUCK and 38-LDO regulators.
Each IP and devices in exynos5422 can be controlled by each regulators.
This patch is support for s2mps11 regulator driver.Signed-off-by: Jaehoon Chung
Reviewed-by: Simon Glass
Tested-by: Anand Moon
29 Dec, 2017
1 commit
-
Include dm/ofnode.h.
Signed-off-by: Peng Fan
Reviewed-by: Simon Glass
Cc: Stefano Babic
Reviewed-by: Fabio Estevam
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 -
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
01 Aug, 2017
1 commit
-
Some LDOs have a bypass capability. Make sure that the bypass is disabled
when is the LDO is enabled (otherwise the voltage can't be changed).Signed-off-by: Jean-Jacques Hiblot
Reviewed-by: Keerthy
Reviewed-by: Tom Rini
29 Jul, 2017
1 commit
-
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