xref: /rk3399_rockchip-uboot/arch/arm/include/asm/arch-mx31/clock.h (revision 326ea986ac150acdc7656d57fca647db80b50158)
186271115SStefano Babic /*
286271115SStefano Babic  *
386271115SStefano Babic  * (c) 2007 Pengutronix, Sascha Hauer <s.hauer@pengutronix.de>
486271115SStefano Babic  *
5*1a459660SWolfgang Denk  * SPDX-License-Identifier:	GPL-2.0+
686271115SStefano Babic  */
786271115SStefano Babic 
886271115SStefano Babic #ifndef __ASM_ARCH_CLOCK_H
986271115SStefano Babic #define __ASM_ARCH_CLOCK_H
1086271115SStefano Babic 
110dc7b82eSBenoît Thébaudeau #include <common.h>
120dc7b82eSBenoît Thébaudeau 
130dc7b82eSBenoît Thébaudeau #ifdef CONFIG_MX31_HCLK_FREQ
140dc7b82eSBenoît Thébaudeau #define MXC_HCLK	CONFIG_MX31_HCLK_FREQ
150dc7b82eSBenoît Thébaudeau #else
160dc7b82eSBenoît Thébaudeau #define MXC_HCLK	26000000
170dc7b82eSBenoît Thébaudeau #endif
180dc7b82eSBenoît Thébaudeau 
190dc7b82eSBenoît Thébaudeau #ifdef CONFIG_MX31_CLK32
200dc7b82eSBenoît Thébaudeau #define MXC_CLK32	CONFIG_MX31_CLK32
210dc7b82eSBenoît Thébaudeau #else
220dc7b82eSBenoît Thébaudeau #define MXC_CLK32	32768
230dc7b82eSBenoît Thébaudeau #endif
240dc7b82eSBenoît Thébaudeau 
259f008bb4SStefano Babic enum mxc_clock {
269f008bb4SStefano Babic 	MXC_ARM_CLK,
279f008bb4SStefano Babic 	MXC_IPG_CLK,
2867f463b0SStefano Babic 	MXC_IPG_PERCLK,
299f008bb4SStefano Babic 	MXC_CSPI_CLK,
309f008bb4SStefano Babic 	MXC_UART_CLK,
31fa47a286SHelmut Raiger 	MXC_IPU_CLK,
32fa47a286SHelmut Raiger 	MXC_ESDHC_CLK,
33e7bed5c2SMatthias Weisser 	MXC_I2C_CLK,
349f008bb4SStefano Babic };
359f008bb4SStefano Babic 
369f008bb4SStefano Babic unsigned int mxc_get_clock(enum mxc_clock clk);
37d321b64dSStefano Babic extern u32 imx_get_uartclk(void);
3886271115SStefano Babic extern void mx31_gpio_mux(unsigned long mode);
3986271115SStefano Babic extern void mx31_set_pad(enum iomux_pins pin, u32 config);
406d0fb3dbSFabio Estevam extern void mx31_set_gpr(enum iomux_gp_func gp, char en);
4186271115SStefano Babic 
4286271115SStefano Babic void mx31_uart1_hw_init(void);
43d121d201SHelmut Raiger void mx31_uart2_hw_init(void);
4486271115SStefano Babic void mx31_spi2_hw_init(void);
4586271115SStefano Babic 
4686271115SStefano Babic #endif /* __ASM_ARCH_CLOCK_H */
47