mirror of
https://github.com/torvalds/linux.git
synced 2024-11-23 12:42:02 +00:00
clk: cs2000-cp: make clock skip setting configurable
The clock skip function of this chip is not necessarily desirable in all hardware appliances. This patch makes the feature configurable through a device-tree property. Signed-off-by: Daniel Mack <daniel@zonque.org> Link: https://lore.kernel.org/r/20220125093336.226787-8-daniel@zonque.org Signed-off-by: Stephen Boyd <sboyd@kernel.org>
This commit is contained in:
parent
da1eb4e8b4
commit
b836882586
@ -81,6 +81,7 @@ struct cs2000_priv {
|
||||
|
||||
bool dynamic_mode;
|
||||
bool lf_ratio;
|
||||
bool clk_skip;
|
||||
|
||||
/* suspend/resume */
|
||||
unsigned long saved_rate;
|
||||
@ -133,7 +134,7 @@ static int cs2000_enable_dev_config(struct cs2000_priv *priv, bool enable)
|
||||
return ret;
|
||||
|
||||
ret = cs2000_bset(priv, FUNC_CFG1, CLKSKIPEN,
|
||||
enable ? CLKSKIPEN : 0);
|
||||
(enable && priv->clk_skip) ? CLKSKIPEN : 0);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
@ -464,6 +465,8 @@ static int cs2000_clk_register(struct cs2000_priv *priv)
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
priv->clk_skip = of_property_read_bool(np, "cirrus,clock-skip");
|
||||
|
||||
ref_clk_rate = clk_get_rate(priv->ref_clk);
|
||||
ret = cs2000_ref_clk_bound_rate(priv, ref_clk_rate);
|
||||
if (ret < 0)
|
||||
|
Loading…
Reference in New Issue
Block a user