summaryrefslogtreecommitdiffstats
path: root/drivers/clk/meson/clkc.h
diff options
context:
space:
mode:
authorMichael Turquette2016-06-07 08:16:17 +0200
committerMichael Turquette2016-06-23 03:02:59 +0200
commit1c50da4f27cbfb588b59684b55eb7a087bb26ed1 (patch)
tree476a4b396e86fb59ad46baa1e2156d25a36003aa /drivers/clk/meson/clkc.h
parentclk: meson: add peripheral gate macro (diff)
downloadkernel-qcow2-linux-1c50da4f27cbfb588b59684b55eb7a087bb26ed1.tar.gz
kernel-qcow2-linux-1c50da4f27cbfb588b59684b55eb7a087bb26ed1.tar.xz
kernel-qcow2-linux-1c50da4f27cbfb588b59684b55eb7a087bb26ed1.zip
clk: meson: add mpll support
MPLLs are adjustable rate clocks derived from PLLs. On both Meson8b and GXBB they appear to be only derived from fixed_pll. Add support for these clock types so that they can be added to their respective drivers. Tested-by: Kevin Hilman <khilman@baylibre.com> Signed-off-by: Michael Turquette <mturquette@baylibre.com>
Diffstat (limited to 'drivers/clk/meson/clkc.h')
-rw-r--r--drivers/clk/meson/clkc.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/clk/meson/clkc.h b/drivers/clk/meson/clkc.h
index 9436932880c0..73f014691240 100644
--- a/drivers/clk/meson/clkc.h
+++ b/drivers/clk/meson/clkc.h
@@ -73,6 +73,15 @@ struct meson_clk_cpu {
int meson_clk_cpu_notifier_cb(struct notifier_block *nb, unsigned long event,
void *data);
+struct meson_clk_mpll {
+ struct clk_hw hw;
+ void __iomem *base;
+ struct parm sdm;
+ struct parm n2;
+ /* FIXME ssen gate control? */
+ spinlock_t *lock;
+};
+
#define MESON_GATE(_name, _reg, _bit) \
struct clk_gate gxbb_##_name = { \
.reg = (void __iomem *) _reg, \
@@ -91,5 +100,6 @@ struct clk_gate gxbb_##_name = { \
extern const struct clk_ops meson_clk_pll_ro_ops;
extern const struct clk_ops meson_clk_pll_ops;
extern const struct clk_ops meson_clk_cpu_ops;
+extern const struct clk_ops meson_clk_mpll_ro_ops;
#endif /* __CLKC_H */