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