123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- /*
- * 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 */
|