clk.h 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. /*
  2. * (C) Copyright 2007
  3. * Stelian Pop <stelian@popies.net>
  4. * Lead Tech Design <www.leadtechdesign.com>
  5. * Copyright (C) 2009 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
  6. *
  7. * SPDX-License-Identifier: GPL-2.0+
  8. */
  9. #ifndef __ASM_ARM_ARCH_CLK_H__
  10. #define __ASM_ARM_ARCH_CLK_H__
  11. #include <asm/arch/hardware.h>
  12. #include <asm/global_data.h>
  13. static inline unsigned long get_cpu_clk_rate(void)
  14. {
  15. DECLARE_GLOBAL_DATA_PTR;
  16. return gd->arch.cpu_clk_rate_hz;
  17. }
  18. static inline unsigned long get_main_clk_rate(void)
  19. {
  20. DECLARE_GLOBAL_DATA_PTR;
  21. return gd->arch.main_clk_rate_hz;
  22. }
  23. static inline unsigned long get_mck_clk_rate(void)
  24. {
  25. DECLARE_GLOBAL_DATA_PTR;
  26. return gd->arch.mck_rate_hz;
  27. }
  28. static inline unsigned long get_plla_clk_rate(void)
  29. {
  30. DECLARE_GLOBAL_DATA_PTR;
  31. return gd->arch.plla_rate_hz;
  32. }
  33. static inline unsigned long get_pllb_clk_rate(void)
  34. {
  35. DECLARE_GLOBAL_DATA_PTR;
  36. return gd->arch.pllb_rate_hz;
  37. }
  38. static inline u32 get_pllb_init(void)
  39. {
  40. DECLARE_GLOBAL_DATA_PTR;
  41. return gd->arch.at91_pllb_usb_init;
  42. }
  43. static inline unsigned long get_macb_pclk_rate(unsigned int dev_id)
  44. {
  45. return get_mck_clk_rate();
  46. }
  47. static inline unsigned long get_usart_clk_rate(unsigned int dev_id)
  48. {
  49. return get_mck_clk_rate();
  50. }
  51. static inline unsigned long get_lcdc_clk_rate(unsigned int dev_id)
  52. {
  53. return get_mck_clk_rate();
  54. }
  55. static inline unsigned long get_spi_clk_rate(unsigned int dev_id)
  56. {
  57. return get_mck_clk_rate();
  58. }
  59. static inline unsigned long get_twi_clk_rate(unsigned int dev_id)
  60. {
  61. return get_mck_clk_rate();
  62. }
  63. static inline unsigned long get_mci_clk_rate(void)
  64. {
  65. return get_mck_clk_rate();
  66. }
  67. int at91_clock_init(unsigned long main_clock);
  68. void at91_periph_clk_enable(int id);
  69. #endif /* __ASM_ARM_ARCH_CLK_H__ */