clock.h 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. /*
  2. * (C) Copyright 2011
  3. * Stefano Babic, DENX Software Engineering, sbabic@denx.de.
  4. *
  5. * SPDX-License-Identifier: GPL-2.0+
  6. */
  7. #ifndef __ASM_ARCH_CLOCK_H
  8. #define __ASM_ARCH_CLOCK_H
  9. #include <common.h>
  10. #ifdef CONFIG_MX35_HCLK_FREQ
  11. #define MXC_HCLK CONFIG_MX35_HCLK_FREQ
  12. #else
  13. #define MXC_HCLK 24000000
  14. #endif
  15. #ifdef CONFIG_MX35_CLK32
  16. #define MXC_CLK32 CONFIG_MX35_CLK32
  17. #else
  18. #define MXC_CLK32 32768
  19. #endif
  20. enum mxc_clock {
  21. MXC_ARM_CLK,
  22. MXC_AHB_CLK,
  23. MXC_IPG_CLK,
  24. MXC_IPG_PERCLK,
  25. MXC_UART_CLK,
  26. MXC_ESDHC1_CLK,
  27. MXC_ESDHC2_CLK,
  28. MXC_ESDHC3_CLK,
  29. MXC_USB_CLK,
  30. MXC_CSPI_CLK,
  31. MXC_FEC_CLK,
  32. MXC_I2C_CLK,
  33. };
  34. enum mxc_main_clock {
  35. CPU_CLK,
  36. AHB_CLK,
  37. IPG_CLK,
  38. IPG_PER_CLK,
  39. NFC_CLK,
  40. USB_CLK,
  41. HSP_CLK,
  42. };
  43. enum mxc_peri_clock {
  44. UART1_BAUD,
  45. UART2_BAUD,
  46. UART3_BAUD,
  47. SSI1_BAUD,
  48. SSI2_BAUD,
  49. CSI_BAUD,
  50. MSHC_CLK,
  51. ESDHC1_CLK,
  52. ESDHC2_CLK,
  53. ESDHC3_CLK,
  54. SPDIF_CLK,
  55. SPI1_CLK,
  56. SPI2_CLK,
  57. };
  58. u32 imx_get_uartclk(void);
  59. u32 imx_get_fecclk(void);
  60. unsigned int mxc_get_clock(enum mxc_clock clk);
  61. #endif /* __ASM_ARCH_CLOCK_H */