--- a/drivers/cpufreq/cpufreq-dt.c
+++ b/drivers/cpufreq/cpufreq-dt.c
-@@ -49,11 +49,39 @@ static int set_target(struct cpufreq_pol
+@@ -49,11 +49,40 @@ static int set_target(struct cpufreq_pol
struct private_data *priv = policy->driver_data;
unsigned long freq = policy->freq_table[index].frequency;
int ret;
+ l2_freq = clk_get_rate(l2_clk);
+
+ if (l2_freq != new_l2_freq) {
++ ret = clk_set_rate(l2_clk, policy->l2_rate[0]);
+ /* scale l2 with the core */
+ ret = clk_set_rate(l2_clk, new_l2_freq);
+ }