diff options
author | Christine Gharzuzi <chrisg@marvell.com> | 2017-10-24 20:38:50 +0300 |
---|---|---|
committer | Kostya Porotchkin <kostap@marvell.com> | 2018-02-07 10:17:09 +0200 |
commit | ff205f5d76b0435663ddb961f109c803373117c5 (patch) | |
tree | b77f41e059092eb8dddc8f22be73d9ec731a3b92 /include/drivers | |
parent | e846d2c32f7f8e1946ecaeb031bebc78f40b54c5 (diff) |
ap810: clocks: Initialize clocks using EAWG + ARO drivers
1. preparing EAWG's transactions:
before triggering EAWG, transactions needs to be prepared
for each PLL clock, and only then loaded into the
EAWG's FIFO.
chosen clocks value is read from the sampled-at-reset
and efuse registers.
2. for each AP:
EAWG is triggered using the primary system CPU,
and only then the primary CPU (CPU0 in AP0) triggers
its own AP's EAWG and enters WFE state
to be awaken by the EAWG.
(as the last transactions sent to the EAWG is a wake up
command for the CPU)
3. once CPU0 is awaken, and all AP's EAWG are done,
EAWG is disabled and CPU0 triggers ARO with suitable
frequency target.
(also read from sampled-at-reset and efuse registers).
Change-Id: I8e67a2c56c825673f797b6f6b6e173f1eccb6a84
Signed-off-by: Christine Gharzuzi <chrisg@marvell.com>
Reviewed-on: http://vgitil04.il.marvell.com:8080/47085
Tested-by: iSoC Platform CI <ykjenk@marvell.com>
Reviewed-by: Kostya Porotchkin <kostap@marvell.com>
Diffstat (limited to 'include/drivers')
-rw-r--r-- | include/drivers/marvell/ap810_init_clocks.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/include/drivers/marvell/ap810_init_clocks.h b/include/drivers/marvell/ap810_init_clocks.h new file mode 100644 index 00000000..446b55be --- /dev/null +++ b/include/drivers/marvell/ap810_init_clocks.h @@ -0,0 +1,14 @@ +/* + * Copyright (C) 2017 Marvell International Ltd. + * + * SPDX-License-Identifier: BSD-3-Clause + * https://spdx.org/licenses + */ + +#ifndef AP810_INIT_CLOCKS_H_ +#define AP810_INIT_CLOCKS_H_ + +int ap810_clocks_init(int ap_count); + +#endif /* AP810_INIT_CLOCKS_H_ */ + |