xref: /rk3399_rockchip-uboot/arch/arm/include/asm/arch-omap3/clock.h (revision af1d002f896e7f9cda47c384db31349cf923e95c)
1*af1d002fSLokesh Vutla /*
2*af1d002fSLokesh Vutla  * (C) Copyright 2006-2008
3*af1d002fSLokesh Vutla  * Texas Instruments, <www.ti.com>
4*af1d002fSLokesh Vutla  * Richard Woodruff <r-woodruff2@ti.com>
5*af1d002fSLokesh Vutla  *
6*af1d002fSLokesh Vutla  * This program is free software; you can redistribute it and/or
7*af1d002fSLokesh Vutla  * modify it under the terms of the GNU General Public License as
8*af1d002fSLokesh Vutla  * published by the Free Software Foundation; either version 2 of
9*af1d002fSLokesh Vutla  * the License, or (at your option) any later version.
10*af1d002fSLokesh Vutla  *
11*af1d002fSLokesh Vutla  * This program is distributed in the hope that it will be useful,
12*af1d002fSLokesh Vutla  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13*af1d002fSLokesh Vutla  * MERCHANTABILITY or FITNESS FOR A PARTICULAR /PURPOSE.  See the
14*af1d002fSLokesh Vutla  * GNU General Public License for more details.
15*af1d002fSLokesh Vutla  *
16*af1d002fSLokesh Vutla  * You should have received a copy of the GNU General Public License
17*af1d002fSLokesh Vutla  * along with this program; if not, write to the Free Software
18*af1d002fSLokesh Vutla  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
19*af1d002fSLokesh Vutla  * MA 02111-1307 USA
20*af1d002fSLokesh Vutla  */
21*af1d002fSLokesh Vutla #ifndef _CLOCKS_H_
22*af1d002fSLokesh Vutla #define _CLOCKS_H_
23*af1d002fSLokesh Vutla 
24*af1d002fSLokesh Vutla #define LDELAY		12000000
25*af1d002fSLokesh Vutla 
26*af1d002fSLokesh Vutla #define S12M		12000000
27*af1d002fSLokesh Vutla #define S13M		13000000
28*af1d002fSLokesh Vutla #define S19_2M		19200000
29*af1d002fSLokesh Vutla #define S24M		24000000
30*af1d002fSLokesh Vutla #define S26M		26000000
31*af1d002fSLokesh Vutla #define S38_4M		38400000
32*af1d002fSLokesh Vutla 
33*af1d002fSLokesh Vutla #define FCK_IVA2_ON	0x00000001
34*af1d002fSLokesh Vutla #define FCK_CORE1_ON	0x03fffe29
35*af1d002fSLokesh Vutla #define ICK_CORE1_ON	0x3ffffffb
36*af1d002fSLokesh Vutla #define ICK_CORE2_ON	0x0000001f
37*af1d002fSLokesh Vutla #define FCK_WKUP_ON	0x000000e9
38*af1d002fSLokesh Vutla #define ICK_WKUP_ON	0x0000003f
39*af1d002fSLokesh Vutla #define FCK_DSS_ON	0x00000005
40*af1d002fSLokesh Vutla #define ICK_DSS_ON	0x00000001
41*af1d002fSLokesh Vutla #define FCK_CAM_ON	0x00000001
42*af1d002fSLokesh Vutla #define ICK_CAM_ON	0x00000001
43*af1d002fSLokesh Vutla #define FCK_PER_ON	0x0003ffff
44*af1d002fSLokesh Vutla #define ICK_PER_ON	0x0003ffff
45*af1d002fSLokesh Vutla 
46*af1d002fSLokesh Vutla /* Used to index into DPLL parameter tables */
47*af1d002fSLokesh Vutla typedef struct {
48*af1d002fSLokesh Vutla 	unsigned int m;
49*af1d002fSLokesh Vutla 	unsigned int n;
50*af1d002fSLokesh Vutla 	unsigned int fsel;
51*af1d002fSLokesh Vutla 	unsigned int m2;
52*af1d002fSLokesh Vutla } dpll_param;
53*af1d002fSLokesh Vutla 
54*af1d002fSLokesh Vutla struct dpll_per_36x_param {
55*af1d002fSLokesh Vutla 	unsigned int sys_clk;
56*af1d002fSLokesh Vutla 	unsigned int m;
57*af1d002fSLokesh Vutla 	unsigned int n;
58*af1d002fSLokesh Vutla 	unsigned int m2;
59*af1d002fSLokesh Vutla 	unsigned int m3;
60*af1d002fSLokesh Vutla 	unsigned int m4;
61*af1d002fSLokesh Vutla 	unsigned int m5;
62*af1d002fSLokesh Vutla 	unsigned int m6;
63*af1d002fSLokesh Vutla 	unsigned int m2div;
64*af1d002fSLokesh Vutla };
65*af1d002fSLokesh Vutla 
66*af1d002fSLokesh Vutla /* Following functions are exported from lowlevel_init.S */
67*af1d002fSLokesh Vutla extern dpll_param *get_mpu_dpll_param(void);
68*af1d002fSLokesh Vutla extern dpll_param *get_iva_dpll_param(void);
69*af1d002fSLokesh Vutla extern dpll_param *get_core_dpll_param(void);
70*af1d002fSLokesh Vutla extern dpll_param *get_per_dpll_param(void);
71*af1d002fSLokesh Vutla extern dpll_param *get_per2_dpll_param(void);
72*af1d002fSLokesh Vutla 
73*af1d002fSLokesh Vutla extern dpll_param *get_36x_mpu_dpll_param(void);
74*af1d002fSLokesh Vutla extern dpll_param *get_36x_iva_dpll_param(void);
75*af1d002fSLokesh Vutla extern dpll_param *get_36x_core_dpll_param(void);
76*af1d002fSLokesh Vutla extern dpll_param *get_36x_per_dpll_param(void);
77*af1d002fSLokesh Vutla 
78*af1d002fSLokesh Vutla extern void *_end_vect, *_start;
79*af1d002fSLokesh Vutla 
80*af1d002fSLokesh Vutla #endif
81