summaryrefslogtreecommitdiff
path: root/include/power
AgeCommit message (Collapse)Author
2018-05-10power: as3722: add as3722_ldo_set_voltage signature to header fileMarcel Ziswiler
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 <[email protected]> Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2018-05-10power: as3722: fix ldo_get/set_enable for ldo index bigger than 7Marcel Ziswiler
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 <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2018-05-07SPDX: Convert all of our multiple license tags to Linux Kernel styleTom 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 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 <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2018-05-07SPDX: Convert all of our single license tags to Linux Kernel styleTom 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 <[email protected]>
2018-05-06board: ti: am43: Fix DCDC3 voltage for epos-evmKeerthy
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 <[email protected]> Signed-off-by: Keerthy <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2018-03-19pmic: add stpmu1 supportPatrick Delaunay
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 <[email protected]>
2018-01-24power: regulator: s2mps11: add a regulator driver for s2mps11Jaehoon Chung
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 <[email protected]> Reviewed-by: Simon Glass <[email protected]> Tested-by: Anand Moon <[email protected]>
2017-12-29power: pmic.h: include dm/ofnode.hPeng Fan
Include dm/ofnode.h. Signed-off-by: Peng Fan <[email protected]> Reviewed-by: Simon Glass <[email protected]> Cc: Stefano Babic <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2017-12-12power: pmic/regulator: Add basic support for TPS65910Felix Brack
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 <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2017-12-12power: extend prefix match to regulator-name propertyFelix 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 <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2017-08-01regulator: palmas: disable bypass when the LDO is enabledJean-Jacques Hiblot
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 <[email protected]> Reviewed-by: Keerthy <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2017-07-28dm: power: Convert as3722 to driver modelSimon Glass
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 <[email protected]> Reviewed-by: Lukasz Majewski <[email protected]> Tested-by: Marcel Ziswiler <[email protected]> Tested-on: Jetson-TK1 Tested-by: Stephen Warren <[email protected]>
2017-07-28power: Add a GPIO driver for the as3722 PMICSimon Glass
This pmic includes GPIOs which should have their own driver. Add a driver to support these. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Lukasz Majewski <[email protected]> Tested-by: Marcel Ziswiler <[email protected]> Tested-on: Beaver, Jetson-TK1 Tested-by: Stephen Warren <[email protected]>
2017-07-28power: Add a regulator driver for the as3722 PMICSimon Glass
This pmic includes regulators which should have their own driver. Add a driver to support these. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Lukasz Majewski <[email protected]> Tested-by: Marcel Ziswiler <[email protected]> Tested-on: Beaver, Jetson-TK1 Tested-by: Stephen Warren <[email protected]>
2017-07-19regulator: Change get_enable return type to integer from boolKeerthy
Change get_enable return type to int so errors can be returned. Signed-off-by: Keerthy <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2017-07-11power: regulator: rk8xx: Allow input current/charger shutdown configurationWadim Egorov
The RK818 PMIC contains a charger. Add very basic charger functionality to be able to regulate the USB input current and charger shutdown limits. Signed-off-by: Wadim Egorov <[email protected]> Reviewed-by: Simon Glass <[email protected]> Acked-by: Philipp Tomsich <[email protected]> Reviewed-by: Philipp Tomsich <[email protected]>
2017-06-09Fixup bug in PMIC TPS65217 register address definitionBrock Zheng Techyauld Ltd
The addresses of the registers in TI TPS65217 are not continuous. There is a gap between ENABLE(0x16) and DEFUVLO(0x18). No 0x17 register available. Fixup the enum values by adding a 'reserved' placeholder to correct the addresses higher than 0x17. Series-to: Heiko Schocher <[email protected]> Signed-off-by: Brock Zheng Techyauld Ltd <[email protected]> Reviewed-by: Lukasz Majewski <[email protected]>
2017-06-09power: pmic: lp87565: Add the basic pmic supportKeerthy
Add support to bind the regulators/child nodes with the pmic. Signed-off-by: Keerthy <[email protected]> Signed-off-by: Jaehoon Chung <[email protected]>
2017-06-09board: ti: AM43XX: Add ddr voltage rail configurationKeerthy
Add ddr voltage rail (dcdc3) configuration. Set the dcdc3 DDR supply to 1.35V. Signed-off-by: Keerthy <[email protected]> Reviewed-by: Tom Rini <[email protected]> Reviewed-by: Lokesh Vutla <[email protected]>
2017-06-01dm: pmic: Convert uclass to livetreeSimon Glass
Update the pmic uclass and all pmics to support a live device tree. Signed-off-by: Simon Glass <[email protected]>
2017-05-29power: pmic: tps65218: Fix tps65218_voltage_update functionKeerthy
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 <[email protected]> Fixes: 86db550b38 ("power: Add support for the TPS65218 PMIC") Reviewed-by: Jaehoon Chung <[email protected]>
2017-05-12arm: am33xx: Fix MPU opp selectionLokesh Vutla
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 <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2017-05-10power: rk808: rename to rk8xxJacob Chen
Since this driver can be used for rk8xx series pmic, let's rename rk808 to rk8xx, to make it clear. Configs parts are done by sed -i "s/RK808/RK8XX/g" `grep RK808 -lr ./` Signed-off-by: Jacob Chen <[email protected]>
2017-05-10power: pmic: rk808: add RK818 supportJacob Chen
The RK818 chip is a Power Management IC (PMIC) for multimedia and handheld devices. For boards use rk818, the input current should be set in the early stage, before ddr initialization. Signed-off-by: Jacob Chen <[email protected]>
2017-05-10power: pmic: append rk818 regs to rk808Jacob Chen
Both RK808 and RK818 chips are using a similar register map, so we can reuse them. I have also add reg prefix to exist registers, to keep them same style. Signed-off-by: Jacob Chen <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2017-01-18pmic: pmic_mc34vr500: Add APIs to set/get SWx voltHou Zhiqiang
Signed-off-by: Hou Zhiqiang <[email protected]> Reviewed-by: Jaehoon Chung <[email protected]> Reviewed-by: York Sun <[email protected]>
2017-01-18pmic: pmic_mc34vr500: Add a driver for the mc34vr500 pmicHou Zhiqiang
This patch adds a simple pmic driver for the mc34vr500 pmic which is used in conjunction with the fsl T1 and LS1 series SoC. Signed-off-by: Hou Zhiqiang <[email protected]> Reviewed-by: Jaehoon Chung <[email protected]> Reviewed-by: York Sun <[email protected]>
2016-12-16power: pmic: Add Voltage configuration macroBreno Lima
Add pfuze3000 voltage configuration macro for SW1AB, SW3 and VLDO1/2 according to tables 53, 57 and 62 on PF3000 datasheet. Signed-off-by: Breno Lima <[email protected]>
2016-11-25power: regulator: Introduce regulator_set_value_force functionKeerthy
In case we want to force a particular value on a regulator irrespective of the min/max constraints for testing purposes one can call regulator_set_value_force function. Signed-off-by: Keerthy <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2016-10-11power: pmic: lp873x: Add the base pmic supportKeerthy
Add support to bind the regulators/child nodes with the pmic. Signed-off-by: Keerthy <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2016-10-11power: pmic: Palmas: Add the base pmic supportKeerthy
Add support to bind the regulators/child nodes with the pmic. Also adds the pmic i2c based read/write funtions to access pmic registers. Signed-off-by: Keerthy <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2016-10-11power: regulator: Add ctrl_reg and volt_reg fields for pmicKeerthy
The ctrl reg contains bit fields to enable and disable regulators, and volt_reg has the bit fields to configure the voltage values. The registers are frequently accessed hence make them part of dm_regulator_uclass_platdata structure. Signed-off-by: Keerthy <[email protected]> Reviewed-by: Tom Rini <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2016-10-11power: regulator: Add support for gpio regulatorsKeerthy
Add support for gpio regulators. As of now this driver caters to gpio regulators with one gpio. Supports setting voltage values to gpio regulators and retrieving the values. Signed-off-by: Keerthy <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2016-10-07power: pmic: add Ricoh RN5T567 PMIC supportStefan Agner
Add device model enabled PMIC driver for Ricoh RN5T567 PMIC used on Colibri iMX7. Signed-off-by: Stefan Agner <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2016-07-27dm: Convert users from dm_scan_fdt_node() to dm_scan_fdt_dev()Simon Glass
This new function is more convenient for callers, and handles pre-relocation situations automatically. Signed-off-by: Simon Glass <[email protected]>
2016-06-09power, tps65217: add some definesHeiko Schocher
add the following defines, needed for the upcoming shc board support: Signed-off-by: Heiko Schocher <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2016-02-24pmic: tps65218: add useful functions and definesNikita Kiryanov
Add the following functions: tps65218_reg_read() for accessing redisters tps65218_toggle_fseal() for toggling the fseal bit tps65218_lock_fsea() for locking the fseal bit to 1 Add the following defines: All status register bits Cc: Tom Rini <[email protected]> Cc: Albert Aribaud <[email protected]> Cc: Igor Grinberg <[email protected]> Signed-off-by: Nikita Kiryanov <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2016-01-21power: Add base support for the RK808 PMICSimon Glass
This Rockchip PMIC provides features suitable for battery-powered applications. It is commonly used with Rockchip SoCs. Add a driver which provides register access. The regulator driver will use this. Signed-off-by: Simon Glass <[email protected]>
2016-01-13power: pmic.h: Drop include <spi.h>Jagan Teki
include/power/pmic.h never used any generic spi code from include/spi.h, but this has been added in below commit. "dm: pmic: add implementation of driver model pmic uclass" (sha1: 4d9057e82be11a862db411c4867e859fe0d4ca2a) Adding functionalities in include/spi.h will trigger a build issue as this been added used in include/power/pmic.h Build issue on trats2 with adding BIT macro on spi.h: ---------------------------------------------------- CC lib/asm-offsets.s In file included from include/power/pmic.h:15:0, from include/power/max77686_pmic.h:11, from include/configs/trats2.h:212, from include/config.h:5, from include/common.h:18, from lib/asm-offsets.c:15: include/spi.h: In function 'spi_w8r8': include/spi.h:327:2: warning: implicit declaration of function 'BIT' [-Wimplicit-function-declaration] Cc: Simon Glass <[email protected]> Cc: Przemyslaw Marczak <[email protected]> Reported-by: Tom Rini <[email protected]> Signed-off-by: Jagan Teki <[email protected]> Reviewed-by: Tom Rini <[email protected]> Acked-by: Simon Glass <[email protected]>
2015-11-02sandbox: add ADC unit testsPrzemyslaw Marczak
This commit adds unit tests for ADC uclass's methods using sandbox ADC. Testing proper ADC binding: - dm_test_adc_bind() - device binding - dm_test_adc_wrong_channel_selection() - checking wrong channel selection Testing ADC supply operations: - dm_test_adc_supply(): - Vdd/Vss values validating - Vdd regulator updated value validating - Vdd regulator's auto enable state validating Testing ADC operations results: - dm_test_adc_single_channel_conversion() - single channel start/data - dm_test_adc_single_channel_shot() - single channel shot - dm_test_adc_multi_channel_conversion() - multi channel start/data - dm_test_adc_multi_channel_shot() - multi channel single shot Signed-off-by: Przemyslaw Marczak <[email protected]> Cc: Simon Glass <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2015-11-02dm: regulator: add function device_get_supply_regulator()Przemyslaw Marczak
Some devices are supplied by configurable regulator's output. But there was no function for getting it. This commit adds function, that allows for getting the supply device by it's phandle. The returned regulator device can be used with regulator uclass's API. Signed-off-by: Przemyslaw Marczak <[email protected]> Cc: Simon Glass <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2015-11-02dm: pmic: add s2mps11 PMIC I/O driverPrzemyslaw Marczak
This driver allows I/O operations on the Samsung S2MPS11 PMIC, which provides lots of LDO/BUCK outputs. To enable it, update defconfig with: - CONFIG_PMIC_S2MPS11 and additional, if were not defined: - CONFIG_CMD_PMIC - CONFIG_ERRNO_STR The binding info: doc/device-tree-bindings/pmic/s2mps11.txt Signed-off-by: Przemyslaw Marczak <[email protected]> Reviewed-by: Simon Glass <[email protected]> Tested-by: Anand Moon <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2015-09-03Merge git://git.denx.de/u-boot-rockchipTom Rini
2015-09-02power: Add support for ACT8846 PMICSimon Glass
Add a driver for the ACT8846 PMIC. This supports several LDOs and BUCKs and is connected to the I2C bus. This driver supports using a regulator driver to access the regulators. Signed-off-by: Simon Glass <[email protected]>
2015-09-02power: pmic: add pfuze3000 supportAdrian Alonso
* Add pmic pfuze3000 support, implement power_pfuze3000_init to be used in power_init_board callback function. Signed-off-by: Adrian Alonso <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2015-08-14Add missing part of: "power: pmic: pfuze100 support driver model"Peng Fan
This part of mentioned commit, was missed by my mistake during the rebase. Signed-off-by: Przemyslaw Marczak <[email protected]> Original commit message: power: pmic: pfuze100 support driver model 1. Support driver model for pfuze100. 2. Introduce a new Kconfig entry DM_PMIC_PFUZE100 for pfuze100 3. This driver intends to support PF100, PF200 and PF3000, so add the device id into the udevice_id array. 4. Rename PMIC_NUM_OF_REGS macro to PFUZE100_NUM_OF_REGS. Change-Id: I4fc88414f3c0285f9648e47ec7aed60addeccc4d Signed-off-by: Peng Fan <[email protected]> Cc: Przemyslaw Marczak <[email protected]> Cc: Simon Glass <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2015-08-12pmic: pmic_hi6553: Add a driver for the hi6553 pmic found on hikey board.Peter Griffin
This adds a simple pmic driver for the hi6553 pmic which is used in conjunction with the hi6220 SoC on the hikey board. Eventually this driver will be updated to be a proper UCLASS PMIC driver which can parse the voltages direct from device tree. Signed-off-by: Peter Griffin <[email protected]>
2015-08-12power: regulator: add pfuze100 supportPeng Fan
1. Add new regulator driver pfuze100. * Introduce struct pfuze100_regulator_desc for maintaining info for one regulator. 2. Add new Kconfig entry DM_REGULATOR_PFUZE100 for pfuze100. 3. This driver intends to support PF100, PF200 and PF3000. 4. Add related macro definition in pfuze header file. Signed-off-by: Peng Fan <[email protected]> Cc: Przemyslaw Marczak <[email protected]> Cc: Simon Glass <[email protected]>
2015-08-12power: regulator: update comments for regulator-namePeng Fan
We do not need that "regulator-name" property must be provided in dts. If "regulator-name" property is not provided in dts, node name will chosen for settings '.name' field of uc_pdata. Signed-off-by: Peng Fan <[email protected]> Cc: Przemyslaw Marczak <[email protected]> Cc: Simon Glass <[email protected]>
2015-08-12power: pfuze100 correct SWBST macro definitionPeng Fan
According to datasheet, SWBST_MODE starts from bit 2 and it occupies 2 bits. So SWBST_MODE_MASK should be 0xC, and SWBST_MODE_xx should be ([mode] << 2). Signed-off-by: Peng Fan <[email protected]> Cc: Przemyslaw Marczak <[email protected]> Cc: Stefano Babic <[email protected]> Reviewed-by: Simon Glass <[email protected]>