summaryrefslogtreecommitdiff
path: root/source/hal/include/hal_pmu.h
diff options
context:
space:
mode:
authorKshitij Sisodia <kshitij.sisodia@arm.com>2022-04-08 09:54:53 +0100
committerKshitij Sisodia <kshitij.sisodia@arm.com>2022-04-08 12:30:28 +0100
commit4cc4021d356c174f780be2b7ef96910e36c8dd7b (patch)
treec2a790b914577873a368982a07a9491f6743443e /source/hal/include/hal_pmu.h
parent11b75cc7dc140119dee490f425e25a004122703b (diff)
downloadml-embedded-evaluation-kit-4cc4021d356c174f780be2b7ef96910e36c8dd7b.tar.gz
MLECO-3070: Further HAL cleanup.
Cleaning up HAL sources by removing unnecessary redirections with function pointers. The "platform packages" under HAL are now streamlined enough to not need any major HAL wrapping (as was the case before). This allows us to have a very thin HAL layer that sits on top of the platform and compnent packs. Also helps in getting rid of "hal platform" pointer being passed around in the code to use any HAL functionality. Change-Id: I04b2057f972aad7a5cfb4a396bcdf147c9f9ef1c Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com>
Diffstat (limited to 'source/hal/include/hal_pmu.h')
-rw-r--r--source/hal/include/hal_pmu.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/source/hal/include/hal_pmu.h b/source/hal/include/hal_pmu.h
new file mode 100644
index 0000000..5bfe517
--- /dev/null
+++ b/source/hal/include/hal_pmu.h
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2022 Arm Limited. All rights reserved.
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef HAL_PMU_H
+#define HAL_PMU_H
+
+#include "platform_pmu.h"
+
+/**
+ * @brief Initialise the PMU available for the platform.
+ **/
+void hal_pmu_init(void);
+
+/**
+ * @brief Resets the counters.
+ */
+void hal_pmu_reset(void);
+
+/**
+ * @brief Gets the current counter values.
+ * @param[out] Pointer to a pmu_counters object.
+ **/
+void hal_pmu_get_counters(pmu_counters* counters);
+
+#endif /* HAL_PMU_H */