Age | Commit message (Collapse) | Author |
|
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>
|
|
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>
|
|
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>
|
|
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.
|
|
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>
|
|
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>
|