clock2xxx.h 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. /*
  2. * OMAP2 clock function prototypes and macros
  3. *
  4. * Copyright (C) 2005-2009 Texas Instruments, Inc.
  5. * Copyright (C) 2004-2009 Nokia Corporation
  6. */
  7. #ifndef __ARCH_ARM_MACH_OMAP2_CLOCK_24XX_H
  8. #define __ARCH_ARM_MACH_OMAP2_CLOCK_24XX_H
  9. unsigned long omap2_table_mpu_recalc(struct clk *clk);
  10. int omap2_select_table_rate(struct clk *clk, unsigned long rate);
  11. long omap2_round_to_table_rate(struct clk *clk, unsigned long rate);
  12. unsigned long omap2xxx_sys_clk_recalc(struct clk *clk);
  13. unsigned long omap2_osc_clk_recalc(struct clk *clk);
  14. unsigned long omap2_dpllcore_recalc(struct clk *clk);
  15. int omap2_reprogram_dpllcore(struct clk *clk, unsigned long rate);
  16. unsigned long omap2xxx_clk_get_core_rate(struct clk *clk);
  17. u32 omap2xxx_get_apll_clkin(void);
  18. u32 omap2xxx_get_sysclkdiv(void);
  19. void omap2xxx_clk_prepare_for_reboot(void);
  20. /* REVISIT: These should be set dynamically for CONFIG_MULTI_OMAP2 */
  21. #ifdef CONFIG_ARCH_OMAP2420
  22. #define OMAP_CM_REGADDR OMAP2420_CM_REGADDR
  23. #define OMAP24XX_PRCM_CLKOUT_CTRL OMAP2420_PRCM_CLKOUT_CTRL
  24. #define OMAP24XX_PRCM_CLKEMUL_CTRL OMAP2420_PRCM_CLKEMUL_CTRL
  25. #else
  26. #define OMAP_CM_REGADDR OMAP2430_CM_REGADDR
  27. #define OMAP24XX_PRCM_CLKOUT_CTRL OMAP2430_PRCM_CLKOUT_CTRL
  28. #define OMAP24XX_PRCM_CLKEMUL_CTRL OMAP2430_PRCM_CLKEMUL_CTRL
  29. #endif
  30. extern void __iomem *prcm_clksrc_ctrl;
  31. extern struct clk *dclk;
  32. extern const struct clkops clkops_omap2430_i2chs_wait;
  33. extern const struct clkops clkops_oscck;
  34. extern const struct clkops clkops_apll96;
  35. extern const struct clkops clkops_apll54;
  36. #endif