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 */
31typedef struct {
32	unsigned int m;
33	unsigned int n;
34	unsigned int fsel;
35	unsigned int m2;
36} dpll_param;
37
38struct 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 */
51extern dpll_param *get_mpu_dpll_param(void);
52extern dpll_param *get_iva_dpll_param(void);
53extern dpll_param *get_core_dpll_param(void);
54extern dpll_param *get_per_dpll_param(void);
55extern dpll_param *get_per2_dpll_param(void);
56
57extern dpll_param *get_36x_mpu_dpll_param(void);
58extern dpll_param *get_36x_iva_dpll_param(void);
59extern dpll_param *get_36x_core_dpll_param(void);
60extern dpll_param *get_36x_per_dpll_param(void);
61extern dpll_param *get_36x_per2_dpll_param(void);
62
63#endif
64