aboutsummaryrefslogtreecommitdiff
path: root/product/sgm775
diff options
context:
space:
mode:
authorJim Quigley <jim.quigley@arm.com>2019-12-20 09:52:26 +0000
committerChris Kay <cjkay93@gmail.com>2020-01-06 11:21:31 +0000
commit3811bb49417ce0baa18b7d8f23513285233af8f9 (patch)
tree372cfc4a5a90e1afceb070f2d880758fb79b3235 /product/sgm775
parentd0455f092ae22c42bc44f81011db4f3063d26e3f (diff)
sgm775: Enable DVFS retry mechanism
This patch enables the DVFS retry mechanism for the sgm775 platform. Change-Id: I13f4a5b6aea3e1a7933fc3c81ce4fa5eb8069d26 Signed-off-by: Jim Quigley <jim.quigley@arm.com>
Diffstat (limited to 'product/sgm775')
-rw-r--r--product/sgm775/scp_ramfw/config_dvfs.c10
-rw-r--r--product/sgm775/scp_ramfw/config_timer.h3
2 files changed, 13 insertions, 0 deletions
diff --git a/product/sgm775/scp_ramfw/config_dvfs.c b/product/sgm775/scp_ramfw/config_dvfs.c
index c61ca193..e22ed07f 100644
--- a/product/sgm775/scp_ramfw/config_dvfs.c
+++ b/product/sgm775/scp_ramfw/config_dvfs.c
@@ -10,11 +10,15 @@
#include <fwk_module.h>
#include <fwk_module_idx.h>
#include <config_dvfs.h>
+#include <config_timer.h>
#include <mod_dvfs.h>
static const struct mod_dvfs_domain_config cpu_group_little = {
.psu_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_PSU, 0),
.clock_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_CLOCK, 1),
+ .alarm_id = FWK_ID_SUB_ELEMENT_INIT(FWK_MODULE_IDX_TIMER, 0,
+ CONFIG_TIMER_DVFS_CPU_GROUP_LITTLE),
+ .retry_ms = 1,
.latency = 1200,
.sustained_idx = 2,
.opps = (struct mod_dvfs_opp[]) {
@@ -45,6 +49,9 @@ static const struct mod_dvfs_domain_config cpu_group_little = {
static const struct mod_dvfs_domain_config cpu_group_big = {
.psu_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_PSU, 1),
.clock_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_CLOCK, 0),
+ .alarm_id = FWK_ID_SUB_ELEMENT_INIT(FWK_MODULE_IDX_TIMER, 0,
+ CONFIG_TIMER_DVFS_CPU_GROUP_BIG),
+ .retry_ms = 1,
.latency = 1200,
.sustained_idx = 2,
.opps = (struct mod_dvfs_opp[]) {
@@ -75,6 +82,9 @@ static const struct mod_dvfs_domain_config cpu_group_big = {
static const struct mod_dvfs_domain_config gpu = {
.psu_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_PSU, 2),
.clock_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_CLOCK, 2),
+ .alarm_id = FWK_ID_SUB_ELEMENT_INIT(FWK_MODULE_IDX_TIMER, 0,
+ CONFIG_TIMER_DVFS_GPU),
+ .retry_ms = 1,
.latency = 1200,
.sustained_idx = 4,
.opps = (struct mod_dvfs_opp[]) {
diff --git a/product/sgm775/scp_ramfw/config_timer.h b/product/sgm775/scp_ramfw/config_timer.h
index 074abfd8..6e0beec0 100644
--- a/product/sgm775/scp_ramfw/config_timer.h
+++ b/product/sgm775/scp_ramfw/config_timer.h
@@ -14,6 +14,9 @@ enum config_timer_element_idx {
};
enum config_timer_refclk_sub_element_idx {
+ CONFIG_TIMER_DVFS_CPU_GROUP_LITTLE,
+ CONFIG_TIMER_DVFS_CPU_GROUP_BIG,
+ CONFIG_TIMER_DVFS_GPU,
CONFIG_TIMER_REFCLK_SUB_ELEMENT_IDX_COUNT,
};