aboutsummaryrefslogtreecommitdiff
path: root/product/rcar/module/rcar_dvfs/src/mod_dvfs_module_private.h
diff options
context:
space:
mode:
Diffstat (limited to 'product/rcar/module/rcar_dvfs/src/mod_dvfs_module_private.h')
-rw-r--r--product/rcar/module/rcar_dvfs/src/mod_dvfs_module_private.h42
1 files changed, 42 insertions, 0 deletions
diff --git a/product/rcar/module/rcar_dvfs/src/mod_dvfs_module_private.h b/product/rcar/module/rcar_dvfs/src/mod_dvfs_module_private.h
new file mode 100644
index 00000000..0ec3d455
--- /dev/null
+++ b/product/rcar/module/rcar_dvfs/src/mod_dvfs_module_private.h
@@ -0,0 +1,42 @@
+/*
+ * Renesas SCP/MCP Software
+ * Copyright (c) 2017-2020, Arm Limited and Contributors. All rights reserved.
+ * Copyright (c) 2020, Renesas Electronics Corporation. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#ifndef MOD_DVFS_MODULE_PRIVATE_H
+#define MOD_DVFS_MODULE_PRIVATE_H
+
+#include <mod_clock.h>
+#include <mod_rcar_pmic.h>
+
+#include <fwk_id.h>
+
+/* Domain context */
+struct mod_dvfs_domain_ctx {
+ /* Domain configuration */
+ const struct mod_dvfs_domain_config *config;
+
+ struct {
+ /* Power supply API */
+ const struct mod_rcar_pmic_device_api *psu;
+
+ /* Clock API */
+ const struct mod_clock_api *clock;
+ } apis;
+
+ /* Number of operating points */
+ size_t opp_count;
+
+ /* Operating point prior to domain suspension */
+ struct mod_dvfs_opp suspended_opp;
+
+ /* Current operating point limits */
+ struct mod_dvfs_frequency_limits frequency_limits;
+};
+
+struct mod_dvfs_domain_ctx *__mod_dvfs_get_valid_domain_ctx(fwk_id_t domain_id);
+
+#endif /* MOD_DVFS_MODULE_PRIVATE_H */