summaryrefslogtreecommitdiff
path: root/plat/sun50iw1p1/sunxi_power.c
AgeCommit message (Collapse)Author
2017-03-08sun50iw1p1: Rewrite PMIC driver.Christoph Muellner
The existing API to interact with the PMIC (AXP803) offers low-level calls to read and write PMIC registers. This patch adds two high-level APIs: * regulator-level API * task-level API The regulator-level API allows to enable, disable, and set the voltage level of regulators. The regulators are named by IDs in the form of AXP803_<regulator> (e.g. AXP803_DCDC2). The task-level API allows to perform a batch of regulator-level calls. Using this API allows to keep many invokations of the regulator-level API compact. Signed-off-by: Christoph Muellner <christoph.muellner@theobroma-systems.com>
2017-03-08sun50iw1p1: Separate RSB driver from PMIC code.Christoph Muellner
This patch refactors the PMIC code and moves the RSB related code into its own module. This allows other code to access RSB devices as well and make the code more readable. Signed-off-by: Christoph Muellner <christoph.muellner@theobroma-systems.com>
2017-02-02sun50iw1p1: Adjust PMIC setting for the A64-uQ7 (DDR3L and GbE PHY)Philipp Tomsich
For the A64-uQ7 we should set up DCDC5 (DDR) to 1.36V and DCDC4 to 1.2V (for the Micrel GbE PHY). Note that a higher DCDC5 setting (i.e. 1.5V) will also work safely, but we expect a power-saving under high system load from using the lower DDR3L voltage supported by our RAM. Per my discussion with Andre, board-specific power initialisation should eventually be conditionalised on the FDT, as seen by the ATF. However, this will require the ATF to be rebased to a more current ATF source bae first. X-AffectedPlatforms: A64-uQ7 Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
2016-11-10sunxi: power: set DRAM voltage to 1.5VAndre Przywara
On the Pine64 boards (at least on some of them) the PMIC does not reset the DRAM voltage (DCDC5) to the required 1.5V. Program the respective AXP register to improve DRAM stability.
2016-08-08sunxi: power: enable DLDO4 switch as wellAndre Przywara
The DLDO4 switch enables power to the SDIO module slot, which usually carries a WiFi module. Enable this power rail unconditionally for now until we have proper regulator support. Signed-off-by: Andre Przywara <andre.przywara@arm.com>
2016-06-02sun50i: initialize and setup PMICAndre Przywara
Most boards featuring the Allwinner A64 SoC also use an AXP 803 power management IC (PMIC) to set and switch voltages. Add code to initialize Allwinner's RSB bus, which is used to talk to the PMIC more easily and faster than I2C. Then do the necessary setup, which in our case consists of enabling the DC1SW port, which powers USB and the Ethernet PHY and setting the DCDC1 voltage to 3.3V (instead of the default 3.0V). Also export the PMIC access function to be callable from the PSCI code. Signed-off-by: Andre Przywara <andre.przywara@arm.com>