summaryrefslogtreecommitdiff
path: root/include/drivers
diff options
context:
space:
mode:
authorChristine Gharzuzi <chrisg@marvell.com>2017-10-24 20:38:50 +0300
committerKostya Porotchkin <kostap@marvell.com>2018-02-07 10:17:09 +0200
commitff205f5d76b0435663ddb961f109c803373117c5 (patch)
treeb77f41e059092eb8dddc8f22be73d9ec731a3b92 /include/drivers
parente846d2c32f7f8e1946ecaeb031bebc78f40b54c5 (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.h14
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_ */
+