blob: 8b616820dc009278268826e3eb07affab05c5bd2 [file] [log] [blame]
/*
* Copyright (c) 2012 Samsung Electronics Co., Ltd.
* http://www.samsung.com/
*
* EXYNOS PPMU header
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#ifndef __DEVFREQ_EXYNOS_PPMU_H
#define __DEVFREQ_EXYNOS_PPMU_H __FILE__
#include <linux/ktime.h>
struct ppmu_data {
u64 ccnt;
u64 pmcnt0;
u64 pmcnt1;
u64 pmcnt2;
u64 pmcnt3;
};
#ifdef CONFIG_EXYNOS_WD_DVFS
void exynos_read_ppmu(struct ppmu_data *ppmu, void __iomem *ppmu_base,
u32 channel);
void exynos_init_ppmu(void __iomem *ppmu_base, u32 mask_v, u32 mask_a);
void exynos_exit_ppmu(void __iomem *ppmu_base);
void exynos_reset_ppmu(void __iomem *ppmu_base, u32 channel);
void exynos_start_ppmu(void __iomem *ppmu_base);
void exynos_stop_ppmu(void __iomem *ppmu_base);
#else
#define exynos_read_ppmu(a, ...) do {} while(0)
#define exynos_init_ppmu(a, ...) do {} while(0)
#define exynos_exit_ppmu(a, ...) do {} while(0)
#define exynos_reset_ppmu(a, ...) do {} while(0)
#define exynos_start_ppmu(a, ...) do {} while(0)
#define exynos_stop_ppmu(a, ...) do {} while(0)
#endif
#endif /* __DEVFREQ_EXYNOS_PPMU_H */