1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- /*
- * mcfclk.h -- coldfire specific clock structure
- */
- #ifndef mcfclk_h
- #define mcfclk_h
- struct clk;
- struct clk_ops {
- void (*enable)(struct clk *);
- void (*disable)(struct clk *);
- };
- struct clk {
- const char *name;
- struct clk_ops *clk_ops;
- unsigned long rate;
- unsigned long enabled;
- u8 slot;
- };
- extern struct clk *mcf_clks[];
- #ifdef MCFPM_PPMCR0
- extern struct clk_ops clk_ops0;
- #ifdef MCFPM_PPMCR1
- extern struct clk_ops clk_ops1;
- #endif /* MCFPM_PPMCR1 */
- #define DEFINE_CLK(clk_bank, clk_name, clk_slot, clk_rate) \
- static struct clk __clk_##clk_bank##_##clk_slot = { \
- .name = clk_name, \
- .clk_ops = &clk_ops##clk_bank, \
- .rate = clk_rate, \
- .slot = clk_slot, \
- }
- void __clk_init_enabled(struct clk *);
- void __clk_init_disabled(struct clk *);
- #else
- #define DEFINE_CLK(clk_ref, clk_name, clk_rate) \
- static struct clk clk_##clk_ref = { \
- .name = clk_name, \
- .rate = clk_rate, \
- }
- #endif /* MCFPM_PPMCR0 */
- #endif /* mcfclk_h */
|