1 /* SPDX-License-Identifier: GPL-2.0+ */ 2 /* 3 * 4 * (c) 2007 Pengutronix, Sascha Hauer <s.hauer@pengutronix.de> 5 */ 6 7 #ifndef __ASM_ARCH_CLOCK_H 8 #define __ASM_ARCH_CLOCK_H 9 10 #include <common.h> 11 12 #ifdef CONFIG_MX31_HCLK_FREQ 13 #define MXC_HCLK CONFIG_MX31_HCLK_FREQ 14 #else 15 #define MXC_HCLK 26000000 16 #endif 17 18 #ifdef CONFIG_MX31_CLK32 19 #define MXC_CLK32 CONFIG_MX31_CLK32 20 #else 21 #define MXC_CLK32 32768 22 #endif 23 24 enum mxc_clock { 25 MXC_ARM_CLK, 26 MXC_IPG_CLK, 27 MXC_IPG_PERCLK, 28 MXC_CSPI_CLK, 29 MXC_UART_CLK, 30 MXC_IPU_CLK, 31 MXC_ESDHC_CLK, 32 MXC_I2C_CLK, 33 }; 34 35 unsigned int mxc_get_clock(enum mxc_clock clk); 36 extern u32 imx_get_uartclk(void); 37 extern void mx31_gpio_mux(unsigned long mode); 38 extern void mx31_set_pad(enum iomux_pins pin, u32 config); 39 extern void mx31_set_gpr(enum iomux_gp_func gp, char en); 40 41 void mx31_uart1_hw_init(void); 42 void mx31_uart2_hw_init(void); 43 void mx31_spi2_hw_init(void); 44 45 #endif /* __ASM_ARCH_CLOCK_H */ 46