aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGabriel FERNANDEZ <gabriel.fernandez@st.com>2014-07-15 11:20:26 -0400
committerMike Turquette <mturquette@linaro.org>2014-07-29 01:36:49 -0400
commitfc755c8bc8f155980077cb015020ec0a97ebc5c6 (patch)
tree741bfb61d1588bc012d754ca377dd7e1f0b14054
parent8f26df843204a5f24254fdf2836bd81202d8e929 (diff)
clk: st: Add quadfs reset handling
This patch adds the support of quadfs reset handling. Signed-off-by: Olivier Bideau <olivier.bideau@st.com> Signed-off-by: Gabriel Fernandez <gabriel.fernandez@linaro.org> Acked-by: Peter Griffin <peter.griffin@linaro.org> Signed-off-by: Mike Turquette <mturquette@linaro.org>
-rw-r--r--drivers/clk/st/clkgen-fsyn.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/clk/st/clkgen-fsyn.c b/drivers/clk/st/clkgen-fsyn.c
index b925580646a0..4cd10b2e3b15 100644
--- a/drivers/clk/st/clkgen-fsyn.c
+++ b/drivers/clk/st/clkgen-fsyn.c
@@ -70,12 +70,14 @@ struct clkgen_quadfs_data {
70 bool powerup_polarity; 70 bool powerup_polarity;
71 bool standby_polarity; 71 bool standby_polarity;
72 bool nsdiv_present; 72 bool nsdiv_present;
73 bool nrst_present;
73 struct clkgen_field ndiv; 74 struct clkgen_field ndiv;
74 struct clkgen_field ref_bw; 75 struct clkgen_field ref_bw;
75 struct clkgen_field nreset; 76 struct clkgen_field nreset;
76 struct clkgen_field npda; 77 struct clkgen_field npda;
77 struct clkgen_field lock_status; 78 struct clkgen_field lock_status;
78 79
80 struct clkgen_field nrst[QUADFS_MAX_CHAN];
79 struct clkgen_field nsb[QUADFS_MAX_CHAN]; 81 struct clkgen_field nsb[QUADFS_MAX_CHAN];
80 struct clkgen_field en[QUADFS_MAX_CHAN]; 82 struct clkgen_field en[QUADFS_MAX_CHAN];
81 struct clkgen_field mdiv[QUADFS_MAX_CHAN]; 83 struct clkgen_field mdiv[QUADFS_MAX_CHAN];
@@ -615,6 +617,9 @@ static int quadfs_fsynth_enable(struct clk_hw *hw)
615 617
616 CLKGEN_WRITE(fs, nsb[fs->chan], !fs->data->standby_polarity); 618 CLKGEN_WRITE(fs, nsb[fs->chan], !fs->data->standby_polarity);
617 619
620 if (fs->data->nrst_present)
621 CLKGEN_WRITE(fs, nrst[fs->chan], 0);
622
618 if (fs->lock) 623 if (fs->lock)
619 spin_unlock_irqrestore(fs->lock, flags); 624 spin_unlock_irqrestore(fs->lock, flags);
620 625