bea8bcb12d
Add support for the Coldfire 5441x (54410/54415/54416/54417/54418). Currently we only support noMMU mode. It requires the PIT patch posted previously as it uses the PIT instead of the dma timer as a clock source so we can get all that GENERIC_CLOCKEVENTS goodness. It also adds some simple clk definitions and very simple minded power management. The gpio code is tweeked and some additional devices are added to devices.c. The Makefile uses -mv4e as apparently, the only difference a v4m (m5441x) and a v4e is the later has a FPU, which I don't think should matter to us in the kernel. Signed-off-by: Steven King <sfking@fdwdc.com> Signed-off-by: Greg Ungerer <gerg@uclinux.org>
44 lines
812 B
C
44 lines
812 B
C
/*
|
|
* mcfclk.h -- coldfire specific clock structure
|
|
*/
|
|
|
|
|
|
#ifndef mcfclk_h
|
|
#define mcfclk_h
|
|
|
|
struct clk;
|
|
|
|
#ifdef MCFPM_PPMCR0
|
|
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[];
|
|
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 *);
|
|
#endif /* MCFPM_PPMCR0 */
|
|
|
|
#endif /* mcfclk_h */
|