arm-trusted-firmware/plat
Jolly Shah bd642dde65 zynqmp: pm: Reimplement clock enable EEMI API
Clock enable EEMI API is reimplemented to use system-level clock
and pll EEMI APIs rather than direct MMIO read/write accesses to clock
and pll control registers.
Since linux still uses clock enable API to trigger locking of the PLLs
in the pm_clock_enable() implementation we need to workaround this by
distinguishing two cases: 1) if the given clock ID corresponds to a PLL
output clock ID; or 2) given clock ID is truly an on-chip clock that can
be gated.
For case 1) we'll call pm_api_clock_pll_enable() implemented in
pm_api_clock.h/c. This function checks what is the buffered PLL mode and
calls the system-level PLL set mode EEMI API with the buffered mode value
specified as argument. Long term, if linux driver get fixed to use PLL
EEMI API to control PLLs, this case could be removed from ATF.
For case 2) we'll call the PMU to configure the clock gate. This is done
using system-level clock enable EEMI API.

Signed-off-by: Mirela Simonovic <mirela.simonovic@aggios.com>
Acked-by: Will Wong <WILLW@xilinx.com>
Signed-off-by: Jolly Shah <jollys@xilinx.com>
2019-01-04 11:47:30 -08:00
..
allwinner drivers/console: Link console framework code by default 2018-12-06 16:13:50 -08:00
arm romlib: Add platform specific jump table list 2018-12-18 13:55:47 +00:00
common Merge pull request #1708 from Yann-lms/warnings 2018-12-12 15:54:47 +00:00
hisilicon io_block: define MAX_IO_BLOCK_DEVICES as unsigned 2018-12-10 18:09:49 +01:00
imx io_block: define MAX_IO_BLOCK_DEVICES as unsigned 2018-12-10 18:09:49 +01:00
layerscape Merge pull request #1700 from jwerner-chromium/JW_crashfix 2018-12-10 14:00:01 +00:00
marvell Merge pull request #1700 from jwerner-chromium/JW_crashfix 2018-12-10 14:00:01 +00:00
mediatek Standardise header guards across codebase 2018-11-08 10:20:19 +00:00
meson/gxbb drivers/console: Link console framework code by default 2018-12-06 16:13:50 -08:00
nvidia/tegra Tegra: support for native GICv2 drivers 2018-12-18 14:25:27 -08:00
qemu Standardise header guards across codebase 2018-11-08 10:20:19 +00:00
renesas/rcar plat: rcar: Move FDT from x3 to x1 2018-12-13 22:08:24 +01:00
rockchip drivers/console: Link console framework code by default 2018-12-06 16:13:50 -08:00
rpi3 drivers/console: Link console framework code by default 2018-12-06 16:13:50 -08:00
socionext io_block: define MAX_IO_BLOCK_DEVICES as unsigned 2018-12-10 18:09:49 +01:00
st/stm32mp1 stm32mp1: remove useless compilation flags 2018-12-13 15:01:53 +01:00
ti/k3 drivers/console: Link console framework code by default 2018-12-06 16:13:50 -08:00
xilinx zynqmp: pm: Reimplement clock enable EEMI API 2019-01-04 11:47:30 -08:00