clock.h 1.1 KB

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