1 /*
2  * (C) Copyright 2006-2008
3  * Texas Instruments, <www.ti.com>
4  * Richard Woodruff <r-woodruff2@ti.com>
5  *
6  * SPDX-License-Identifier:	GPL-2.0+
7  */
8 #ifndef _CLOCKS_H_
9 #define _CLOCKS_H_
10 
11 #define LDELAY		12000000
12 
13 #define S12M		12000000
14 #define S13M		13000000
15 #define S19_2M		19200000
16 #define S24M		24000000
17 #define S26M		26000000
18 #define S38_4M		38400000
19 
20 #define FCK_IVA2_ON	0x00000001
21 #define FCK_CORE1_ON	0x03fffe29
22 #define ICK_CORE1_ON	0x3ffffffb
23 #define ICK_CORE2_ON	0x0000001f
24 #define FCK_WKUP_ON	0x000000e9
25 #define ICK_WKUP_ON	0x0000003f
26 #define FCK_DSS_ON	0x00000005
27 #define ICK_DSS_ON	0x00000001
28 #define FCK_CAM_ON	0x00000001
29 #define ICK_CAM_ON	0x00000001
30 
31 /* Used to index into DPLL parameter tables */
32 typedef struct {
33 	unsigned int m;
34 	unsigned int n;
35 	unsigned int fsel;
36 	unsigned int m2;
37 } dpll_param;
38 
39 struct dpll_per_36x_param {
40 	unsigned int sys_clk;
41 	unsigned int m;
42 	unsigned int n;
43 	unsigned int m2;
44 	unsigned int m3;
45 	unsigned int m4;
46 	unsigned int m5;
47 	unsigned int m6;
48 	unsigned int m2div;
49 };
50 
51 /* Following functions are exported from lowlevel_init.S */
52 extern dpll_param *get_mpu_dpll_param(void);
53 extern dpll_param *get_iva_dpll_param(void);
54 extern dpll_param *get_core_dpll_param(void);
55 extern dpll_param *get_per_dpll_param(void);
56 extern dpll_param *get_per2_dpll_param(void);
57 
58 extern dpll_param *get_36x_mpu_dpll_param(void);
59 extern dpll_param *get_36x_iva_dpll_param(void);
60 extern dpll_param *get_36x_core_dpll_param(void);
61 extern dpll_param *get_36x_per_dpll_param(void);
62 extern dpll_param *get_36x_per2_dpll_param(void);
63 
64 #endif
65