diff options
Diffstat (limited to 'arch/arm/plat-mxc/include/mach/clock.h')
-rw-r--r-- | arch/arm/plat-mxc/include/mach/clock.h | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/arch/arm/plat-mxc/include/mach/clock.h b/arch/arm/plat-mxc/include/mach/clock.h index 753a5988d85c..b414aafac1f8 100644 --- a/arch/arm/plat-mxc/include/mach/clock.h +++ b/arch/arm/plat-mxc/include/mach/clock.h @@ -1,5 +1,5 @@ /* - * Copyright 2005-2007 Freescale Semiconductor, Inc. All Rights Reserved. + * Copyright 2005-2010 Freescale Semiconductor, Inc. All Rights Reserved. * Copyright 2008 Juergen Beisert, kernel@pengutronix.de * * This program is free software; you can redistribute it and/or @@ -25,6 +25,12 @@ struct module; +struct mxc_clk { + struct list_head node; + char name[20]; + struct clk *reg_clk; +}; + struct clk { int id; /* Source clock this clk depends on */ @@ -57,8 +63,18 @@ struct clk { int (*set_parent) (struct clk *, struct clk *); }; -int clk_register(struct clk *clk); -void clk_unregister(struct clk *clk); +int clk_register(struct mxc_clk *clk); +void clk_unregister(struct mxc_clk *clk); +int clk_get_usecount(struct clk *clk); +int clk_set_pll_dither(struct clk *clk, unsigned int pll_ppm); + +/* Clock flags */ +#define RATE_PROPAGATES (1 << 0) /* Program children too */ +#define ALWAYS_ENABLED (1 << 1) /* Clock cannot be disabled */ +#define RATE_FIXED (1 << 2) /* Fixed clock rate */ +#define CPU_FREQ_TRIG_UPDATE (1 << 3) /* CPUFREQ trig update */ +#define AHB_HIGH_SET_POINT (1 << 4) /* Requires max AHB clock */ +#define AHB_MED_SET_POINT (1 << 5) /* Requires med AHB clock */ unsigned long mxc_decode_pll(unsigned int pll, u32 f_ref); |