|
@@ -78,6 +78,9 @@ static int vco_set(struct clk_icst *icst, struct icst_vco vco)
|
|
ret = regmap_read(icst->map, icst->vcoreg_off, &val);
|
|
ret = regmap_read(icst->map, icst->vcoreg_off, &val);
|
|
if (ret)
|
|
if (ret)
|
|
return ret;
|
|
return ret;
|
|
|
|
+
|
|
|
|
+ /* Mask the 18 bits used by the VCO */
|
|
|
|
+ val &= ~0x7ffff;
|
|
val |= vco.v | (vco.r << 9) | (vco.s << 16);
|
|
val |= vco.v | (vco.r << 9) | (vco.s << 16);
|
|
|
|
|
|
/* This magic unlocks the VCO so it can be controlled */
|
|
/* This magic unlocks the VCO so it can be controlled */
|