blob: d591d79aa6f07abdc7361610fbd08c0d9643a087 [file] [log] [blame]
Linus Walleij650c2a22011-05-15 22:53:56 +02001/*
2 * Copyright (C) STMicroelectronics 2009
3 * Copyright (C) ST-Ericsson SA 2010
4 *
5 * Author: Sundar Iyer <sundar.iyer@stericsson.com>
6 * Author: Martin Persson <martin.persson@stericsson.com>
7 *
8 * License Terms: GNU General Public License v2
9 *
10 * PRCM Unit definitions
11 */
12
13#ifndef __MACH_PRCMU_DEFS_H
14#define __MACH_PRCMU_DEFS_H
15
16enum prcmu_cpu_opp {
17 CPU_OPP_INIT = 0x00,
18 CPU_OPP_NO_CHANGE = 0x01,
19 CPU_OPP_100 = 0x02,
20 CPU_OPP_50 = 0x03,
21 CPU_OPP_MAX = 0x04,
22 CPU_OPP_EXT_CLK = 0x07
23};
24enum prcmu_ape_opp {
25 APE_OPP_NO_CHANGE = 0x00,
26 APE_OPP_100 = 0x02,
27 APE_OPP_50 = 0x03,
28};
29
30#endif /* __MACH_PRCMU_DEFS_H */
31
32/*
33 * Copyright (C) STMicroelectronics 2009
34 * Copyright (C) ST-Ericsson SA 2010
35 *
36 * Author: Kumar Sanghvi <kumar.sanghvi@stericsson.com>
37 * Author: Sundar Iyer <sundar.iyer@stericsson.com>
38 * Author: Mattias Nilsson <mattias.i.nilsson@stericsson.com>
39 *
40 * License Terms: GNU General Public License v2
41 *
42 * PRCM Unit f/w API
43 */
44#ifndef __MACH_PRCMU_H
45#define __MACH_PRCMU_H
46
47void __init prcmu_early_init(void);
48int prcmu_abb_read(u8 slave, u8 reg, u8 *value, u8 size);
49int prcmu_abb_write(u8 slave, u8 reg, u8 *value, u8 size);
50int prcmu_set_ape_opp(enum prcmu_ape_opp opp);
51int prcmu_set_cpu_opp(enum prcmu_cpu_opp opp);
52int prcmu_set_ape_cpu_opps(enum prcmu_ape_opp ape_opp,
53 enum prcmu_cpu_opp cpu_opp);
54enum prcmu_ape_opp prcmu_get_ape_opp(void);
55int prcmu_get_cpu_opp(void);
56bool prcmu_has_arm_maxopp(void);
57
58#endif /* __MACH_PRCMU_H */