aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/clk-provider.h4
-rw-r--r--include/linux/clk/at91_pmc.h25
2 files changed, 29 insertions, 0 deletions
diff --git a/include/linux/clk-provider.h b/include/linux/clk-provider.h
index c59c62571e4f..5100ec1b5d55 100644
--- a/include/linux/clk-provider.h
+++ b/include/linux/clk-provider.h
@@ -343,6 +343,7 @@ struct clk_hw *clk_hw_register_gate(struct device *dev, const char *name,
343 u8 clk_gate_flags, spinlock_t *lock); 343 u8 clk_gate_flags, spinlock_t *lock);
344void clk_unregister_gate(struct clk *clk); 344void clk_unregister_gate(struct clk *clk);
345void clk_hw_unregister_gate(struct clk_hw *hw); 345void clk_hw_unregister_gate(struct clk_hw *hw);
346int clk_gate_is_enabled(struct clk_hw *hw);
346 347
347struct clk_div_table { 348struct clk_div_table {
348 unsigned int val; 349 unsigned int val;
@@ -565,6 +566,9 @@ struct clk_fractional_divider {
565 u8 nwidth; 566 u8 nwidth;
566 u32 nmask; 567 u32 nmask;
567 u8 flags; 568 u8 flags;
569 void (*approximation)(struct clk_hw *hw,
570 unsigned long rate, unsigned long *parent_rate,
571 unsigned long *m, unsigned long *n);
568 spinlock_t *lock; 572 spinlock_t *lock;
569}; 573};
570 574
diff --git a/include/linux/clk/at91_pmc.h b/include/linux/clk/at91_pmc.h
index 17f413bbbedf..6aca5ce8a99a 100644
--- a/include/linux/clk/at91_pmc.h
+++ b/include/linux/clk/at91_pmc.h
@@ -185,4 +185,29 @@
185#define AT91_PMC_PCR_EN (0x1 << 28) /* Enable */ 185#define AT91_PMC_PCR_EN (0x1 << 28) /* Enable */
186#define AT91_PMC_PCR_GCKEN (0x1 << 29) /* GCK Enable */ 186#define AT91_PMC_PCR_GCKEN (0x1 << 29) /* GCK Enable */
187 187
188#define AT91_PMC_AUDIO_PLL0 0x14c
189#define AT91_PMC_AUDIO_PLL_PLLEN (1 << 0)
190#define AT91_PMC_AUDIO_PLL_PADEN (1 << 1)
191#define AT91_PMC_AUDIO_PLL_PMCEN (1 << 2)
192#define AT91_PMC_AUDIO_PLL_RESETN (1 << 3)
193#define AT91_PMC_AUDIO_PLL_ND_OFFSET 8
194#define AT91_PMC_AUDIO_PLL_ND_MASK (0x7f << AT91_PMC_AUDIO_PLL_ND_OFFSET)
195#define AT91_PMC_AUDIO_PLL_ND(n) ((n) << AT91_PMC_AUDIO_PLL_ND_OFFSET)
196#define AT91_PMC_AUDIO_PLL_QDPMC_OFFSET 16
197#define AT91_PMC_AUDIO_PLL_QDPMC_MASK (0x7f << AT91_PMC_AUDIO_PLL_QDPMC_OFFSET)
198#define AT91_PMC_AUDIO_PLL_QDPMC(n) ((n) << AT91_PMC_AUDIO_PLL_QDPMC_OFFSET)
199
200#define AT91_PMC_AUDIO_PLL1 0x150
201#define AT91_PMC_AUDIO_PLL_FRACR_MASK 0x3fffff
202#define AT91_PMC_AUDIO_PLL_QDPAD_OFFSET 24
203#define AT91_PMC_AUDIO_PLL_QDPAD_MASK (0x7f << AT91_PMC_AUDIO_PLL_QDPAD_OFFSET)
204#define AT91_PMC_AUDIO_PLL_QDPAD(n) ((n) << AT91_PMC_AUDIO_PLL_QDPAD_OFFSET)
205#define AT91_PMC_AUDIO_PLL_QDPAD_DIV_OFFSET AT91_PMC_AUDIO_PLL_QDPAD_OFFSET
206#define AT91_PMC_AUDIO_PLL_QDPAD_DIV_MASK (0x3 << AT91_PMC_AUDIO_PLL_QDPAD_DIV_OFFSET)
207#define AT91_PMC_AUDIO_PLL_QDPAD_DIV(n) ((n) << AT91_PMC_AUDIO_PLL_QDPAD_DIV_OFFSET)
208#define AT91_PMC_AUDIO_PLL_QDPAD_EXTDIV_OFFSET 26
209#define AT91_PMC_AUDIO_PLL_QDPAD_EXTDIV_MAX 0x1f
210#define AT91_PMC_AUDIO_PLL_QDPAD_EXTDIV_MASK (AT91_PMC_AUDIO_PLL_QDPAD_EXTDIV_MAX << AT91_PMC_AUDIO_PLL_QDPAD_EXTDIV_OFFSET)
211#define AT91_PMC_AUDIO_PLL_QDPAD_EXTDIV(n) ((n) << AT91_PMC_AUDIO_PLL_QDPAD_EXTDIV_OFFSET)
212
188#endif 213#endif