clock.h 909 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /*
  2. *
  3. * (c) 2007 Pengutronix, Sascha Hauer <s.hauer@pengutronix.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_MX31_HCLK_FREQ
  11. #define MXC_HCLK CONFIG_MX31_HCLK_FREQ
  12. #else
  13. #define MXC_HCLK 26000000
  14. #endif
  15. #ifdef CONFIG_MX31_CLK32
  16. #define MXC_CLK32 CONFIG_MX31_CLK32
  17. #else
  18. #define MXC_CLK32 32768
  19. #endif
  20. enum mxc_clock {
  21. MXC_ARM_CLK,
  22. MXC_IPG_CLK,
  23. MXC_IPG_PERCLK,
  24. MXC_CSPI_CLK,
  25. MXC_UART_CLK,
  26. MXC_IPU_CLK,
  27. MXC_ESDHC_CLK,
  28. MXC_I2C_CLK,
  29. };
  30. unsigned int mxc_get_clock(enum mxc_clock clk);
  31. extern u32 imx_get_uartclk(void);
  32. extern void mx31_gpio_mux(unsigned long mode);
  33. extern void mx31_set_pad(enum iomux_pins pin, u32 config);
  34. extern void mx31_set_gpr(enum iomux_gp_func gp, char en);
  35. void mx31_uart1_hw_init(void);
  36. void mx31_uart2_hw_init(void);
  37. void mx31_spi2_hw_init(void);
  38. #endif /* __ASM_ARCH_CLOCK_H */