summaryrefslogtreecommitdiffstats
path: root/include/linux/clk-provider.h
diff options
context:
space:
mode:
authorJim Quinlan <jim2101024@gmail.com>2015-05-15 15:45:47 -0400
committerStephen Boyd <sboyd@codeaurora.org>2015-07-28 11:59:19 -0700
commitafe76c8fd030dd6b75fa69f7af7b7eb1e212f248 (patch)
treefcf7c6f403d54380eeef1b549a7197cc8dfa756e /include/linux/clk-provider.h
parent25d4d341d31b349836e1b12d10be34b9b575c12b (diff)
downloadlinux-afe76c8fd030dd6b75fa69f7af7b7eb1e212f248.tar.gz
linux-afe76c8fd030dd6b75fa69f7af7b7eb1e212f248.tar.bz2
linux-afe76c8fd030dd6b75fa69f7af7b7eb1e212f248.zip
clk: allow a clk divider with max divisor when zero
This commit allows certain Broadcom STB clock dividers to be used with clk-divider.c. It allows for a clock whose field value is the equal to the divisor, execpt when the field value is zero, in which case the divisor is 2^width. For example, consider a divisor clock with a two bit field: value divisor 0 4 1 1 2 2 3 3 Signed-off-by: Jim Quinlan <jim2101024@gmail.com> Signed-off-by: Michael Turquette <mturquette@baylibre.com>
Diffstat (limited to 'include/linux/clk-provider.h')
-rw-r--r--include/linux/clk-provider.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/clk-provider.h b/include/linux/clk-provider.h
index 402478ed9933..699a25075170 100644
--- a/include/linux/clk-provider.h
+++ b/include/linux/clk-provider.h
@@ -361,6 +361,9 @@ struct clk_div_table {
* to the closest integer instead of the up one.
* CLK_DIVIDER_READ_ONLY - The divider settings are preconfigured and should
* not be changed by the clock framework.
+ * CLK_DIVIDER_MAX_AT_ZERO - For dividers which are like CLK_DIVIDER_ONE_BASED
+ * except when the value read from the register is zero, the divisor is
+ * 2^width of the field.
*/
struct clk_divider {
struct clk_hw hw;
@@ -378,6 +381,7 @@ struct clk_divider {
#define CLK_DIVIDER_HIWORD_MASK BIT(3)
#define CLK_DIVIDER_ROUND_CLOSEST BIT(4)
#define CLK_DIVIDER_READ_ONLY BIT(5)
+#define CLK_DIVIDER_MAX_AT_ZERO BIT(6)
extern const struct clk_ops clk_divider_ops;