soc: samsung: Split ASV drivers into ARM and ARM64 parts
[platform/kernel/linux-exynos.git] / drivers / soc / samsung / exynos5433-asv.h
1 /* linux/arch/arm/mach-exynos/include/mach/asv-exynos5433.h
2 *
3 * Copyright (c) 2014 Samsung Electronics Co., Ltd.
4 *              http://www.samsung.com/
5 *
6 * EXYNOS5433 - Adaptive Support Voltage Header file
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License version 2 as
10 * published by the Free Software Foundation.
11 */
12
13 #ifndef EXYNOS5433_ASV_H__
14 #define EXYNOS5433_ASV_H__
15
16 #include <linux/errno.h>
17
18 struct exynos_asv;
19
20 #ifdef CONFIG_EXYNOS_ASV_ARM64
21 int exynos5433_asv_init(struct exynos_asv *asv);
22 #else
23 static inline int exynos5433_asv_init(struct exynos_asv *asv)
24 {
25         return -ENOTSUPP;
26 }
27 #endif
28
29 enum sysc_dvfs_level {
30         SYSC_DVFS_L0 = 0,
31         SYSC_DVFS_L1,
32         SYSC_DVFS_L2,
33         SYSC_DVFS_L3,
34         SYSC_DVFS_L4,
35         SYSC_DVFS_L5,
36         SYSC_DVFS_L6,
37         SYSC_DVFS_L7,
38         SYSC_DVFS_L8,
39         SYSC_DVFS_L9,
40         SYSC_DVFS_L10,
41         SYSC_DVFS_L11,
42         SYSC_DVFS_L12,
43         SYSC_DVFS_L13,
44         SYSC_DVFS_L14,
45         SYSC_DVFS_L15,
46         SYSC_DVFS_L16,
47         SYSC_DVFS_L17,
48         SYSC_DVFS_L18,
49         SYSC_DVFS_L19,
50         SYSC_DVFS_L20,
51         SYSC_DVFS_L21,
52         SYSC_DVFS_L22,
53         SYSC_DVFS_L23,
54         SYSC_DVFS_L24,
55 };
56
57 #define SYSC_DVFS_END_LVL_EGL           SYSC_DVFS_L24
58 #define SYSC_DVFS_END_LVL_KFC           SYSC_DVFS_L19
59 #define SYSC_DVFS_END_LVL_G3D           SYSC_DVFS_L10
60 #define SYSC_DVFS_END_LVL_MIF           SYSC_DVFS_L10
61 #define SYSC_DVFS_END_LVL_INT           SYSC_DVFS_L7
62 #define SYSC_DVFS_END_LVL_DISP          SYSC_DVFS_L4
63 #define SYSC_DVFS_END_LVL_CAM           SYSC_DVFS_L11
64 #define MAX_ASV_GROUP                   16
65
66 enum sysc_dvfs_sel {
67         SYSC_DVFS_EGL,
68         SYSC_DVFS_KFC,
69         SYSC_DVFS_INT,
70         SYSC_DVFS_MIF,
71         SYSC_DVFS_G3D,
72         SYSC_DVFS_CAM,
73         SYSC_DVFS_NUM
74 };
75
76 #endif /* EXYNOS5433_ASV_H__ */