|
@@ -25,9 +25,15 @@ void ccu_mux_helper_adjust_parent_for_prediv(struct ccu_common *common,
|
|
int i;
|
|
int i;
|
|
|
|
|
|
if (!((common->features & CCU_FEATURE_FIXED_PREDIV) ||
|
|
if (!((common->features & CCU_FEATURE_FIXED_PREDIV) ||
|
|
- (common->features & CCU_FEATURE_VARIABLE_PREDIV)))
|
|
|
|
|
|
+ (common->features & CCU_FEATURE_VARIABLE_PREDIV) ||
|
|
|
|
+ (common->features & CCU_FEATURE_ALL_PREDIV)))
|
|
return;
|
|
return;
|
|
|
|
|
|
|
|
+ if (common->features & CCU_FEATURE_ALL_PREDIV) {
|
|
|
|
+ *parent_rate = *parent_rate / common->prediv;
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+
|
|
reg = readl(common->base + common->reg);
|
|
reg = readl(common->base + common->reg);
|
|
if (parent_index < 0) {
|
|
if (parent_index < 0) {
|
|
parent_index = reg >> cm->shift;
|
|
parent_index = reg >> cm->shift;
|