1 /* 2 * OMAP2 clock function prototypes and macros 3 * 4 * Copyright (C) 2005-2010 Texas Instruments, Inc. 5 * Copyright (C) 2004-2010 Nokia Corporation 6 */ 7 8 #ifndef __ARCH_ARM_MACH_OMAP2_CLOCK2XXX_H 9 #define __ARCH_ARM_MACH_OMAP2_CLOCK2XXX_H 10 11 #include <linux/clk-provider.h> 12 #include "clock.h" 13 14 unsigned long omap2_table_mpu_recalc(struct clk_hw *clk, 15 unsigned long parent_rate); 16 int omap2_select_table_rate(struct clk_hw *hw, unsigned long rate, 17 unsigned long parent_rate); 18 long omap2_round_to_table_rate(struct clk_hw *hw, unsigned long rate, 19 unsigned long *parent_rate); 20 unsigned long omap2xxx_sys_clk_recalc(struct clk_hw *clk, 21 unsigned long parent_rate); 22 unsigned long omap2_osc_clk_recalc(struct clk_hw *clk, 23 unsigned long parent_rate); 24 void omap2xxx_clkt_dpllcore_init(struct clk_hw *hw); 25 unsigned long omap2_clk_apll54_recalc(struct clk_hw *hw, 26 unsigned long parent_rate); 27 unsigned long omap2_clk_apll96_recalc(struct clk_hw *hw, 28 unsigned long parent_rate); 29 unsigned long omap2xxx_clk_get_core_rate(void); 30 u32 omap2xxx_get_apll_clkin(void); 31 u32 omap2xxx_get_sysclkdiv(void); 32 void omap2xxx_clk_prepare_for_reboot(void); 33 void omap2xxx_clkt_vps_check_bootloader_rates(void); 34 void omap2xxx_clkt_vps_late_init(void); 35 36 #ifdef CONFIG_SOC_OMAP2420 37 int omap2420_clk_init(void); 38 #else 39 #define omap2420_clk_init() do { } while(0) 40 #endif 41 42 #ifdef CONFIG_SOC_OMAP2430 43 int omap2430_clk_init(void); 44 #else 45 #define omap2430_clk_init() do { } while(0) 46 #endif 47 48 extern struct clk_hw *dclk_hw; 49 int omap2_enable_osc_ck(struct clk_hw *hw); 50 void omap2_disable_osc_ck(struct clk_hw *hw); 51 int omap2_clk_apll96_enable(struct clk_hw *hw); 52 int omap2_clk_apll54_enable(struct clk_hw *hw); 53 void omap2_clk_apll96_disable(struct clk_hw *hw); 54 void omap2_clk_apll54_disable(struct clk_hw *hw); 55 56 #endif 57