|
@@ -187,6 +187,13 @@ static struct clk_ops clk_prcmu_gate_ops = {
|
|
|
.recalc_rate = clk_prcmu_recalc_rate,
|
|
|
};
|
|
|
|
|
|
+static struct clk_ops clk_prcmu_scalable_rate_ops = {
|
|
|
+ .is_enabled = clk_prcmu_is_enabled,
|
|
|
+ .recalc_rate = clk_prcmu_recalc_rate,
|
|
|
+ .round_rate = clk_prcmu_round_rate,
|
|
|
+ .set_rate = clk_prcmu_set_rate,
|
|
|
+};
|
|
|
+
|
|
|
static struct clk_ops clk_prcmu_rate_ops = {
|
|
|
.is_enabled = clk_prcmu_is_enabled,
|
|
|
.recalc_rate = clk_prcmu_recalc_rate,
|
|
@@ -278,6 +285,16 @@ struct clk *clk_reg_prcmu_gate(const char *name,
|
|
|
&clk_prcmu_gate_ops);
|
|
|
}
|
|
|
|
|
|
+struct clk *clk_reg_prcmu_scalable_rate(const char *name,
|
|
|
+ const char *parent_name,
|
|
|
+ u8 cg_sel,
|
|
|
+ unsigned long rate,
|
|
|
+ unsigned long flags)
|
|
|
+{
|
|
|
+ return clk_reg_prcmu(name, parent_name, cg_sel, rate, flags,
|
|
|
+ &clk_prcmu_scalable_rate_ops);
|
|
|
+}
|
|
|
+
|
|
|
struct clk *clk_reg_prcmu_rate(const char *name,
|
|
|
const char *parent_name,
|
|
|
u8 cg_sel,
|