diff options
| author | Gabriel FERNANDEZ <gabriel.fernandez@st.com> | 2014-07-15 11:20:28 -0400 |
|---|---|---|
| committer | Mike Turquette <mturquette@linaro.org> | 2014-07-29 01:36:59 -0400 |
| commit | 58de9b8e7fd463ad89dcc2c38f4c95f932d6797d (patch) | |
| tree | 0f5616b02eb2903c3e6039f8fe49e646303beef4 | |
| parent | 51306d56ba81dc2bded042188706481f0c84d379 (diff) | |
clk: st: STiH407: Support for clockgenD0/D2/D3
The patch added support for ClockGenD0/D2/D3
It includes one 660 Quadfs.
Signed-off-by: Gabriel Fernandez <gabriel.fernandez@linaro.org>
Signed-off-by: Olivier Bideau <olivier.bideau@st.com>
Acked-by: Peter Griffin <peter.griffin@linaro.org>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
| -rw-r--r-- | drivers/clk/st/clkgen-fsyn.c | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/drivers/clk/st/clkgen-fsyn.c b/drivers/clk/st/clkgen-fsyn.c index 84fcf715bf96..dc5bcb7cc6d7 100644 --- a/drivers/clk/st/clkgen-fsyn.c +++ b/drivers/clk/st/clkgen-fsyn.c | |||
| @@ -298,6 +298,48 @@ static const struct clkgen_quadfs_data st_fs660c32_C_407 = { | |||
| 298 | .get_rate = clk_fs660c32_dig_get_rate, | 298 | .get_rate = clk_fs660c32_dig_get_rate, |
| 299 | }; | 299 | }; |
| 300 | 300 | ||
| 301 | static const struct clkgen_quadfs_data st_fs660c32_D_407 = { | ||
| 302 | .nrst_present = true, | ||
| 303 | .nrst = { CLKGEN_FIELD(0x2a0, 0x1, 0), | ||
| 304 | CLKGEN_FIELD(0x2a0, 0x1, 1), | ||
| 305 | CLKGEN_FIELD(0x2a0, 0x1, 2), | ||
| 306 | CLKGEN_FIELD(0x2a0, 0x1, 3) }, | ||
| 307 | .ndiv = CLKGEN_FIELD(0x2a4, 0x7, 16), | ||
| 308 | .pe = { CLKGEN_FIELD(0x2b4, 0x7fff, 0), | ||
| 309 | CLKGEN_FIELD(0x2b8, 0x7fff, 0), | ||
| 310 | CLKGEN_FIELD(0x2bc, 0x7fff, 0), | ||
| 311 | CLKGEN_FIELD(0x2c0, 0x7fff, 0) }, | ||
| 312 | .sdiv = { CLKGEN_FIELD(0x2b4, 0xf, 20), | ||
| 313 | CLKGEN_FIELD(0x2b8, 0xf, 20), | ||
| 314 | CLKGEN_FIELD(0x2bc, 0xf, 20), | ||
| 315 | CLKGEN_FIELD(0x2c0, 0xf, 20) }, | ||
| 316 | .npda = CLKGEN_FIELD(0x2a0, 0x1, 12), | ||
| 317 | .nsb = { CLKGEN_FIELD(0x2a0, 0x1, 8), | ||
| 318 | CLKGEN_FIELD(0x2a0, 0x1, 9), | ||
| 319 | CLKGEN_FIELD(0x2a0, 0x1, 10), | ||
| 320 | CLKGEN_FIELD(0x2a0, 0x1, 11) }, | ||
| 321 | .nsdiv_present = true, | ||
| 322 | .nsdiv = { CLKGEN_FIELD(0x2b4, 0x1, 24), | ||
| 323 | CLKGEN_FIELD(0x2b8, 0x1, 24), | ||
| 324 | CLKGEN_FIELD(0x2bc, 0x1, 24), | ||
| 325 | CLKGEN_FIELD(0x2c0, 0x1, 24) }, | ||
| 326 | .mdiv = { CLKGEN_FIELD(0x2b4, 0x1f, 15), | ||
| 327 | CLKGEN_FIELD(0x2b8, 0x1f, 15), | ||
| 328 | CLKGEN_FIELD(0x2bc, 0x1f, 15), | ||
| 329 | CLKGEN_FIELD(0x2c0, 0x1f, 15) }, | ||
| 330 | .en = { CLKGEN_FIELD(0x2ac, 0x1, 0), | ||
| 331 | CLKGEN_FIELD(0x2ac, 0x1, 1), | ||
| 332 | CLKGEN_FIELD(0x2ac, 0x1, 2), | ||
| 333 | CLKGEN_FIELD(0x2ac, 0x1, 3) }, | ||
| 334 | .lockstatus_present = true, | ||
| 335 | .lock_status = CLKGEN_FIELD(0x2A0, 0x1, 24), | ||
| 336 | .powerup_polarity = 1, | ||
| 337 | .standby_polarity = 1, | ||
| 338 | .pll_ops = &st_quadfs_pll_c32_ops, | ||
| 339 | .rtbl = fs660c32_rtbl, | ||
| 340 | .rtbl_cnt = ARRAY_SIZE(fs660c32_rtbl), | ||
| 341 | .get_rate = clk_fs660c32_dig_get_rate,}; | ||
| 342 | |||
| 301 | /** | 343 | /** |
| 302 | * DOC: A Frequency Synthesizer that multiples its input clock by a fixed factor | 344 | * DOC: A Frequency Synthesizer that multiples its input clock by a fixed factor |
| 303 | * | 345 | * |
| @@ -989,6 +1031,10 @@ static struct of_device_id quadfs_of_match[] = { | |||
| 989 | .compatible = "st,stih407-quadfs660-D", | 1031 | .compatible = "st,stih407-quadfs660-D", |
| 990 | .data = &st_fs660c32_D_407 | 1032 | .data = &st_fs660c32_D_407 |
| 991 | }, | 1033 | }, |
| 1034 | { | ||
| 1035 | .compatible = "st,stih407-quadfs660-D", | ||
| 1036 | .data = (void *)&st_fs660c32_D_407 | ||
| 1037 | }, | ||
| 992 | {} | 1038 | {} |
| 993 | }; | 1039 | }; |
| 994 | 1040 | ||
