xref: /rk3399_rockchip-uboot/arch/arm/include/asm/arch-mx35/clock.h (revision e7bed5c2b30c894666e43b68a3d7b8e8f91da50d)
1b9bb0531SStefano Babic /*
2b9bb0531SStefano Babic  * (C) Copyright 2011
3b9bb0531SStefano Babic  * Stefano Babic, DENX Software Engineering, sbabic@denx.de.
4b9bb0531SStefano Babic  *
5b9bb0531SStefano Babic  * See file CREDITS for list of people who contributed to this
6b9bb0531SStefano Babic  * project.
7b9bb0531SStefano Babic  *
8b9bb0531SStefano Babic  * This program is free software; you can redistribute it and/or
9b9bb0531SStefano Babic  * modify it under the terms of the GNU General Public License as
10b9bb0531SStefano Babic  * published by the Free Software Foundation; either version 2 of
11b9bb0531SStefano Babic  * the License, or (at your option) any later version.
12b9bb0531SStefano Babic  *
13b9bb0531SStefano Babic  * This program is distributed in the hope that it will be useful,
14b9bb0531SStefano Babic  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15b9bb0531SStefano Babic  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16b9bb0531SStefano Babic  * GNU General Public License for more details.
17b9bb0531SStefano Babic  *
18b9bb0531SStefano Babic  * You should have received a copy of the GNU General Public License
19b9bb0531SStefano Babic  * along with this program; if not, write to the Free Software
20b9bb0531SStefano Babic  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
21b9bb0531SStefano Babic  * MA 02111-1307 USA
22b9bb0531SStefano Babic  */
23b9bb0531SStefano Babic 
24b9bb0531SStefano Babic #ifndef __ASM_ARCH_CLOCK_H
25b9bb0531SStefano Babic #define __ASM_ARCH_CLOCK_H
26b9bb0531SStefano Babic 
279c6c5c06SBenoît Thébaudeau #include <common.h>
289c6c5c06SBenoît Thébaudeau 
299c6c5c06SBenoît Thébaudeau #ifdef CONFIG_MX35_HCLK_FREQ
309c6c5c06SBenoît Thébaudeau #define MXC_HCLK	CONFIG_MX35_HCLK_FREQ
319c6c5c06SBenoît Thébaudeau #else
329c6c5c06SBenoît Thébaudeau #define MXC_HCLK	24000000
339c6c5c06SBenoît Thébaudeau #endif
349c6c5c06SBenoît Thébaudeau 
359c6c5c06SBenoît Thébaudeau #ifdef CONFIG_MX35_CLK32
369c6c5c06SBenoît Thébaudeau #define MXC_CLK32	CONFIG_MX35_CLK32
379c6c5c06SBenoît Thébaudeau #else
389c6c5c06SBenoît Thébaudeau #define MXC_CLK32	32768
399c6c5c06SBenoît Thébaudeau #endif
409c6c5c06SBenoît Thébaudeau 
41b9bb0531SStefano Babic enum mxc_clock {
427c80326dSBenoît Thébaudeau 	MXC_ARM_CLK,
43b9bb0531SStefano Babic 	MXC_AHB_CLK,
44b9bb0531SStefano Babic 	MXC_IPG_CLK,
45b9bb0531SStefano Babic 	MXC_IPG_PERCLK,
46b9bb0531SStefano Babic 	MXC_UART_CLK,
47b9bb0531SStefano Babic 	MXC_ESDHC_CLK,
48b9bb0531SStefano Babic 	MXC_USB_CLK,
49b9bb0531SStefano Babic 	MXC_CSPI_CLK,
50b9bb0531SStefano Babic 	MXC_FEC_CLK,
51*e7bed5c2SMatthias Weisser 	MXC_I2C_CLK,
52b9bb0531SStefano Babic };
53b9bb0531SStefano Babic 
547c80326dSBenoît Thébaudeau enum mxc_main_clock {
557c80326dSBenoît Thébaudeau 	CPU_CLK,
567c80326dSBenoît Thébaudeau 	AHB_CLK,
577c80326dSBenoît Thébaudeau 	IPG_CLK,
587c80326dSBenoît Thébaudeau 	IPG_PER_CLK,
597c80326dSBenoît Thébaudeau 	NFC_CLK,
607c80326dSBenoît Thébaudeau 	USB_CLK,
617c80326dSBenoît Thébaudeau 	HSP_CLK,
627c80326dSBenoît Thébaudeau };
637c80326dSBenoît Thébaudeau 
647c80326dSBenoît Thébaudeau enum mxc_peri_clock {
657c80326dSBenoît Thébaudeau 	UART1_BAUD,
667c80326dSBenoît Thébaudeau 	UART2_BAUD,
677c80326dSBenoît Thébaudeau 	UART3_BAUD,
687c80326dSBenoît Thébaudeau 	SSI1_BAUD,
697c80326dSBenoît Thébaudeau 	SSI2_BAUD,
707c80326dSBenoît Thébaudeau 	CSI_BAUD,
717c80326dSBenoît Thébaudeau 	MSHC_CLK,
727c80326dSBenoît Thébaudeau 	ESDHC1_CLK,
737c80326dSBenoît Thébaudeau 	ESDHC2_CLK,
747c80326dSBenoît Thébaudeau 	ESDHC3_CLK,
757c80326dSBenoît Thébaudeau 	SPDIF_CLK,
767c80326dSBenoît Thébaudeau 	SPI1_CLK,
777c80326dSBenoît Thébaudeau 	SPI2_CLK,
787c80326dSBenoît Thébaudeau };
797c80326dSBenoît Thébaudeau 
80b9bb0531SStefano Babic u32 imx_get_uartclk(void);
81b9bb0531SStefano Babic u32 imx_get_fecclk(void);
82b9bb0531SStefano Babic unsigned int mxc_get_clock(enum mxc_clock clk);
83b9bb0531SStefano Babic 
84b9bb0531SStefano Babic #endif /* __ASM_ARCH_CLOCK_H */
85