summaryrefslogtreecommitdiffstats
path: root/include/linux/clk.h
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2012-12-06 12:42:50 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2012-12-06 12:55:21 +0100
commit802d901450b7a180ca55c0679feb8d1f5141cc72 (patch)
treef3a6f23393b95e97e09489e03ef275ebbdb70f95 /include/linux/clk.h
parentc753cb36f9742f17283ddc690b3263ce72631597 (diff)
downloadbarebox-802d901450b7a180ca55c0679feb8d1f5141cc72.tar.gz
barebox-802d901450b7a180ca55c0679feb8d1f5141cc72.tar.xz
clk: Add clk table based divider support
For easy support of table based dividers. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'include/linux/clk.h')
-rw-r--r--include/linux/clk.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/include/linux/clk.h b/include/linux/clk.h
index 00588bff05..91574f23d0 100644
--- a/include/linux/clk.h
+++ b/include/linux/clk.h
@@ -181,9 +181,19 @@ struct clk {
struct clk **parents;
};
+#define CLK_ALWAYS_ENABLED (1 << 0)
+
+struct clk_div_table {
+ unsigned int val;
+ unsigned int div;
+};
+
struct clk *clk_fixed(const char *name, int rate);
struct clk *clk_divider(const char *name, const char *parent,
void __iomem *reg, u8 shift, u8 width);
+struct clk *clk_divider_table(const char *name,
+ const char *parent, void __iomem *reg, u8 shift, u8 width,
+ const struct clk_div_table *table);
struct clk *clk_fixed_factor(const char *name,
const char *parent, unsigned int mult, unsigned int div);
struct clk *clk_mux(const char *name, void __iomem *reg,