diff options
author | Mike Turquette <mturquette@linaro.org> | 2014-03-18 21:34:45 -0700 |
---|---|---|
committer | Mike Turquette <mturquette@linaro.org> | 2014-03-18 21:34:45 -0700 |
commit | 06fa5ab32a1b246bf151edddf9aa5580d4021d92 (patch) | |
tree | bd54f7e93da03be4c5043eb8c616559895116b0e /drivers/clk | |
parent | e8e6b840c4b646ce5aaef27875a22251ebc4e0d6 (diff) | |
parent | e69a8543ec7730c46225c886f74f0ea57e4656c5 (diff) | |
download | linux-06fa5ab32a1b246bf151edddf9aa5580d4021d92.tar.gz linux-06fa5ab32a1b246bf151edddf9aa5580d4021d92.tar.bz2 linux-06fa5ab32a1b246bf151edddf9aa5580d4021d92.zip |
Merge tag 'clk-mvebu-3xx-3.15-2' of git://git.infradead.org/linux-mvebu into clk-next-mvebu
clock: mvebu new SoC changes for v3.15 (incremental pull #2)
- mvebu (Armada 375)
- fix ratio register offest
- mvebu (Armada 380)
- expand core divider clock driver to support 380 SoC (enables nand support)
Diffstat (limited to 'drivers/clk')
-rw-r--r-- | drivers/clk/mvebu/clk-corediv.c | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/drivers/clk/mvebu/clk-corediv.c b/drivers/clk/mvebu/clk-corediv.c index 4da60760be10..d1e5863d3375 100644 --- a/drivers/clk/mvebu/clk-corediv.c +++ b/drivers/clk/mvebu/clk-corediv.c @@ -204,6 +204,22 @@ static const struct clk_corediv_soc_desc armada370_corediv_soc = { .ratio_offset = 0x8, }; +static const struct clk_corediv_soc_desc armada380_corediv_soc = { + .descs = mvebu_corediv_desc, + .ndescs = ARRAY_SIZE(mvebu_corediv_desc), + .ops = { + .enable = clk_corediv_enable, + .disable = clk_corediv_disable, + .is_enabled = clk_corediv_is_enabled, + .recalc_rate = clk_corediv_recalc_rate, + .round_rate = clk_corediv_round_rate, + .set_rate = clk_corediv_set_rate, + }, + .ratio_reload = BIT(8), + .enable_bit_offset = 16, + .ratio_offset = 0x4, +}; + static const struct clk_corediv_soc_desc armada375_corediv_soc = { .descs = mvebu_corediv_desc, .ndescs = ARRAY_SIZE(mvebu_corediv_desc), @@ -213,7 +229,7 @@ static const struct clk_corediv_soc_desc armada375_corediv_soc = { .set_rate = clk_corediv_set_rate, }, .ratio_reload = BIT(8), - .ratio_offset = 0x8, + .ratio_offset = 0x4, }; static void __init @@ -290,3 +306,10 @@ static void __init armada375_corediv_clk_init(struct device_node *node) } CLK_OF_DECLARE(armada375_corediv_clk, "marvell,armada-375-corediv-clock", armada375_corediv_clk_init); + +static void __init armada380_corediv_clk_init(struct device_node *node) +{ + return mvebu_corediv_clk_init(node, &armada380_corediv_soc); +} +CLK_OF_DECLARE(armada380_corediv_clk, "marvell,armada-380-corediv-clock", + armada380_corediv_clk_init); |