clock.h 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. /*
  2. *
  3. * (c) 2009 Ilya Yanok, Emcraft Systems <yanok@emcraft.com>
  4. *
  5. * Modified for mx25 by John Rigby <jrigby@gmail.com>
  6. *
  7. * SPDX-License-Identifier: GPL-2.0+
  8. */
  9. #ifndef __ASM_ARCH_CLOCK_H
  10. #define __ASM_ARCH_CLOCK_H
  11. #include <common.h>
  12. #ifdef CONFIG_MX25_HCLK_FREQ
  13. #define MXC_HCLK CONFIG_MX25_HCLK_FREQ
  14. #else
  15. #define MXC_HCLK 24000000
  16. #endif
  17. #ifdef CONFIG_MX25_CLK32
  18. #define MXC_CLK32 CONFIG_MX25_CLK32
  19. #else
  20. #define MXC_CLK32 32768
  21. #endif
  22. enum mxc_clock {
  23. /* PER clocks (do not change order) */
  24. MXC_CSI_CLK,
  25. MXC_EPIT_CLK,
  26. MXC_ESAI_CLK,
  27. MXC_ESDHC1_CLK,
  28. MXC_ESDHC2_CLK,
  29. MXC_GPT_CLK,
  30. MXC_I2C_CLK,
  31. MXC_LCDC_CLK,
  32. MXC_NFC_CLK,
  33. MXC_OWIRE_CLK,
  34. MXC_PWM_CLK,
  35. MXC_SIM1_CLK,
  36. MXC_SIM2_CLK,
  37. MXC_SSI1_CLK,
  38. MXC_SSI2_CLK,
  39. MXC_UART_CLK,
  40. /* Other clocks */
  41. MXC_ARM_CLK,
  42. MXC_AHB_CLK,
  43. MXC_IPG_CLK,
  44. MXC_CSPI_CLK,
  45. MXC_FEC_CLK,
  46. MXC_CLK_NUM
  47. };
  48. unsigned int mxc_get_clock(enum mxc_clock clk);
  49. #define imx_get_uartclk() mxc_get_clock(MXC_UART_CLK)
  50. #define imx_get_fecclk() mxc_get_clock(MXC_FEC_CLK)
  51. #endif /* __ASM_ARCH_CLOCK_H */