1 /* linux/arch/arm/mach-s5pv310/include/mach/dmc.h
3 * Copyright (c) 2010 Samsung Electronics Co., Ltd.
4 * http://www.samsung.com/
6 * S5PV310 - DMC support
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.
13 #ifndef __ASM_ARCH_DMC_H
14 #define __ASM_ARCH_DMC_H __FILE__
16 #define NUMBER_OF_COUNTER 4
18 #define DEVT0_SEL 0x1000
19 #define DEVT0_ID 0x1010
20 #define DEVT0_IDMSK 0x1014
21 #define DEVT1_ID 0x1110
22 #define DEVT1_IDMSK 0x1114
23 #define DEVT2_ID 0x1210
24 #define DEVT2_IDMSK 0x1214
25 #define DEVT3_ID 0x1310
26 #define DEVT3_IDMSK 0x1314
41 struct s5pv310_dmc_ppmu_hw {
42 void __iomem *dmc_hw_base;
45 unsigned int count[NUMBER_OF_COUNTER];
48 struct s5pv310_cpu_ppmu_hw {
49 void __iomem *cpu_hw_base;
53 unsigned int count[NUMBER_OF_COUNTER];
56 extern void s5pv310_dmc_ppmu_reset(struct s5pv310_dmc_ppmu_hw *ppmu);
57 extern void s5pv310_dmc_ppmu_start(struct s5pv310_dmc_ppmu_hw *ppmu);
58 extern void s5pv310_dmc_ppmu_stop(struct s5pv310_dmc_ppmu_hw *ppmu);
59 extern void s5pv310_dmc_ppmu_setevent(struct s5pv310_dmc_ppmu_hw *ppmu,
61 extern void s5pv310_dmc_ppmu_update(struct s5pv310_dmc_ppmu_hw *ppmu);
63 extern void s5pv310_cpu_ppmu_reset(struct s5pv310_cpu_ppmu_hw *ppmu);
64 extern void s5pv310_cpu_ppmu_start(struct s5pv310_cpu_ppmu_hw *ppmu);
65 extern void s5pv310_cpu_ppmu_stop(struct s5pv310_cpu_ppmu_hw *ppmu);
66 extern void s5pv310_cpu_ppmu_setevent(struct s5pv310_cpu_ppmu_hw *ppmu,
67 unsigned int evt, unsigned int evt_num);
68 extern void s5pv310_cpu_ppmu_update(struct s5pv310_cpu_ppmu_hw *ppmu);
69 #endif /* __ASM_ARCH_DMC_H */