summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/clock.h
diff options
context:
space:
mode:
authorOlof Johansson <olof@lixom.net>2014-07-21 19:49:46 +0200
committerOlof Johansson <olof@lixom.net>2014-07-21 19:49:46 +0200
commit9db58cc9f385457524d3f6548198532168aecd23 (patch)
treea3d68b81935e5f4f220db8a0f6bbaf9ca516e68f /arch/arm/mach-omap2/clock.h
parentMerge tag 'samsung-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/... (diff)
parentMerge tag 'for-v3.17/omap-clock-a' of git://git.kernel.org/pub/scm/linux/kern... (diff)
downloadlinux-9db58cc9f385457524d3f6548198532168aecd23.tar.xz
linux-9db58cc9f385457524d3f6548198532168aecd23.zip
Merge tag 'omap-for-v3.17/soc-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/cleanup
Merge "omap soc clean-up for v3.17 merge window" from Tony Lindgren: SoC specific omap clean-up for v3.17 merge window: - Changes to PRM and clock related code to help move things to drivers - Removal of unused ctrl module defines that no longer are needed with things moving to .dts files and drivers * tag 'omap-for-v3.17/soc-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (23 commits) ARM: OMAP2+: clock/interface: remove some headers from clkt_iclk.c file ARM: OMAP2+: clock/dpll: remove unused header includes from dpll3xxx.c ARM: OMAP2+: clock/dpll: remove unused header includes from clkt_dpll.c ARM: OMAP2+: clock/interface: add a clk_features definition for idlest value ARM: OMAP2+: clock/dpll: add jitter correction behind clk_features ARM: OMAP2+: clock/dpll: convert bypass check to use clk_features ARM: OMAP2+: clock/dpll: add private API for checking if DPLL is in bypass ARM: OMAP2+: clock: add fint values to the ti_clk_features struct ARM: OMAP2+: clock: introduce ti_clk_features flags ARM: OMAP4+: dpll44xx: remove cm-regbits-44xx.h and clock44xx.h includes ARM: OMAP4+: dpll: remove cpu_is_omap44xx checks ARM: OMAP4+: clock: remove DEFINE_CLK_OMAP_HSDIVIDER macro ARM: OMAP4: Ctrl module register define diet ARM: OMAP3: control: isolate control module init to its own function ARM: OMAP3: PRM: move modem reset and iva2 idle to PRM driver ARM: OMAP3: control: add API for setting up the modem pads ARM: OMAP3: PRM: move PRM init code from PM core to the driver ARM: OMAP24xx: PRM: add API for clearing wakeup status bits ARM: OMAP3: PRM: add API for saving PRM scratchpad contents ARM: OMAP3: PRM: add API for checking and clearing cold reset status ... Signed-off-by: Olof Johansson <olof@lixom.net>
Diffstat (limited to 'arch/arm/mach-omap2/clock.h')
-rw-r--r--arch/arm/mach-omap2/clock.h44
1 files changed, 19 insertions, 25 deletions
diff --git a/arch/arm/mach-omap2/clock.h b/arch/arm/mach-omap2/clock.h
index 12f54d428d7c..0f100dc4e97f 100644
--- a/arch/arm/mach-omap2/clock.h
+++ b/arch/arm/mach-omap2/clock.h
@@ -101,31 +101,6 @@ struct clockdomain;
}; \
DEFINE_STRUCT_CLK(_name, _parent_names, _ops);
-#define DEFINE_CLK_OMAP_HSDIVIDER(_name, _parent_name, \
- _parent_ptr, _flags, \
- _clksel_reg, _clksel_mask) \
- static const struct clksel _name##_div[] = { \
- { \
- .parent = _parent_ptr, \
- .rates = div31_1to31_rates \
- }, \
- { .parent = NULL }, \
- }; \
- static struct clk _name; \
- static const char *_name##_parent_names[] = { \
- _parent_name, \
- }; \
- static struct clk_hw_omap _name##_hw = { \
- .hw = { \
- .clk = &_name, \
- }, \
- .clksel = _name##_div, \
- .clksel_reg = _clksel_reg, \
- .clksel_mask = _clksel_mask, \
- .ops = &clkhwops_omap4_dpllmx, \
- }; \
- DEFINE_STRUCT_CLK(_name, _name##_parent_names, omap_hsdivider_ops);
-
/* struct clksel_rate.flags possibilities */
#define RATE_IN_242X (1 << 0)
#define RATE_IN_243X (1 << 1)
@@ -248,6 +223,23 @@ void omap2_clk_writel(u32 val, struct clk_hw_omap *clk, void __iomem *reg);
extern u16 cpu_mask;
+/*
+ * Clock features setup. Used instead of CPU type checks.
+ */
+struct ti_clk_features {
+ u32 flags;
+ long fint_min;
+ long fint_max;
+ long fint_band1_max;
+ long fint_band2_min;
+ u8 dpll_bypass_vals;
+ u8 cm_idlest_val;
+};
+
+#define TI_CLK_DPLL_HAS_FREQSEL (1 << 0)
+
+extern struct ti_clk_features ti_clk_features;
+
extern const struct clkops clkops_omap2_dflt_wait;
extern const struct clkops clkops_dummy;
extern const struct clkops clkops_omap2_dflt;
@@ -286,4 +278,6 @@ extern int omap2_clkops_enable_clkdm(struct clk_hw *hw);
extern void omap2_clkops_disable_clkdm(struct clk_hw *hw);
extern void omap_clocks_register(struct omap_clk *oclks, int cnt);
+
+void __init ti_clk_init_features(void);
#endif